El
desarrollo del software
es el acto o arte de trabajar para producir o crear software. El objetivo
principal es satisfacer algunas necesidades de los usuarios potenciales.
El desarrollo de software es también el proceso de escribir y mantener
código, incluida la investigación, diseño, implementación, modificación del
fuente, reingeniería,verificación, mantenimiento, documentación de software,
etc.
Como provengo de la ingeniería industrial, cuando empecé a trabajar en la
ingeniería de software me gustaba
el modelo de desarrollo en cascada
que tiene sus raíces en las industrias manufacturera y de la construcción, en
las que los cambios posteriores son muy costosos, por lo que los procesos
iniciales de diseño deben ser muy precisos y libres de errores.
Las primeras fases en el proceso de desarrollo de software implican a
departamentos como marketing, ingeniería, I+D y gestión general, pero
normalmente no participan lo suficiente en la especificación de requerimientos
al principio del proceso de desarrollo del proyecto, de modo que las
necesidades de los clientes o usuarios finales no son bien definidas al
principio.
El
modelo en cascada
es fácil de entender porque es un modelo secuencial, pero requiere que los
procesos de desarrollo sean tan rigurosos como en el caso de la arquitectura
de edificios y esto no suele ocurrir en la arquitectura de software.
Por esta razón no se puede pasar de un proceso a otro, como en una cascada
incapaz de dar marcha atrás, porque los programas de aplicación de software
tienden a ser adaptados durante todo su ciclo de vida para satisfacer las
necesidades de los usuarios, con la participación del cliente tanto como sea
posible, y deben ser fáciles de modificar como lo debe ser un
edificio inteligente.
El libro
The Mythical Man-Month
nos muestra los problemas de ingeniería de software, explicando claramente las
dificultades de desarrollo de software, principalmente:
1) Añadir personal a un proyecto retrasado lo demorará aún más (¡aumentan los
meses-hombre!)
2) Después de que los usuarios usen nuestro software de aplicación es cuando
saben lo que quieren.
Como siempre hay una fecha límite y los cambios son finitos, si no el
desarrollo no puede llevarse a cabo, surge la necesidad de las versiones en el
ciclo de vida del software.
Un buen código de software debe estar cambiando constantemente para asegurar
que se consigue la más simple y mejor aplicación posible que refleje las
necesidades actuales del usuario.
Para mi proyecto de saber cómo hacer un
Calendario Perpetuo, no añadiré más meses-hombre que los míos para no convertirlo en un
desarrollo perpetuo.
Gracias por tu atención.
English translation of this post
here.
No Response to "El viejo Modelo de Desarrollo en Cascada versus Meses-Hombre"
Leave A Reply
Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.