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 defined 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
deSistema
Sistemade
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

Metodologa MTRICA Versin 3

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

- 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

DSI 9

DSI 11

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

Adaptacin continua
del proceso
+
Excelencia tcnica

Desarrollo gil: lo que no es

gil

Esfuerzo de planificacin

Tradicional

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)

DESARROLLO
(CICLO DE SPRINTS)

PREGAME

POSTGAME
- Documentacin

- Product Backlog

de usuario

Inicial

- Material de

Daily Meeting

- Release Backlog

formacin

- Diseo alto
nivel/arquitectura

- ...

1 da

Product Backlog

Sprint: 1 mes

Sprint Backlog

DEFINIDO

Sprint Planning

Sprint Review

Meeting

Meeting

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 2

Historia 3

Historia 4

Historia 5

Historia 6

Historia 7

Historia 8

Historia 2

Historia 3

Sprint Backlog 1
Historia 4

Historia 5

Historia 6

Sprint Backlog 2

Product Backlog

Velocidad = 8 story points /


iteracin

Historia 7

HIstoria 8

Sprint Backlog 3

Tiempo

Historia 1

Historia 1

Las historias seleccionadas para el sprint se


desglosan en tareas (estimacin en horas)

Diariamente los
desarrolladores actualizan su
estimacin de esfuerzo restante

Realidad

Story Points

Ideal (predictivo)

Tiempo

Grfico de avance del proyecto (Release


Burndown Chart)

Grfico 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

Supervisa

Desarrollador 1

Construye
Acomete Cambios

G4
Servidor
SCM

Servidor de G3
integracin

(CVS)

Continua
(Hudson)

eMac

Desarrollador 2
Feedback

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 planificacin: de lanzamiento,
Descripcin del proceso

Configuracin del equipo


de desarrollo

de iteracin, diario
Planificacin priorizada
Historias de usuario, story points,
velocidad

Implicacin del cliente

Aspectos tcnicos
Elemento

Ejemplos

Uso de un servidor de
integracin continua

Deteccin temprana de errores


Software siempre listo para desplegar

Pruebas automticas

Exhaustividad
Automatizacin de tests de aceptacin

Uso de herramienta de
cobertura de cdigo
Uso de herramientas de
anlisis de cdigo

Definicin de umbrales de cobertura a


exigir: ejemplo, 90% cdigo cubierto

Deteccin de cdigo sin documentar


Nombres de identificadores con tamao

suficiente
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