Evidencias del desarrollo de software
Juan Palacio ha escrito una entrada con su selección personal de las 55 evidencias de la Ing. de software del libro Facts and Fallacies of Software Engineering (Robert L. Glass).
Algunos de los puntos los he vivido en mis carnes, por lo que las reafirmo como evidencias, entre los que destacaría:
Los mejores programadores son 28 veces mejor que los peores. Dado que las diferencias de paga no alcanzan esta proporción, representan la mayor ganga en el campo del software. No se si la proporción real es esa, pero sí que hay muchísima diferencia.
Añadir personal a un proyecto retrasado lo retrasa más. Me ha pasado y lo he visto varias veces, muy pocas veces es una buena solución.
El entorno de trabajo ejerce gran impacto en la productividad y en la calidad del producto. Completamente de acuerdo.
Normalmente las estimaciones se realizan al comenzar el ciclo de vida. Tiene un cierto sentido, si no fuera porque de esta forma se hace la estimación antes de definir los requisitos, y por lo tanto antes de conocer el problema. Algunas veces cuando luego llegan los requisitos y la estimación final del proyecto, pasa lo que pasa.
En la sección de reutilización completamente de acuerdo con todas esas evidencias, pero destaco una que a veces parece no serlo tanto: La modificación de código reutilizable es especialmente generadora de errores. Si se va a revisar más del 10 o 25% de un componente, es mejor rehacerlo de nuevo.
Una de las dos principales causas de proyectos desbocados es la inestabilidad de los requisitos. Esa inestabilidad se suele traducir en ajustes en los requisitos y nuevas funcionalidades, que raro ;) lo que me lleva a: El error más difícil de corregir de los requisitos es: requisitos insuficientes.
Cuando el programador cree que lo ha probado a fondo, normalmente solo ha ejecutado un 50 0 60% de las trayectorias lógicas. Empleando soporte automatizado como analizadores, puede alcanzarse hasta el 80 ´0 90%. Es prácticamente imposible probar el software hasta el nivel del 100%. ¿Alguna vez alguien ha conseguido el 100%? Hay errores que pueden aparecer meses después de la entrega al cliente.