Está en la página 1de 54

Metodologas giles: Scrum y tcnicas de estimacin gil

PreparaTIC - Junio 2009

Jorge Manrubia Dez jorge.manrubia@giss.seg-social.es

Por qu?

Hacer un programa es cmo...

Can you get a design that is capable of turning the coding into a predictable construction activity? And if so, is cost of doing this sufficiently small to make this approach worthwhile?
Martin Fowler, The new methodology (2005)

They were amazed that my industry (software development) was trying to do its work using a completely inappropriate process control model. (...) They said that all complex processes that werent completely understood required the emprical model (not the dened process control model)
Conclusiones de expertos en teora de control de procesos liderados por Babatunde Organnaike tras analizar los procesos de desarrollo software. Ken Schwaber, Agile Software Development with Scrum (2001)

Diseo del Sistema de Informacin

Ministerio de Administraciones Pblicas

DISEO DEL SISTEMA DE INFORMACIN (ORIENTACIN A OBJETOS)

Resultados del Anlisis Resultados del Anlisis de Sistema de de Sistema de Informacin Informacin (Orientacin a Objetos) (Orientacin a Objetos)
- Catlogo de Requisitos - Catlogo de Requisitos - Contexto del Sistema - Contexto del Sistema - Modelo de Casos de Uso - Modelo de Casos de Uso - Modelo de Clases de - Modelo de Clases de Anlisis Anlisis - Modelo de Procesos - Modelo de Procesos - Descripcin de - Descripcin de subsistemas subsistemas - Resultado del Anlisis de - Resultado del Anlisis de Consistencia Consistencia - Interfaz de usuario - Interfaz de usuario - Plan de Pruebas - Plan de Pruebas Especificacin de Especificacin de Requisitos Software (ERS) Requisitos Software (ERS)

DSI 1
DSI 2 DSI 8 DSI 3 DSI 7 DSI 4 DSI 10 DSI 6 DSI 9 DSI 12 - Diseo de la Arquitectura - Diseo de la Arquitectura del Sistema del Sistema - Entorno Tecnolgico, - Entorno Tecnolgico, Seguridad, Operacin y Seguridad, Operacin y Administracin Administracin - Diseo Detallado de - Diseo Detallado de Subsistemas Subsistemas - Diseo de la Realizacin - Diseo de la Realizacin de Casos de Uso de Casos de Uso - Diseo de la Interfaz de - Diseo de la Interfaz de Usuario Usuario - Modelos de Clases de - Modelos de Clases de Diseo Diseo - Modelo Fsico de Datos - Modelo Fsico de Datos - Resultado Anlisis de - Resultado Anlisis de Consistencia Consistencia - Especificaciones de - Especificaciones de Construccin Construccin - Plan de Migracin y - Plan de Migracin y Carga inicial Carga inicial - Especificacin del - Especificacin del Entorno, Niveles y Entorno, Niveles y Planificacin de las Planificacin de las Pruebas Pruebas - Requisitos de - Requisitos de Implantacin Implantacin

CONSTRUCCIN CONSTRUCCIN DEL SISTEMA DE DEL SISTEMA DE INFORMACIN INFORMACIN

DSI 11

Entradas Externas Entradas Externas - -Estndares Estndaresyy normativas de la normativas de la instalacin instalacin

Metodologa MTRICA Versin 3

- Caractersticas - Caractersticas Especficas del SGBD Especficas del SGBD o Sistemas de Ficheros o Sistemas de Ficheros a Utilizar a Utilizar - Estructura de Datos del - Estructura de Datos del Sistema Origen Sistema Origen

Adaptacin continua del proceso + Excelencia tcnica

Desarrollo gil: lo que no es

Tradicional

gil

Esfuerzo de planificacin

Tiempo

El propio proceso se adapta durante el desarrollo

Liberacin temprana y continua del software de software funcional Integracin total de la gente de negocio en los equipos de desarrollo Excelencia tcnica, buenos diseos y simplicidad Reuniones cara a cara, comunicacin oral Autoorganizacin de los equipos de desarrollo

...

http://agilemanifesto.org/principles.html

SCRUM y Tcnicas de Estimacin gil

Scrum
Creada por Ken Schawber, Mike Beedle y
Jeff Sutherland (mediados de los 90)

Equipos de ~7 personas Iteraciones (sprints) de 30 das

Roles
Product Owner: representa al cliente Scrum Master (50% desarrollador) Scrum Team Chicken (otros)

PREGAME
- Product Backlog Inicial - Release Backlog - Diseo alto nivel/arquitectura

DESARROLLO (CICLO DE SPRINTS)

POSTGAME
- Documentacin de usuario - Material de formacin - ...

Daily Meeting 1 da

Product Backlog

