Professional Documents
Culture Documents
METODOLOGAS GILES EN TI
INTRODUCCIN
Sabemos que Los procesos de desarrollo llevan asociados un mayor nfasis en el control del proceso mismo. Existe una gran rigurosidad en la definicin de roles, actividades y artefactos, incluyendo modelado y documentacin detallada. El esquema tradicional en el que se basa los puntos anteriores ha demostrado ser efectivo y necesario en proyectos de gran tamao (tiempo y recursos) en donde por lo general se exige un alto grado de anlisis en el proceso.
Sin embargo
El enfoque anterior no resulta ser el ms adecuado: Los proyectos que actualmente surgen presentan un entorno del sistema muy cambiante. Ahora se exige reducir drsticamente los tiempos de desarrollo pero manteniendo una alta calidad. Existen mayores restricciones de tiempo y flexibilidad. Ante esto las metodologas giles emergen como una potencial respuesta para llenar ese vaco metodolgico. Se constituyen en una alternativa de solucin a medida para ese entorno cambiante. Aportan una elevada simplificacin en donde a pesar de ello no renuncian a las prcticas esenciales para asegurar la calidad del producto o servicio.
ANTECEDENTES
Muchas ideas que se plantean en las metodologas giles fueron reflejadas por Frederick Phillips Brooks en su mtico libro, The Mythical Man Month y en gran parte responden al sentido comn. En el manifiesto de Edsger Dijkstra se haca un llamado a la disciplina concretndose en el ya famoso Manifest for Agile Software Development, una peticin por la atenuacin de los procesos en pro de las personas.
* Hacia la dcada de los 90 surgi un enfoque revolucionario En la comunidad de Ingeniera de Software fue conocido como RAD (Rapid Application Development)
Al mismo tiempo se cre The Agile Alliance dedicada a: Promover los conceptos relacionados con el desarrollo gil de software. Ayudar a las organizaciones para que adopten dichos conceptos.
Podemos indicar entonces que La aparicin de las metodologas giles son asociadas a todo un conjunto de factores tales como: Plumbing , en definitiva describe la falta de agilidad de los modelos de desarrollo existente. Las metodologas existentes en aquel momento no cumplieron las expectativas planteadas inicialmente. Explosin de la red y las aplicaciones. Movimiento open source.
I. Y qu es ser gil?...
Jim Highsmith dice que ser Agile significa ser capaz de Deliver quickly, Change quickly, Change often (Entregar rpido, cambiar rpido, cambiar con frecuencia).
II. Y qu es ser gil?... Se centra en la interaccin, comunicacin, y en la reduccin de la creacin de artefactos intermedios Reconocer a las personas como principales patrocinadoras para que un proyecto triunfe Dar una orientacin a la efectividad y la manejabilidad. Es algo ms que seguir las guas que se suponen hacen un proyecto gil; la verdadera agilidad es ms que un conjunto de prcticas, es un estado de nimo.
El Manifiesto gil
Se acu el trmino Mtodos giles (Salt Lake City) para definir los mtodos que estaban surgiendo como alternativa a las metodologas formales.
Al individuo y las interacciones del equipo de desarrollo sobre el proceso y las herramientas. Desarrollar software que funciona ms que conseguir una buena documentacin. La colaboracin con el cliente ms que la negociacin de un contrato. Responder a los cambios ms que seguir estrictamente un plan.
1. 1. La prioridad es satisfacer al cliente. 2. 2. Dar la bienvenida a los cambios. 3. 3. Entregar frecuentemente software (en el menor intervalo de tiempo posible entre entregas). 4. 4. La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto. 5. 5. Construir el proyecto en torno a individuos motivados. 6. 6. El dilogo cara a cara es el mtodo ms eficiente y efectivo para comunicar informacin dentro de un equipo.
II. Doce principios del Manifiesto 7. El software que funciona es la medida principal de progreso. 8. Los procesos giles promueven un desarrollo sostenible. 9. La atencin continua a la calidad tcnica y al buen diseo mejora la agilidad. 10. La simplicidad es esencial. 11. Las mejores arquitecturas, requisitos y diseos surgen de los equipos organizados por s mismos. 12. En intervalos regulares, el equipo reflexiona a cmo llegar a ser ms efectivo.
Ambler 2002
Cristal Methods
CM
Cockbum 1998
Agile RUP
dX
EVO
Gilb 1976
XP
Beck 1999
Disciplina en prcticas de ingeniera De Luca & Coad Metodologa 1998 Palmer & Felsing 2002
Scrum
Simplificacin de los procesos Calidad mejorada Mejor productividad Mejor gestin del riesgo Aprovecha las inversiones realizadas
Cmo funciona?
Historias de Usuario
Utilizadas para especificar los requisitos del software. Parecidas a los casos de uso, pero ms relajadas. Son redactadas por el cliente, no por el equipo de desarrollo. Sirven para crear las pruebas de aceptacin. A cada historia se le estima un tiempo.
Tarjetas de papel que contienen: nmero de historia, fecha, tipo de actividad, prueba funcional, prioridad, estimacin tcnica, descripcin.
Roles y responsabilidades Cliente Programador Encargado de pruebas Encargado de seguimiento Coach o entrenador Consultor Gestor
Proceso
FDD consiste en cinco procesos secuenciales durante los cuales se disea y construye el sistema. Cada fase del proceso tiene un criterio de entrada, tareas, pruebas y una salida.
Expertos de dominio
Roles
Roles de Soporte:
Administrador de entrega Abogado/Gur del Lenguaje Ingeniero de construccin Herramientista (Toolsmith) Administrador del sistema Roles Adicionales: Verificadores (Tester) Encargados del despliegue Escritores tcnicos
SCRUM
Entrega parciales y regulares del producto final. Aplicado proyecto complejos. Resultados pronto Es empleado para situaciones como:
Demoras en las entregas Costos elevados Calidad no aceptable Rotacin de los equipos alta
SCRUM
BENEFICIOS Gestin regular de las expectativas del cliente Resultados anticipados (Time to market ) Flexibilidad y adaptacin Retorno de la inversin (ROI) Mitigacin de Riesgos Productividad y calidad Alineamiento entre cliente y equipo. Equipo motivado
SCRUM
PROCESO
Crystal Clear
Crystal Clear es la menor de la familia de metodologas Crystal desarrollada por el investigador de IBM el Dr. Alistair Cockbum. El nombre Crystal deriva de la caracterizacin de los proyectos segn 2 dimensiones, tamao y complejidad. Crystal Clear est diseada para ser utilizada por equipos de hasta ocho integrantes y en el desarrollo de sistemas cuyos posibles errores puedan causar una prdida prudencial de dinero o de confort. Crystal Clear es una metodologa centrada en el factor humano, donde un diseador lder y de dos a siete desarrolladores ms se encuentran juntos en un local grande o en locales adyacentes con radiadores de informacin como pizarras y diagramas bien visibles en la pared, teniendo acceso fcil a usuarios claves; eliminando las distracciones; entregando cdigo funcional, testeado y utilizable en intervalos de uno a tres meses; reflexionando peridicamente y ajustando continuamente su estilo de trabajo.
Propiedades
Crystal Clear se centra en tres propiedades claves:
Efectuar entregas frecuentes. Mejora reflexiva Comunicacin Osmtica.
Estrategias
Las estrategias que propone Crystal Clear son: Exploracin de 360 Victoria Temprana Esqueleto Ambulante Re arquitectura Incremental Radiadores de Informacin
Las tres primeras guan el camino del equipo durante los primeros momentos del desarrollo y las dos restantes pueden aplicarse durante todo el proyecto
Tcnicas
Las tcnicas propuestas por Crystal Clear
Taller de Perfilacin de la Metodologa. Talleres de Reflexin. Planeacin Rpida Estimacin Delfos Reuniones diarias Diseo de Interacciones Esenciales Miniatura del Proceso Programacin Lado a Lado Grfico de Quemado.
Roles nominados
En Crystal Clear existen ocho roles nominados
Patrocinador Ejecutivo Usuario Embajador Diseador Lder Diseador Programador Experto del Negocio Coordinador Verificador Escritor
Los cuatro primeros necesariamente deben ser desempeados por personas distintas, mientras los restantes pueden ser roles adicionales asignados a algunos miembros del equipo.
KANBAN
Sistema de produccin altamente efectivo y eficiente
Origen
La metodologa KANBAN tiene su origen en los procesos de produccin justin-time (JIT) ideados por TOYOTA, en los que se utilizaban tarjetas para identificar necesidades de material en la cadena de produccin.
KANBAN
Palabra japonesa que significa tarjetas visuales, donde Kan es visual, y Ban corresponde a tarjeta.
Ventajas
Fcil de utilizar, actualizar y asumir por parte del equipo. Destaca por ser una tcnica de gestin de las tareas muy visual, que permite ver a golpe de vista el estado de los proyectos, as como tambin pautar el desarrollo del trabajo de manera efectiva.
Principios KANBAN
Calidad garantizada
Todo lo que se hace debe salir bien a la primera, no hay margen de error. En KANBAN no se premia la rapidez, sino la calidad final de las tareas realizadas. Basado en el hecho que muchas veces cuesta ms arreglarlo despus que hacerlo bien a la primera.
Mejora continua
KANBAN no es simplemente un mtodo de gestin, sino tambin un sistema de mejora en el desarrollo de proyectos, segn los objetivos a alcanzar.
Flexibilidad
Lo siguiente a realizar se decide del backlog (o tareas pendientes acumuladas), pudindose priorizar aquellas tareas entrantes segn las necesidades del momento (capacidad de dar respuesta a tareas imprevistas).
2.
Cada una de las tareas a realizar se escribe en un post-it y se pega en el tablero, en la fase que corresponda. La pizarra tiene tantas columnas como estados por los que puede pasar la tarea (ejemplo, en espera de ser desarrollada, en anlisis, en diseo, etc.). Dichos post-its contienen la informacin bsica para que el equipo sepa rpidamente la carga total de trabajo: descripcin de la tarea con la estimacin de horas. Se pueden emplear fotos para asignar responsables as como tambin usar tarjetas con distintas formas para poner observaciones o indicar bloqueos (cuando una tarea no puede hacerse porqu depende de otra).
3.
Principal aporte de KANBAN: El trabajo en curso debe estar limitado y, por tanto, existe un nmero mximo de tareas a realizar en cada fase.
Se trata de definir el mximo nmero de tareas que podemos tener en cada una de las fases (p.e: 3 tareas en la fase de planificacin; 2, en la fase de desarrollo; una, en la fase de pruebas, etc.). No se puede abrir una nueva tarea sin finalizar otra. Se pretende dar respuesta al problema habitual de muchas empresas de tener muchas tareas abiertas pero con un ratio de finalizacin muy bajo. Aqu lo importante es que las tareas que se abran se cierren antes de empezar con la siguiente.
4.
Control del Flujo La metodologa KANBAN no se aplica a un nico proyecto, sino que mezcla tareas y proyectos. Se mantiene a los trabajadores con un flujo de trabajo constante. Las tareas ms importantes en cola para ser desarrolladas Seguimiento pasivo para no tener que interrumpir al trabajador en cada momento. Nos permite hacer un seguimiento del trabajo realizado, almacenando la informacin que nos proporcionan las tarjetas
KANBAN
El tiempo fijo en las iteraciones es opcional. La cadencia puede variar en funcin del plan del producto y la mejora del proceso. Pueden estar marcadas por la previsin de los
La mtrica por defecto para la planificacin y la mejora del proceso es la La mtrica por defecto para la planificacin y la mejora del proceso es el Lead Velocidad. Time (tiempo de entrega o tiempo medio que tarda una peticin en salir del ciclo) Los equipos deben ser multifuncionales. Los equipos pueden ser multifuncionales o especializados.
Las funcionalidades deben dividirse en partes que puedan completarse en No hay ninguna prescripcin en cuanto al tamao de las divisiones.
un sprint.
Deben emplearse grficos Burndown. Se emplea una limitacin WIP indirecta (por sprint). Se deben realizar estimaciones. No se pueden aadir tareas en medio de una iteracin. La pila del sprint pertenece a un equipo determinado. Se prescriben 3 roles (PP/SM/Equipo). No se prescriben diagramas de seguimiento concretos Se emplea una limitacin WIP directa (marcada por el estado del trabajo). Las estimaciones son opcionales Siempre que haya capacidad disponible, se pueden aadir tareas. Varios equipos o personas pueden compartir la misma pizarra Kanban. No hay roles prescritos.