¿Cuáles son los problemas organizativos que deben resolverse para cada nuevo proyecto de software?

Yo diría que los puntos principales a resolver son:

  1. Requisitos funcionales : definición de lo que debe hacer la aplicación y las reglas, quiénes son los usuarios y qué sistemas implica.
  2. Miembros del equipo : definición de quién hace qué según su experiencia y capacidades y según lo que el proyecto necesita. La falta de claridad puede retrasar y disminuir la productividad, a veces las personas tienden a permanecer en una especie de indecisión ociosa, por lo que un líder / gerente de equipo necesita hacer las cosas.
  3. Tecnologías y herramientas, y arquitectura : definición de qué usar para implementar y los costos asociados, de acuerdo con las necesidades de un proyecto. Una regla importante es mantenerlo lo más simple posible, para que no sea demasiado difícil mantener o hacer las cosas. Además, asegúrese de tener documentación, herramientas de venta de entradas, control de origen.
  4. Proceso de desarrollo : asegúrese de definir esto claramente, con un margen estimado de plazos. Hay algunas otras metodologías de desarrollo que son menos tradicionales y es bueno que la persona que define el proceso pueda leer algunas cosas o tenga algo de experiencia. Además, asegúrese de mantener las cosas simples y fáciles, ya que demasiados detalles en los procesos pueden ralentizar las cosas y los miembros del equipo no siempre los recordarán todos.

Destacaría la importancia de la documentación (funcional y técnica) y el control de la fuente, ya que sin este desarrollo puede ser caótico. La documentación sirve como guía y no querrá que los miembros del equipo se confundan sobre ciertos detalles y tengan que preguntarle a otra persona que pueda estar de vacaciones, que ya no esté en el proyecto, o que no recuerde los detalles y la necesidad de preguntarle a otra persona.

Si es un proyecto de código abierto, hay muchos problemas. Debe averiguar qué va a usar para el control del código fuente, qué acuerdo de licencia va a usar para el código y si va a requerir que los contribuyentes firmen el acuerdo de un contribuyente para enviar parches. Algunos grupos de personas tendrán los derechos para cambiar el código y otras no, y usted debe resolverlo.

Luego está la pequeña cuestión de documentación y especificaciones. Si el código difiere de los documentos, ¿qué está mal? ¿Quién puede cambiar los documentos de diseño? ¿Confía en las personas que tiene trabajando con usted para hacer las contribuciones que vean mejor, o va a resistir cuando refactoricen su arquitectura cristalina en una gran bola de barro?

Ni siquiera he comenzado a abordar qué idioma vas a usar, qué paquetes vas a incorporar de otras personas, cómo vas a estar al día con los cambios de lo que estás haciendo. .

Mucho más por supuesto.

Cualquier organización que ejecute proyectos de desarrollo de software ya debe tener un proceso de gestión de proyectos y ciclo de vida de desarrollo de software definido que debe seguir.

En cuyo caso, los grandes problemas que debe resolver un gerente de proyecto son

  • Formar un equipo con la combinación necesaria de habilidades técnicas y sociales.
  • Construyendo relaciones y confianza con los principales interesados
  • Si se trata de un proyecto en cascada que define el alcance
  • Si es un proyecto ágil que está consiguiendo el presupuesto

Si está en una organización inmadura sin procesos claros, buena suerte: ¡la necesitará! En este caso, el consejo dado en las otras respuestas le dará un buen punto de partida.