Sprint: 1 mes

Sprint Backlog

Sprint Planning Meeting

Sprint Review Meeting

DEFINIDO

EMPRICO

DEFINIDO

Backlogs
Descripcin Lista priorizada de Product funcionalidades de negocio Backlog y tcnicas a desarrollar Items Estimacin

User stories Caractersticas Bugs

Story points

Sprint Seleccin de items del PB y Tareas Backlog tareas para desarrollarlos

Horas

Historias de usuario
Descripcin escrita de una funcionalidad concreta a desarrollar Como <tipo de usuario> quiero <poder hacer algo>

Como desarrollador quiero poder transformar un modelo fsico obtenido de ADABAS a un modelo lgico

Como desarrollador quiero poder transformar un modelo fsico obtenido de ADABAS a un modelo logico
epic

Como desarrollador quiero poder transformar un modelo fsico obtenido de ADABAS traduciendo slo las estructuras relacionales Como desarrollador quiero poder transformar un modelo fsico obtenido de ADABAS admitiendo campos mltiples Como desarrollador quiero poder transformar un modelo fsico obtenido de ADABAS admitiendo campos peridicos
theme

Estimacin de Tamao Estimacin de Duracin

Story Point = Esfuerzo necesario + complejidad + riesgo ...

Cunto miden? Quin es ms alto?

1, 2, 3, 5, 8, 13, 20, 30, 50, 100


Escala de estimacin

Planning Poker

La historia se presenta y se discute sobre ella Los miembros del equipo escogen carta con la estimacin Todos dan la vuelta a la carta a la vez Los miembros con la estimacin ms baja y ms alta exponen sus razones, y se repite el proceso de estimacin

Velocidad del equipo = Story points / iteracin

Estimacin de Tamao

Velocidad

Estimacin de Duracin

Caractersticas Deseadas

Estimar tamao

Estimar duracin

PLANIFICACIN

Historia 1 Historia 2 Historia 3 Historia 1 Historia 2 Historia 3 Historia 4 Historia 5 Historia 6 Historia 7 Historia 8 2 3 3 2 5 2 1 8 Historia 4 Historia 5 Historia 6

2 3 3

Sprint Backlog 1
2 5 2

Tiempo

Sprint Backlog 2

Product Backlog
Historia 7 HIstoria 8 1 8

Velocidad = 8 story points / iteracin

Sprint Backlog 3

Las historias seleccionadas para el sprint se desglosan en tareas (estimacin en horas)

Diariamente los desarrolladores actualizan su estimacin de esfuerzo restante

Ideal (predictivo)

Realidad

Story Points

Tiempo

Grco de avance del proyecto (Release Burndown Chart)

Grco de avance del sprint (Iteration Burndown Chart)

Daily meeting
Qu has hecho desde ayer? Qu vas a hacer hoy? Qu problemas tienes?
15 min. mximo

Excelencia tcnica

Pruebas

Exhaustivas Automticas

Pruebas automticas

Cunto? Herramientas de cobertura de cdigo (code coverage)

Refactoring = mejora continua y temprana del diseo del cdigo

Integracin continua
Acomete cambios
eMac

Desarrollador 1

Supervisa

Construye Acomete Cambios


G4 Servidor SCM

Servidor de G3 integracin Continua (Hudson)

(CVS)

Desarrollador 2 Feedback

eMac

Construccin = Construccin + Tests + Despliegue

Y para el cuarto...

Yo nunca usara Mtrica!!!

Diferenciarse No aburrir

Sin pasarse

Proceso de Desarrollo
Elemento Ejemplos

Iteraciones cortas, completas Niveles de planicacin: de lanzamiento,


Descripcin del proceso de iteracin, diario Planicacin priorizada Historias de usuario, story points, velocidad

Conguracin del equipo de desarrollo

Implicacin del cliente

Aspectos tcnicos
Elemento Uso de un servidor de integracin continua Pruebas automticas Uso de herramienta de cobertura de cdigo Uso de herramientas de anlisis de cdigo Ejemplos

Deteccin temprana de errores Software siempre listo para desplegar Exhaustividad Automatizacin de tests de aceptacin Denicin de umbrales de cobertura a
exigir: ejemplo, 90% cdigo cubierto

Deteccin de cdigo sin documentar Nombres de identicadores con tamao

suciente Deteccin de mtodos demasiado largos

Referencias
Agile Estimating and Planning. Mike Cohn. Prentice Hall, 2005

Agile Software Development with Scrum. Ken Schwaber. Prentice Hall, 2001 The art of Agile Development. James Shore and Shane Warden. Prentice Hall, 2007 User Stories Applied: For Agile Software Development. Mike Cohn. Addison-Wesley Professional, 2004

También podría gustarte