23 enero 2006

Ciclos de vida de desarrollo de software

El software no es algo que aparece como por arte de magia en las estanterias de las tiendas, junto con un manual de uso. Aunque algunas personas lo crean. Cuesta mucho esfuerzo desarrollar software. Las técnicas de ingeniería mejoran el proceso, aunque la calidad de muchos productos suele ser su punto más débil.

La sensación que tiene un profano es que con cualquier cursillo de CCC (sin desmerecer los conocimientos que allí puedan adquirirse). Como decía un Ingeniero en Informática al que conocí hace un tiempo: "Programar es fácil. Programar bien es una de las actividades intelectuales más difíciles que existen".

Via Microsiervos he llegado a un test geek, y en una de las preguntas aparecía este ciclo de desarrollo de software, que creo se aproxima en algunas cosas mucho a la realidad ... Allá va:
  1. El programador desarrolla código que piensa que está libre de bugs.
  2. El producto se prueba. Aparecen 20 bugs.
  3. El programador resuelve 10 bugs e intenta explicar al Departamento de Pruebas que los otros 10 errores no son realmente errores.
  4. El Departamento de Pruebas encuentra que 5 de los 10 bugs resueltos no funcionan y descubre 15 bugs nuevos
  5. Ver punto 3
  6. Ver punto 4
  7. Ver punto 5
  8. Ver punto 6
  9. Ver punto 7
  10. Ver punto 8
  11. Debido a la presión del Departamento de Marketing y a un anuncio de producto extramadamente temprano (basado en un calendario de proyecto excesivamente optimista) el producto se libera.
  12. Los usuarios encuentran 137 nuevos errores.
  13. El programador, una vez cobrado su cheque por el trabajo, desaparece sin dejar rastro.
  14. Un nuevo equipo que se encargará del desarrollo resuelve casi tiodos los 137 bugs, pero introduce 456 nuevos.
  15. El primer programador envia una postal al (mal pagado) Deparatmento de Pruebas desde las islas Fidji. Todo el Departamento de Pruebas se despide.
  16. La empresa es comprada emdiante una OPA hostil por la competencia, que financia la operación con los beneficios de su última versión de producto, que tenía 783 bugs.
  17. El nuevo Comité de Dirección contrata un nuevo Director General, que se encarga de seleccionar un nuevo programador que rehará todo el código desde cero.
  18. El programador desarrolla código que piensa que está libre de bugs...
Ahora, si no sabes lo que es un bug, puedes mirarlo en Microsiervos.


1 comentario:

Unknown dijo...

Si señor, como la vida misma.

De todas formas el mayor error que solemos cometer todos los que alguna vez nos hemos dedicado a programar es caer es el paso 17 y empezar de CERO.

Llega un momento que perdemos el control del código y hacemos el falso supuesto de que empezando de cero no se reproduciría la situación, pero así sólo conseguimos desperdiciar todo el esfuerzo y el tiempo de depuración de errores gastado a este ese momento.