¿Cuál es la mejor manera de planificar proyectos de programación y software? ¿Cómo elegir tecnologías y dividir los problemas en trozos?

Esta pregunta está muy basada en la opinión. Así que a continuación es solo mi humilde opinión (en mi humilde opinión).

  • La mejor manera de planificar.

La mejor manera es la que mejor funcione para usted (o su equipo). Hoy en día, la mayoría de las empresas utilizan alguna metodología ágil (Scrum, XP, …) pero intentaré mostrar las partes más importantes y es lo que uso.

1. Cree un MVP (producto mínimo viable), la idea es poner en el proyecto lo que es necesario ahora .

2. Trabajar con ciclos. Un ciclo puede ser de 1 semana, 2 semanas, 1 mes. Esto depende completamente de la complejidad de su proyecto y de las capacidades del equipo.

3. Divida su MVP en actividades que se pueden lograr en un solo ciclo. Si una actividad es demasiado grande, divide.

  • Cómo elegir tecnologías.

Las tecnologías deben basarse en la habilidad de su equipo porque es lo que les funciona. Entonces, hace las cosas.

Pero digamos que su equipo no tiene habilidades en cierto campo en que una tecnología es necesaria. Bueno, entonces, alguien interesado en este campo debería investigarlo. Señalará los pros y los contras de las tecnologías y tratará de convencer al equipo de por qué usar ciertas tecnologías (si algunas le interesan). Entonces, al menos su equipo tendrá una visión clara de las opciones).

  • Cómo dividir los problemas en trozos.

Necesidad La parte del problema que necesita ahora es la parte que es importante. Luego, después de la conclusión de cada parte, usted elige qué hacer a continuación. Principio YAGNI (No lo vas a necesitar).

Primero divido el problema en tareas que quiero lograr y luego sigo desglosándolas hasta que llegue al nivel de clase y función. Tendré diferentes clases para diferentes tareas u objetos.