2. El desarrollo ágil de software refiere a métodos de ingeniería del software basados en
el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan
mediante la colaboración de grupos auto organizados y multidisciplinarios. Existen
muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando
software en lapsos cortos. El software desarrollado en una unidad de tiempo es
llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del
ciclo de vida incluye: planificación, análisis de requisitos, diseño, codificación, revisión
y documentación. Una iteración no debe agregar demasiada funcionalidad para
justificar el lanzamiento del producto al mercado, sino que la meta es tener una demo
al final de cada iteración. Al final de cada iteración el equipo vuelve a evaluar las
prioridades del proyecto.
3. MÉTODO ÁGIL
1. Están especialmente preparadas
para el cambio durante el proyecto
2. La metodología es impuesta por el
equipo de desarrollo
3. El cliente es parte del equipo de
desarrollo
4. Se trabaja como un equipo,
comunicándose de manera correcta
MÉTODO TRADICIONAL
1. Cierta resistencia a los cambios
2. Impuestas externamente
3. El cliente interactúa con el
equipo de desarrollo mediante
reuniones
Ventajas
4. Desventajas
MÉTODO ÁGIL
1. El proceso esta poco controlado
2. No existe un contrato prefijado
3. Pocos artefactos
4. Menos énfasis en la arquitectura del software
5. Los sistemas pueden tener una estructura
deficiente
MÉTODO TRADICIONAL
1. Proceso mucho más
controlado, con numerosas
políticas/normas
2. Existe un contrato prefijado
3. Mas roles
4. La arquitectura del software
es esencial y se expresa
mediante modelos
Cabe mencionar que el sistema puede tener una estructura deficiente por el tiempo y la
organización
6. • Planificación del Sprint. En esta fase se define el
Product Backlog si todavía no ha sido definido, el
cual consiste en una lista priorizada de requisitos
del sistema y es un documento vivo, que puede
ser continuamente actualizado.
• Seguimiento del Sprint. A lo largo de esta fase se
llevan a cabo breves reuniones diarias, para ver el
avance de las tareas y el trabajo que esta previsto
para la jornada.
Fases
7. • Revisión del Sprint. Una vez finalizado el Sprint se
realiza un análisis y revisión del incremento
generado. En esta reunión se presentan los
resultados finales y se recomienda siempre
tener preparada una demo.
Fases
8. LO QUE SE RESUME EN 3
PUNTOS
1. Está especialmente indicada para proyectos con un rápido cambio
de requisitos
2. El desarrollo de software se realiza mediante iteraciones,
denominadas Sprint, con una duración de 30 días
3. Reuniones a lo largo proyecto
11. • Fase de Exploración. En esta fase los usuarios
escriben las tarjetas de historia que ellos quieren
que sean incluidas en la primera versión. Cada una
de las tarjetas de historia describen una
funcionalidad que será añadida al programa.
• Fase de planificación. En esta fase se establece la
prioridad de las diferentes historias y se acuerda el
contenido de la primera entrega del proyecto.
Fases
12. • Fase de iteraciones. Esta fase incluye la
realización de diferentes fases antes de liberar
la primera versión del producto.
• Fase de producción. En esta fase se llevan a cabo
se llevan a cabo un conjunto de pruebas extras, de
rendimiento y funcionamiento que son necesarias
antes de poder entregar el producto al cliente
Fases
13. • Fase de mantenimiento. Una vez se ha liberada la
primera versión a los usuarios, el proyecto se debe
mantener en el entorno de producción siempre y
cuando aún hayan iteraciones en fase de
producción.
• Fase de cierre del proyecto. Es la fase en que los
clientes ya no tienen más historias que deban ser
implementadas. La documentación del proyecto se
realiza en esta fase, ya que ni la arquitectura, ni el
diseño, ni el código sufrirán cambio alguno
Fases
15. Las metodologías Crystal son una familia de metodologías ágiles, donde
cada una de ellas está adecuada para un tipo de proyecto. Su creador es
el popular Cockburn uno de los firmantes del manifiesto ágil.
Fases
16. Propiedades
Las 7 propiedades de las metodologías Crystal
1 – Entregas frecuentes, en base a un ciclo de vida iterativo e
incremental. En función del proyecto puede haber desde entregas
semanales hasta trimestrales. Para los que conozcan Scrum: en Scrum las
entregas son, máximo, cada 4 semanas, en las Crystal se contemplan
muchas más opciones.
2 – Mejora reflexiva. Que viene a ser mejora continua. Las iteraciones
ayudan a ir ajustando el proyecto, a ir mejorándolo.
3 – Comunicación osmótica. Traducido al castellano, que el equipo esté en
una misma ubicación física, para lograr la comunicación cara a cara.
4 – Seguridad personal. Todo el mundo puede expresar su opinión sin
miedos, teniéndosele en cuenta, considerándose su opinión, etc.
17. Propiedades
5- Enfoque. Períodos de no interrupción al equipo (2h horas), objetivos
y prioridades claros, definiendo así tareas concretas. Si llevas desde
hace tiempo pasando por este blog, recordarás ya comentábamos,
tiempo a, aquello de que el entorno físico afecta al desarrollador de
software.
6 – Fácil acceso a usuarios expertos. Las Crystal (a diferencia de otras
como XP) no exigen que los usuarios estén continuamente junto al
equipo de proyecto (no todas las organizaciones pueden hacerlo), sí
que, como mínimo, semanalmente debe haber reuniones y los usuarios
deben estar accesibles.
7 – Entorno técnico con pruebas automatizadas, gestión de la
configuración e integración continua. Prácticas comunes en casi todas
las metodologías ágiles, te dejo un post sobre la integración continua.
19. Es un ágil marco de ejecución de proyectos, que se utiliza
principalmente como un método de desarrollo de software.
DSDM reconoce que los proyectos son limitados por el tiempo y los
recursos, y los planes acorde a las necesidades de la empresa. Para
alcanzar estas metas, DSDM promueve el uso del RAD con el
consecuente peligro que demasiadas esquinas estén cortadas. DSDM
aplica algunos principios, roles, y técnicas.
20. Principios
+Involucrar al cliente es la clave para llevar un proyecto eficiente y
efectivo, donde ambos, cliente y desarrolladores, comparten un
entorno de trabajo para que las decisiones puedan ser tomadas con
precisión.
+El equipo del proyecto debe tener el poder para tomar decisiones que
son importantes para el progreso del proyecto, sin esperar aprobación
de niveles superiores.
+DSDM se centra en la entrega frecuente de productos, asumiendo que
entregar algo temprano es siempre mejor que entregar todo al final. Al
entregar el producto frecuentemente desde una etapa temprana del
proyecto, el producto puede ser verificado y revisado allí donde la
documentación de registro y revisión puede ser tenida en cuenta en la
siguiente fase o iteración.
21. Principios
+El principal criterio de aceptación de entregables en DSDM reside en entregar un
sistema que satisface las actuales necesidades de negocio. No está dirigida tanto a
proporcionar un sistema perfecto que resuelva todas las necesidades posibles del
negocio, si no que centra sus esfuerzos en aquellas funcionalidades críticas para
alcanzar las metas establecidas en el proyecto/negocio.
+El desarrollo es iterativo e incremental, guiado por la realimentación de los usuarios
para converger en una solución de negocio precisa.
+Todos los cambios durante el desarrollo son reversibles.
+El alcance de alto nivel y los requerimientos deberían ser base-lined antes de que
comience el proyecto.
+Las pruebas son realizadas durante todo el ciclo vital del proyecto. Esto tiene que
hacerse para evitar un caro coste extraordinario en arreglos y mantenimiento del
sistema después de la entrega.
+La comunicación y cooperación entre todas las partes interesadas en el proyecto es
un prerrequisito importante para llevar un proyecto efectivo y eficiente.
22. Estudio de vialidad. Se estudia que tan eficiente podría ser la
utilización de DSDM y se decide si se utilizará o se utilizará otro método.
Estudio de negocio. Se evalúan las características de la tecnología
para llevar a cabo el negocio.
Iteración de diseño . Se construye el sistema con un resultado final
de un sistema probado que satisface los mínimos requisitos que se
establecieron.
Implementación . Se pasa del entorno de desarrollo al entorno de
producción.
Fases