Ciclos de Vida Agiles

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

CICLOS DE VIDA AGILES

GUANA GARCIA DAVID ANDRES

Servicio Nacional de Aprendizaje (SENA)

Tecnólogo en Análisis Y Desarrollo De Sistemas De La Información

Mosquera

Marzo, 2022
Programación extrema (XP)
La metodología XP o Programación Extrema es una metodología ágil y flexible utilizada
para la gestión de proyectos. Extreme Programming se centra en potenciar las relaciones
interpersonales del equipo de desarrollo como clave del éxito mediante el trabajo en equipo,
el aprendizaje continuo y el buen clima de trabajo. Esta metodología pone el énfasis en la
retroalimentación continua entre cliente y el equipo de desarrollo y es idónea para
proyectos con requisitos imprecisos y muy cambiantes.
 Se considera al equipo de proyecto como el principal factor de éxito del proyecto
 Software que funciona por encima de una buena documentación.
 Interacción constante entre el cliente y el equipo de desarrollo.
 Planificación flexible y abierta.
 Rápida respuesta a cambios.

SCRUM
Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas
prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible
de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un
estudio de la manera de trabajar de equipos altamente productivos.

En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el
beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado
para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde
los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la
flexibilidad y la productividad son fundamentales.
El equipo de Scrum consiste en tres diferentes roles:
 El Product Owner/Dueño del producto es la “voz del cliente” y el responsable de
desarrollar, mantener y priorizar las tareas en el backlog.
 El Scrum Master es responsable de asegurarse que el trabajo del equipo vaya bien
siguiendo las bases de Scrum. Además, se encarga de remover cualquier obstáculo
que pueda encontrar el equipo de desarrollo.
 Los Development Team Members/Miembros del Equipo de desarrollo son los
encargados de escribir y probar el código.
AGILE UNIFIED PROCESS (AUP)
AUP se preocupa especialmente de la gestión de riesgos. Propone que aquellos elementos
con alto riesgo obtengan prioridad en el proceso de desarrollo y sean abordados en etapas
tempranas del mismo. Para ello, se crean y mantienen listas identificando los riesgos desde
etapas iníciales del proyecto. Especialmente relevante en este sentido es el desarrollo de
prototipos ejecutables durante la base de elaboración del producto, donde se demuestre la
validez de la arquitectura para los requisitos clave del producto y que determinan los
riesgos técnicos.

 Elaboración: El objetivo es que el equipo de desarrollo profundice en la


comprensión de los requisitos del sistema y en validar la arquitectura.
 Construcción: Durante la fase de construcción el sistema es desarrollado y probado
al completo en el ambiente de desarrollo.
 Transición: el sistema se lleva a los entornos de preproducción donde se somete a
pruebas de validación y aceptación y finalmente se despliega en los sistemas de
producción.

DYNAMIC SYSTEM DEVELOPMENT METHOD (DSDM)


Es el método más antiguo de entrega de proyectos Ágiles. El éxito de DSDM se debe a la
filosofía de que cualquier proyecto debe estar alineado con objetivos estratégicos
claramente definidos y centrarse en la entrega temprana de beneficios reales para el
negocio. El respaldo de esta filosofía con los ocho principios permite a los equipos
mantener el enfoque y alcanzar los objetivos del proyecto.
El ciclo de desarrollo de DSDM está compuesto de 5 fases, precedidas de un pre-proyecto y
un post-proyecto.
1. Pre-proyecto
2. Estudio de viabilidad
3. Estudio de negocio
4. Iteración de modelado funcional
5. Iteración de diseño y desarrollo
6. Implementación
7. Post-Desarrollo
CRYSTAL METHODOLOGIES
Crystal es una metodología de desarrollo de Software ágil, que en realidad está considerada
como una «familia de metodologías» debido a que se subdivide en varios tipos de
metodologías en función a la cantidad de personas que vayan a conformar el proyecto.
Creada por Alistair Cockburn.
El nombre Crystal deriva de la caracterización de los proyectos según 2 dimensiones,
tamaño y complejidad. Por ejemplo:

 Clear es para equipos de hasta 6 personas o menos.


 Amarillo para equipos entre 7 a 20 personas.
 Naranja para equipos entre 21 a 40 personas.
 Roja para equipos entre 41 a 80 personas.
 Marrón para equipos entre 81 a 200 personas.

Las metodologías Crystal cumplen todas ellas con 7 propiedades esenciales, las siguientes:
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.
5- Enfoque. Períodos de no interrupción al equipo (2h horas), objetivos y prioridades
claros, definiendo así tareas concretas.

ADAPTIVE SOFTWARE DEVELOPMENT (ASD)


Esta metodología se adapta al cambio en lugar de luchar contra él. Se basa en la adaptación
continua a circunstancias cambiantes. En ella no hay un ciclo de planificación-diseño-
construcción del software, sino un ciclo especular colaborar-aprender.
ASD utiliza un "cambio orientado hacia el ciclo de vida", que tiene tres componentes que
son: especular colaborar y aprender.
1. Especular: Una primera fase de iniciación para establecer los principales objetivos
y metas del proyecto en su conjunto y comprender las limitaciones (zonas de riesgo)
con las que operará el proyecto.
2. Colaborar: Es la fase donde se centra la mayor parte del desarrollo manteniendo
una componente cíclica. Un trabajo importante es la coordinación que asegure que
lo aprendido por un equipo se transmite al resto y no tenga que volver a ser
aprendido por los otros equipos.
3. Aprender: La última etapa termina con una serie de ciclos de colaboración, su
trabajo consiste en capturar lo que se ha aprendido, tanto positivo como negativo.
Es un elemento crítico para la eficacia de los equipos.

