Las 10 situaciones que se presentan con mayor frecuencia en todo desarrollo de software y en especial en el mundo que de momento nos toca vivir, el desarrollo web, son los siguientes:
1. Presión excesiva en el tiempo de ejecución.
2. Cambios en las especificaciones del proyecto.
3. Ausencia de especificaciones técnicas.
4. Ausencia de un proyecto documentado o correctamente documentado.
5. y 6. Demasiadas innovaciones superficiales.
7. Añadir en el desarrollo funcionalidades que no estaban originalmente. (features creep ó requirements creep).
8. Ausencia del método científico.
9. Ignorar lo obvio.
10. Comportamiento poco ético.
A continuación aparecen estos 10 errores más comunes y las medidas que habría que adoptar para evitarlos:
1. Estimación del proyecto con tiempos demasiado ajustados:
- Realizar estimaciones objetivas.
- Asignar más recursos.
- Utilizar mejores recursos.
- Priorizar los requerimientos.
- Requerimientos no especificados.
- Versiones de definitivas por fases.
2. Cambios en las especificaciones:
- Desarrollo iterativo.
- Modificar el control de la gestión.
3. Ausencia de especificaciones técnicas:
- Desarrollo de las especificaciones iniciales.
- Gestión correcta de las actualizaciones en lo relativo a las epsecificaciones.
- Gestión a nivel de base de las especificaciones.
- Tener un arquitecto del software.
4. Ausencia de un proyecto documentado o correctamente documentado:
- Desarrollo de un plan inicial.
- Llevar registro periódico y actualizado del proyecto.
- Gestión de las líneas maestras del plan de proyecto.
- La designación de un jefe de proyectos capacitado.
5. y 6. Demasiadas innovaciones superficiales:
- Estudio de los fundamentos.
- Análisis de impacto.
- Una gestión continua de los riesgos.
- Tener un arquitecto de software.
7. Añadir en el desarrollo funcionalidades que no estaban originalmente proyectadas:
- Requerimiento de los fundamentos iniciales.
- Gestión de los fundamentos del proyecto.
- Gestión de los riesgos del proyecto.
- Tener un arquitecto del software.
8. No utilizar el método científico:
- Realizar prototipos.
- Desarrollo incremental.
- Medición de las prestacines técnicas.
9. Ignorar lo obvio:
- Los cálculos que van por detrás.
- Asimilación de las lecciones aprendidas.
10. Comportamiento poco ético:
- Ambientes de trabajo ético y de cultura de trabajo.
- Estar adherido al código de ética.
Estos 10 mandamientos que no deberían violarse en el desarrollo de todo software, me los proporcionó Carlos Costa, procedentes de un artículo de la publicación periódica del IEEE.