Академический Документы
Профессиональный Документы
Культура Документы
Agenda
Ciclos de vida giles XP FDD SCRUM DSDM Crystal
Ciclo de Vida: XP
Programacin extrema (XP) es un enfoque de la ingeniera del software formulado por Kent Beck. Pone ms nfasis en la adaptabilidad que en la previsibilidad (Que el software pueda adaptarse a nuevos requerimientos en vez de buscar contemplarlos todos previo a su construccin) . Est centrado en potenciar las relaciones interpersonales como clave para el xito en el desarrollo de software. Se basa en la realimentacin continua entre el cliente y el equipo de desarrollo (Comunicacin fluida entre todos los participantes). XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes. Para especificar los requisitos del software usa tarjetas de papel en las cuales el cliente describe brevemente las caractersticas que el sistema debe poseer (historias de usuario).
que los comentarios. o Se debe comentar slo lo que NO va a variar. o Comunicacin con el cliente es fluida.
Refactoring: Spike:
o Reescribir el cdigo fuente de un mdulo sin afectar su funcionalidad con la finalidad de hacerlo ms preciso, conciso y entendible. o Pequeos programas para probar o evaluar una solucin. o Usados ante problemas tcnicos o dificultad en la estimacin de tiempo para implementar la historia de usuario. o Una vez utilizados son desechados.
Cliente: Escribe las historias de usuario, las pruebas funcionales para validar la implementacin y decide el orden para su implementacin. Encargado de pruebas: Ayuda al cliente a escribir pruebas funcionales, ejecuta las pruebas, difunde los resultados. Encargado de seguimiento: Retroalimenta al equipo,verifica el grado de acierto entre las estimaciones y el tiempo real (para mejora de estimaciones), realiza el seguimiento del proceso en cada iteracin.
Entrenador: es el responsable del proceso global. Debe proveer guas al equipo de forma que se apliquen las prcticas XP y se siga el proceso correctamente. Consultor: es un miembro externo del equipo con un conocimiento especfico en algn tema necesario para el proyecto, en el que puedan surgir problemas (Experto). Gestor (big boss): es el vnculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas. Su labor esencial es de coordinacin.
4. Vuelve al paso 1
Entregas pequeas. Producir rpidamente versiones del sistema que sean operativas, aunque no cuenten con toda la funcionalidad del sistema. Esta versin ya constituye un resultado de valor para el negocio. Una entrega no debera tardar ms de 3 meses.
(Desarrollo Basado en
Funcionalidades). Proceso gil para el desarrollo de sistemas. Diseado por Peter Coad, Eric Lefebvre y Jeff DeLuca. No se hace nfasis en la obtencin de los requerimientos sino en cmo se realizan las fases de diseo y construccin. Incluye un monitoreo constante del proyecto.
FDD - Proceso
1 2 3
Ordenar los conjuntos de rasgos conforme a su prioridad y dependencia. Asignacin a los programadores jefes.
FDD - Roles
Existen 3 categoras de roles para FDD: Key Roles / roles claves Supporting Roles / Roles de Soporte. Additional Roles / Roles Adicionales.
o Reporta resultados obtenidos semanalmente al gerente, al cliente donde incluye el porcentaje de avance de cada feature.
Herramentista (toolsmith)
o Rol para la construccin de herramientas especficas para el desarrollo, conversion de datos y testeo.
Deployer
o Encargado de convertir la informacin existente requerida por el nuevo sistema.
XP VS FDD
Tamaos de equipo: Ambos se implementan mejor para proyectos cortos y equipos ms pequeos, siendo quizs FDD ms escalable que XP. Evaluacin estado del proyecto: FDD es posiblemente el proceso ms adecuado para establecer mtricas que definen el estado del proyecto, puesto que al dividirlos en unidades pequeas es bastante sencillo un seguimiento de las mismas, xp tambin define componentes pequeos aunque con menos orden porque se van evaluando en el momento.
XP VS FDD
Carga de trabajo: XP es un proceso ligero, esto es, que los creadores del proceso han tenido cuidado de no poner demasiadas tareas organizativas sobre los programadores, por tu parte FDD genera ms documentacin que XP.Relacin con el cliente: XP y FDD se basan en formalismos en la documentacin, si no en los controles propios y una comunicacin fluida con el cliente.
XP VS FDD
Conocimiento de la arquitectura: En XP se intentar reducir la complejidad del software a travs de la programacin a pares, ya que en la creacin de cdigo se pueden evitar errores y malos diseos. En FDD sin embargo, se usan las sesiones de trabajo conjuntas en fase de diseo para conseguir una arquitectura sencilla y sin errores. Puntos dbiles: FDD tiene la necesidad de tener en el equipo miembros con experiencia que marquen el camino a seguir desde el inicio, con la elaboracin del modelo global, puesto que no es tan gil como podria serlo XP.
SCRUM
requiere trabajo duro porque no se basa en el seguimiento de un plan, sino en la adaptacin continua a las circunstancias de la evolucin del proyecto. Define un sprint como el perodo en el cual se lleva a cabo el trabajo en s y cuya magnitud la define el equipo en base a su experiencia. En cada sprint el equipo crea un incremento de software potencialmente entregable al cliente (utilizable). Puede ser usado tambin para la ejecucin de equipos de mantenimiento de software.
SCRUM
Scrum es una metodologa gil, y como tal:
Orientado a las personas ms que a los procesos. Emplea la estructura de desarrollo gil:
SCRUM - Proceso
Se comienza con la visin general del producto,especificando y dando detalle a las funcionalidades o partes que tienen mayor prioridad de desarrollo y que pueden llevarse a cabo en un periodo de tiempo breve (normalmente de 30 das). Cada uno de estos periodos de desarrollo es una iteracin que finaliza con la produccin de un incremento operativo del producto. Estas iteraciones son la base del desarrollo gil, y Scrum gestiona su evolucin a travs de reuniones breves diarias en las que todo el equipo revisa el trabajo realizado el da anterior y el previsto para el da siguiente.
SCRUM
Control de la evolucin del proyecto: Scrum controla de forma emprica y adaptable la evolucin del proyecto, empleando las siguientes prcticas de la gestin gil:
Desarrollo incremental: Durante el proyecto, las personas implicadas no trabajan con diseos o abstracciones.
adoptan tcnicas de trabajo para permitir esa evolucin sin degradar la calidad de la arquitectura que se ir generando durante el desarrollo.
de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements churn), y que los desafos impredecibles no pueden ser fcilmente enfrentados de una forma predictiva y planificada.
SCRUM - Sprint
SCRUM Reuniones
Planificacin de sprint: Jornada de trabajo previa al inicio de
cada sprint en la que se determina cul va a ser el trabajo y los objetivos que se deben cumplir en esa iteracin. realizado hasta la fecha y la previsin para el da siguiente. generado.
con el jefe de proyecto (voz del cliente para el equipo). ScrumMaster (o Facilitador): Elimina los obstculos que impiden que el equipo alcance el objetivo del sprint, protege al equipo de distracciones.
entregar el producto, lo componen un grupo de entre 3 a 9 personas. Stakeholders (Clientes, Proveedores, etc): Es para quienes el software producir beneficios que justifican el desarrollo. (grupo de interesados) Administradores: Los que establecen el ambiente de desarrollo.
Sprint backlog:
o Documento de alto nivel para todo el proyecto. Contiene descripciones genricas de todos los requerimientos, funcionalidades deseables, etc. o Priorizadas segn su retorno sobre la inversin. o Es el "qu" va a ser construido. Es abierto y cualquiera puede modificarlo.
o Documento detallado donde se describe el cmo el equipo va a implementar los requisitos durante el siguiente sprint. o Grfica mostrada pblicamente que mide la cantidad de requisitos en el Backlog del proyecto pendientes al comienzo de cada Sprint.
eXtreme Programming
El equipo de desarrollo sigue estrictamente el orden de prioridad de las tareas definido por el cliente.
Su objetivo es entregar sistemas de software en tiempo y presupuesto ajustndose a los cambios de requisitos durante el proceso de desarrollo
DSDM - Caractersticas
o Fase post-proyecto.
DSDM - Caractersticas
La fase de ciclo de vida del proyecto est subdividida en 5 etapas:
Estudio de viabilidad. Estudio de negocio Iteracin de modelo funcional Iteracin de diseo Construccin e implementacin.
DSDM - Enfoque
Hay nueve procesos subyacentes que consisten en cuatro fundamentos y cinco puntos de partida. Participacin del usuario es clave. Se le deben otorgar poderes al equipo del proyecto para tomar decisiones y no esperar aprobaciones de ms alto nivel. Poner foco en la entrega frecuente de productos.
DSDM - Enfoque
Principal criterio de aceptacin de un entregable es que sea un sistema que trate las necesidades del negocio actuales.
El desarrollo es iterativo e incremental y conducido por la retroalimentacin del usuario para converger en una solucin efectiva.
Todos los cambios son reversibles. Establecer una lnea base de alcance y los requisitos de alto nivel (mayor prioridad)
DSDM - Enfoque
Necesidad de cooperacin y
El compromiso de la gestin de asegurar la participacin de usuario final. El equipo ha de estar formado miembros habilidosos que formen una unin estable.
Metodologa:Crystal
Crystal - Caractersticas
Desarrollada por el investigador de IBM el Dr. Alistair Cockburn No es una metodologa en si misma sino una familia de metodologas con un cdigo gentico comn. Identifica con colores diferentes cada mtodo, y su eleccin debe ser consecuencia del tamao y criticidad del proyecto. Factor ms significativo es la comunicacin. o Aconseja que el tamao del equipo sea reducido. Aumento en el nmero de personas deriva en un aumento en la necesidad de coordinacin.
Clear es para equipos de hasta 8 personas o menos. Amarillo es para equipos entre 10 a 20 personas. Naranja es para equipos entre 20 a 50 personas. Roja es para equipos entre 50 a 100 personas. Azul es para equipos entre 100 a 200 personas
Crystal - Roles
Executive Sponsor (Patrocinador Ejecutivo)
o Produce la Declaracin de Misin con Prioridades de Compromiso
Project Manager (Jefe de Proyecto) Domain Expert (Experto en el Dominio) Usage Expert (Experto de uso) Designer-Programmer (Programador Diseador) UI Designer (UI Diseador) Tester (Realizador de Pruebas) Technical (Programador Tcnico)
Crystal Clear
Es una metodologa centrada en el factor humano El diseador lder y de dos a siete desarrolladores ms se encuentran juntos en un local grande o en locales adyacentes. Compartan fuente de informacin (pizarras, diagramas) visibles para todos. Acceso a usuarios claves del sistema; Entrega de cdigo funcional, testeado y utilizable. Proyectos de pequea duracin.
Crystal Clear y XP
XP es un miembro vlido de la familia Crystal Clear. Ambos tienen: Entregas frecuentes Foco en comunicacin Compromiso del usuario/cliente Test de regresin automtico Preocupacin por la motivacin
Crystal Clear y XP
Diferencia: disciplina y tolerancia. XP: - Pocos entregables y estndares rigurosos: Estndares de diseo y codificacin. Pair programming. 100% unit test pass. El coach es necesario para mantener la disciplina.