Después de trabajar con diferentes equipos, descubrí varias reglas de desarrollo que quiero compartir con ustedes.
Diseño
- Es mejor pasar mucho tiempo en la etapa de diseño de un sistema de información que perder tiempo y dinero más adelante.
- Los errores en el diseño pueden implicar: retrasar el tiempo, múltiples costos del proyecto.
- El diseño de un sistema es completamente de principio a fin (sin agregar funcionalidad adicional) o proporciona modularidad:
- Desarrollo y perfeccionamiento del concepto por completo.
- desarrollo de especificaciones técnicas muy detalladas.
- desarrollo de un esquema de base de datos
- desarrollo de script de controlador
- desarrollo de diseño de plantillas de presentación
- desarrollo de un escenario de comportamiento del usuario (también conocido como escenario de prueba)
- CEO
- ... - Es mejor crear una licitación para la creación de documentación del proyecto y especificaciones técnicas, y luego realizar una auditoría. Quizás en la etapa inicial gastará más dinero, pero puede ahorrar muchas veces más en el futuro.
Desarrollo
1. En el desarrollo, use soluciones listas para usar y estables: esto significa que para trabajar con la base de datos es mejor usar el marco MVC (Model View Controller) o ORM (Object Relational Mapping) o AR (Active Record), y para trabajar con scripts CRUD estándar ( Crear lectura, actualización, eliminación): un generador que crea código sin errores.
Nadie apreciará su habilidad como desarrollador de bajo nivel, pero si el sistema funciona de manera estable y sin errores, será una gran ventaja.
2. Documentar el código.
3. Crear buena y clara documentación técnica.
4. Use una ventana acoplable.
5. Utilice sistemas automáticos de montaje de versiones.
Organización del trabajo en equipo
- Use sistemas de control de versiones, usé git en mi trabajo.
- Divida el trabajo de los desarrolladores en diferentes módulos funcionales, de modo que cuando las ramas del sistema de control de versiones se fusionen en una sola, no haya conflictos.
- No participe en una programación extrema en la rodilla cuando le lleve de varias horas a varios días resolver un problema.
Establezca tareas durante un mínimo de una semana y un máximo de un mes hasta la próxima compilación.
Prueba
- No utilice sistemas de corrección y configuración de tareas para probadores.
- Utilice pruebas automatizadas: cree un módulo de prueba de software que se ejecutará cada vez antes del ensamblaje y pruebe todo el sistema automáticamente.
Ciclo de desarrollo
Después de haber creado una tarea técnica de alta calidad, puede comenzar a desarrollarse, luego le daré un ciclo repetitivo:
1. Establecer tareas para desarrolladores en varios sistemas para monitorear la ejecución de tareas de modo que no se afecten el código del otro, por ejemplo, dividiendo el sistema en módulos, cada uno trabajando en su propia rama.
Las tareas deben completarse dentro de una semana.
Después de completar cada tarea, el desarrollador debe ejecutar pruebas de software automatizadas que cubran todo el sistema.
2. Todos los lunes, el código de cada desarrollador se fusiona con la rama principal.
Después de que el resultado del trabajo de todo el equipo aparece en la rama principal, cada uno de los desarrolladores copia la rama principal para sí mismo.
Luego, el ciclo se repite.
Con este enfoque
- El número de errores resultantes de las tareas será mínimo.
- Puede crear un mejor producto de software.
- Ahorrará tiempo
- Ahorrarás dinero.
- El equipo trabajará más rápido, más eficientemente, más armoniosamente (sin conflicto en términos de cambiar el código).
- Podrá completar las tareas a tiempo.
- Las tareas completadas serán mejores.
- No tiene que realizar tareas adicionales, como: cambiar el diseño, la funcionalidad u otra cosa durante el transcurso del trabajo.
Lo que hará que el resultado sea más predecible, simple y comprensible.
¡He estado programando durante más de 10 años, todos proyectos interesantes y exitosos!