Please enable JavaScript.
Coggle requires JavaScript to display documents.
Modelos Ágiles de desarrollo software para grandes Sistemas de Defensa -…
Modelos Ágiles de desarrollo software para
grandes Sistemas de Defensa
Reseña histórica. Desarrollo iterativo e incremental.
El desarrollo iterativo e incremental es la piedra angular de los métodos ágiles,
donde aspectos como los incrementos de capacidades, la duración de la iteraciones el número de ellas o la realimentación de los usuarios, son aspectos clave
que se contraponen a las metodologías secuenciales de un solo paso, como loes el modelo en cascada (waterfall) .
En 1985 Barry Boehm´s publica el modelo en espiral para el desarrollo software, basado en su experiencia en la empresa TRW
Posteriormente en el año
2000 el propio Boehm aclaró el modelo en el “Spiral Development Workshop”
En la segunda mitad de los años 90 el empleo del desarrollo incremental e
iterativo se populariza, apareciendo muchos métodos de este tipo.
Metodologías ágiles**
En 1999, Jeff Sutherland y otros, describen el método “SCRUM“ que utiliza
periodos de tiempo de 30 días por cada iteración. El método toma su inspiración de la aproximación japonesa empleada en los años ochenta para productos de Honda, Canon y Fujitsu y descrita por Hirotaka Takeuchi y Ikujiro Nonaka como
una aproximación ágil.
1.-
Comunicación
, entre los miembros del equipo y con los
clientes, rompiendo las barreras entre negocio y desarrollo.
2.-
Simplicidad
, realizando una programaciíon lo más simple posible, simplificando los diseños y refactorizando o rehaciendo el código conforme va creciendo.
3.-
Realimentación
(Feedback), integrando al cliente en el proyecto, realizando ciclos muy cortos de desarrollo y mostrando continuamente los resultados.
4.-
Respeto
, de tal forma
que el equipo pueda trabajar de forma eficiente y ofrecer un buen rendimiento
5.-
Valentía
, diseñar y programar para hoy, no para el mañana, reconociendo los
errores tan pronto como se detecten.
Principios del Manifiesto Ágil
Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
Aceptamos que los requisitos cambien, incluso en etapas tardías del
desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
Entregamos software funcional frecuentemente, entre dos semanas y
dos meses, con preferencia al período de tiempo más corto posible
Los responsables del negocio y los desarrolladores trabajamos juntos
de forma cotidiana durante todo el proyecto
Los proyectos se desarrollan en torno a individuos motivados. Hay
que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo
El método más eficiente y efectivo de comunicar información al equipo
de desarrollo y entre sus miembros es la conversación cara a cara.
El software funcionando es la medida principal de progreso.
Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante
SCRUM
Scrum es uno de los métodos ágiles que sigue los principios anteriores, es en la actualidad uno de los más populares y mayoritariamente implantado en muchas organizaciones.
El propietario del producto
(Product Owner)
El equipo de desarrollo
(Development Team),
El facilitador
(Scrum Master),
Métodos ágiles para grandes sistemas
El desarrollo de grandes sistemas, con millones de líneas de código, requiere
grandes cantidades de desarrolladores y los métodos como Scrum recomiendan que los equipos de desarrollo sean pequeños, entre 5 y 11 personas.
Adicionalmente a las reuniones diarias del
Scrum, se realizan también una también otras diarias y conjuntas Scaled Daily Scrum (SDS), en donde participan los Scrum Master de cada equipo además de
otras personas del mismo.
LeSS
(Large-Scale Scrum) en 2005 Vodde y Larman desarrollaron este marco de trabajo que sigue los principios de Scrum, pero con el objetivo de que sea empleado satisfactoriamente en grandes proyectos.