Tras leer 10 Problems and Some Antidotes for Software Projects (2,9 Mb. en formato PDF), de Richard E. Fairley y Mary Jane Willshire, que aunque algo antiguo sigue estando muy vigente, me he encontrado con una genial tabla de antídotos a estos 10 problemas en los desarrollos de software, con lo que inevitablemente nos vamos a ir encontrando.

En realidad son consejos obvios, pero que tendemos a olvidar cuando estamos metidos de lleno en ellos, por lo que es útil tenerlos a mano.

1. Presión excesiva de calendario:
– Estimaciones objetivas.
– Más recursos.
– Mejores recursos.
– Requerimientos priorizados.
– Requerimientos sin alcances.
– Entregas por fases.

2. Necesidades cambiantes:
– Desarrollo iterativo.
– Cambio de la gestión en el control/línea base.

3. La falta de especificaciones técnicas:
– Creación de las especificaciones iniciales.
– Actualización de las especificaciones en base a eventos.
– Gestión de las especificaciones de la linea base.
– Un arquitecto de software asignado.

4. Falta del documento de plan de proyecto:
– Creación del documento de plan de proyecto inicial.
– Actualización del plan de proyecto de forma periódica y en base a eventos.
– Línea de base de gestión del plan del proyecto.
– Un jefe de proyecto asignado.

5. y 6. Innovaciones excesivas y secundarias:
– Control de la linea base.
– Evaluación de impacto.
– Gestión de riesgo de forma continuada.
– Un arquitecto de software asignado.

7. Los requisitos cambian:
– Linea base con los requisitos iniciales.
– Gestión de la linea base.
– Gestión del riesgo.
– Un arquitecto de software asignado.

8. Falta de métodos científicos:
– Prototipos.
– Desarrollo incremental.
– Medición del rendimiento técnico.

9. Ignorar lo obvio:
– Cálculos a grosso modo.
– Asimilación de lecciones aprendidas.

10. Comportamiento poco ético:
– Implantar una cultura de trabajo ética.
– Adhesión personal al código ético.