Algunas personas han elegido algunas prácticas de desarrollo ineficaces con tanta frecuencia, con resultados tan predecibles y malos que merecen ser llamados "errores clásicos" ...
Esta sección enumera tres docenas de errores clásicos. He visto personalmente cada uno de estos errores cometidos al menos una vez, y los he cometido yo mismo ...
El denominador común en esta lista es que no necesariamente obtendrá un desarrollo rápido si evita el error, pero definitivamente obtendrá un desarrollo lento si no lo evita ...
Para facilitar la referencia, la lista se ha dividido entre las dimensiones de velocidad de desarrollo de personas, procesos, productos y tecnología.
Personas
# 1: Motivación socavada ...
# 2: personal débil ...
# 3: Empleados con problemas no controlados ...
# 4: Heroica ...
# 5: Agregar personas a un proyecto tardío ...
# 6: oficinas ruidosas y abarrotadas ...
# 7: Fricción entre desarrolladores y clientes ...
# 8: Expectativas poco realistas ...
# 9: Falta de patrocinio efectivo del proyecto ...
# 10: Falta de participación de los interesados ...
# 11: Falta de entrada del usuario ...
# 12: Política colocada sobre la sustancia ...
# 13: ilusiones ...
Proceso
# 14: Horarios demasiado optimistas ...
# 15: Gestión de riesgos insuficiente ...
# 16: Falla del contratista ...
# 17: Planificación insuficiente ...
# 18: Abandono de la planificación bajo presión ...
# 19: Tiempo perdido durante el front-end difuso. El "front end difuso" es el tiempo antes de que comience el proyecto, el tiempo que normalmente se pasa en el proceso de aprobación y presupuesto ...
# 20: Actividades ascendentes con cambios cortos ... También conocido como "saltar a la codificación" ...
# 21: Diseño inadecuado ...
# 22: Garantía de calidad a corto plazo ...
# 23: Controles de gestión insuficientes ...
# 24: convergencia prematura o demasiado frecuente. Poco antes de que se programe el lanzamiento de un producto, hay un impulso para preparar el producto para su lanzamiento: mejorar el rendimiento del producto, imprimir la documentación final, incorporar los ganchos del sistema de ayuda final, pulir el programa de instalación, eliminar la funcionalidad que no será listo a tiempo, y así sucesivamente ...
# 25: omitiendo las tareas necesarias de las estimaciones ...
# 26: Planeando ponerme al día más tarde ...
# 27: Programación de código como el infierno. Algunas organizaciones piensan que la codificación rápida, suelta y lista para usar es una ruta para un desarrollo rápido ...
Producto
# 28: Requisitos de chapado en oro. Algunos proyectos tienen más requisitos de los que necesitan desde el principio ...
# 29: Característica de arrastre ...
# 30: Revelador dorado. Los desarrolladores están fascinados por las nuevas tecnologías y a veces están ansiosos por probar nuevas características ..., ya sea que se requiera o no en su producto ...
# 31: Empújame, tira de mí negociación ...
# 32: Desarrollo orientado a la investigación. Seymour Cray, el diseñador de las supercomputadoras Cray, dice que no intenta exceder los límites de ingeniería en más de dos áreas a la vez porque el riesgo de falla es demasiado alto (Gilb 1988). Muchos proyectos de software podrían aprender una lección de Cray ...
Tecnología
# 33: Síndrome de bala de plata ...
# 34: Ahorros sobreestimados de nuevas herramientas o métodos ... Un caso especial de ahorros sobreestimados surge cuando los proyectos reutilizan el código de proyectos anteriores ...
# 35: Cambio de herramientas en medio de un proyecto ...
# 36: Falta de control automatizado del código fuente ...