FEATURE DRIVEN DEVELOPMENT (FDD)


Esta metodología está orientada a equipos más grandes, con más personas que aquellos a
los que normalmente se aplican otras metodologías ágiles como Scrum.
Usado típicamente en proyectos de desarrollo a gran escala, existen seis pasos o actividades
básicas durante la FDD:

1. Recopilación de Datos: comprensión precisa del contenido y el contexto del


proyecto.
2. Desarrollar modelo general: Redacta el bosquejo, utilizando la "tesis" (también
conocida como objetivo principal) como guía.
3. Crear lista de funciones: Crear una lista de las características requeridas una
característica es una salida valorada por el cliente.
4. Plan por característica: Analiza la complejidad de cada característica y planifica las
tareas relacionadas con los miembros del equipo.
5. Diseño por característica: Un programador jefe determinará la característica que se
diseñará y creará. Asimismo
6. Construir por característica: Se construyen interfaces de usuario, al igual que los
componentes detallados en el diseño técnico, y se crea un prototipo de función.

FDD está relacionado con Scrum, pero como su nombre lo indica, es un método centrado
en características (en oposición a un método centrado en la entrega). Las características
son una pieza fundamental de FDD. Se trata de funciones pequeñas que son altamente
valoradas por el cliente.

Durante la FDD, se debe entregar una función cada 2-10 días, que difiere de Scrum, en
la cual los sprints suelen durar entre dos a cuatro semanas. FDD valora la documentación
más que otros métodos (Scrum y XP incluidos), lo que también crea diferencias en los roles
de las reuniones. En Scrum, los equipos generalmente se reúnen a diario; en FDD, los
equipos confían en la documentación para comunicar información importante y, por lo
tanto, generalmente no se reúnen con tanta frecuencia.
ROLES
 Arquitecto jefe: Realiza el diseño global del sistema. Ejecución de todas las etapas.

 Director de desarrollo: Lleva diariamente las actividades de desarrollo. Resuelve


conflictos en el equipo. Resuelve problemas referentes a recursos.

 Programador jefe: Analiza los requerimientos. Diseña el proyecto. Selecciona las


funcionalidades a desarrollar de la última fase del FDD.

 Propietario de clases: responsable del desarrollo de las clases que se le asignaron


como propias. Participa en la decisión de que clase será incluida en la lista de
funcionalidades de la próxima iteración.

 Expertos de dominio: Puede ser un usuario, un cliente, analista o una mezcla de


estos. Poseen el conocimiento de los requerimientos del sistema. Pasa el
conocimiento a los desarrolladores para que se asegure la entrega de un sistema
completo.

LEAN DEVELPMENT (LD)


El desarrollo Lean es una adaptación a los entornos de desarrollo de software del método de
producción Toyota para equipos pequeños de programadores. Se fundamenta
principalmente en constituir un equipo fuerte y altamente preparado capaz de llevar a cabo
cualquier tarea en poco tiempo, legando todo a la eficacia y la cohesión de los componentes
del equipo y obviando los procesos y la burocracia que conlleva normalmente el tener un
sistema de producción preestablecido.
En este proceso pueden ocurrir dos cosas:

 Sabes que tu producto final funciona como a los usuarios les gustaría porque ya has
probado su comportamiento y operado los cambios oportunos en el propio proceso
de desarrollo. Dispones de un producto de software terminado y vendible que sabes
que gusta a tu público.
 Te has dado cuenta de que tu idea nunca funcionará porque has comprobado que no
tiene buena aceptación entre los usuarios y decides abandonar el proyecto. En este
caso has ahorrado dinero porque has podido abandonar el proyecto en menos tiempo
que si hubieras seguido una metodología de desarrollo tradicional, que necesita
llegar hasta el final del proceso para comprobar la efectividad del producto.
Además, habrás mejorado el compromiso del equipo y mejorado su aprendizaje,
acercándote un poco más al equipo ideal que promulga la filosofía Lean.
Bibliografía
Canive, T. (2020, mayo 27). Metodología XP o Programación Extrema. Recuperado el 2 de
marzo de 2022, de Gestor de proyectos online website: https://www.sinnaps.com/blog-
gestion-proyectos/metodologia-xp

DSDM Ingenieria de Software. (s/f). Recuperado el 2 de marzo de 2022, de Mex.tl website:


http://ingenieriadesoftware.mex.tl/52827_DSDM.html

jgarzas. (2012a, septiembre 4). Un resumen de la metodología ágil FDD. Recuperado el 2


de marzo de 2022, de Javier Garzas website:
https://www.javiergarzas.com/2012/09/metodologia-gil-fdd-1.html

jgarzas. (2012b, septiembre 25). Las metodologías Crystal. Recuperado el 2 de marzo de


2022, de Javier Garzas website: https://www.javiergarzas.com/2012/09/metodologias-
crystal.html

lara., W. (2015, julio 31). ¿Cómo funciona la metodología Scrum? Qué es y sus 5 fases.
Recuperado el 2 de marzo de 2022, de Platzi website: https://platzi.com/blog/metodologia-
scrum-fases/

Método de desarrollo de sistemas dinámicos (DSDM). (s/f). Recuperado el 2 de marzo de


2022, de Tecnologias-informacion.com website: https://www.tecnologias-
informacion.com/metodo-dinamico.html

Qué es SCRUM. (2008, agosto 4). Recuperado el 2 de marzo de 2022, de Proyectos Ágiles
website: https://proyectosagiles.org/que-es-scrum/

Stabile, A. G. (2015, enero 5). Desarrollo ágil de software: Crystal Clear. Recuperado el 2
de marzo de 2022, de Folder IT website: https://folderit.net/es/blog/desarrollo-agil-de-
software-crystal-clear-es/

También podría gustarte