Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Kleer Scrum Estimation Planning Es PDF
Kleer Scrum Estimation Planning Es PDF
Planificacin gil
Web | www.kleer.la
Facebook | facebook.com/kleer.la
Twitter | twitter.com/kleer.la
Anlisis, Estimacin y Planificacin gil con Scrum
ndice
Anlisis, Estimacin y Planificacin gil.................................................................................................................................................................................... 1
Desarrollo Evolutivo.....................................................................................................................................................................................................................4
Minimum Marketable Features.......................................................................................................................................................................................5
Visual Story Mapping........................................................................................................................................................................................................... 6
Proceso de Anlisis gil..............................................................................................................................................................................................................8
Roles de Usuario.....................................................................................................................................................................................................................8
Brainstorming de un conjunto inicial de roles.................................................................................................................................................8
Organizacin del conjunto inicial de roles...................................................................................................................................................... 11
Consolidacin de roles.............................................................................................................................................................................................. 12
Refinamiento de roles............................................................................................................................................................................................... 13
Visual Story Mapping en la Prctica...................................................................................................................................................................................17
Identificacin de los Procesos de Negocio.............................................................................................................................................................. 17
Identificacin de Funcionalidades del Software (Herramientas)................................................................................................................19
Identificacin de MMF y posteriores releases.......................................................................................................................................................27
MMF (o Release 1) Objetivo: Comercializar Eventos............................................................................................................................. 27
Release 2 Objetivo: Toma de evaluaciones on-line................................................................................................................................. 28
Release 3 Objetivo: Pre-Inscripcin Individual y Correccin de Exmenes a Desarrollar...................................................29
Release 4 Objetivo: Pre-Inscripcin Corporativa y Seguimiento de Pagos..................................................................................29
Release 5 Objetivo: Logstica de Eventos..................................................................................................................................................... 30
Release 6 Objetivo: Eventos Tentativos.......................................................................................................................................................30
Release 7 Objetivo: Integracin con sistemas externos........................................................................................................................ 31
Historias de Usuario.................................................................................................................................................................................................................. 32
Componentes de una Historia de Usuario...............................................................................................................................................................33
Redaccin de una Historia de Usuario...................................................................................................................................................................... 33
Primera Persona.......................................................................................................................................................................................................... 34
Priorizacin....................................................................................................................................................................................................................34
Propsito......................................................................................................................................................................................................................... 34
INVEST - Caractersticas de una Historia de Usuario........................................................................................................................................ 34
Independientes (I)...................................................................................................................................................................................................... 34
Negociable (N).............................................................................................................................................................................................................. 34
Valorable (V)..................................................................................................................................................................................................................35
Estimable (E)................................................................................................................................................................................................................. 35
Pequea (Small)...........................................................................................................................................................................................................35
Verificable (Testable)................................................................................................................................................................................................ 35
Criterio de Listo................................................................................................................................................................................................................... 36
Criterio de Terminado...................................................................................................................................................................................................... 36
Las Historias de Usuario de Nuestro Sistema................................................................................................................................................................36
Estimaciones giles................................................................................................................................................................................................................... 46
Cono de la Incertidumbre................................................................................................................................................................................................46
Estimaciones en contextos inciertos..........................................................................................................................................................................48
Escalas de PBIs y Estimaciones.................................................................................................................................................................................... 48
Mtodos Delphi de Prediccin y Estimacin..........................................................................................................................................................50
Planning Poker..................................................................................................................................................................................................................... 51
La Sabidura de las Multitudes (Wisdom of Crowds)........................................................................................................................................ 51
Conclusiones sobre estimaciones giles..................................................................................................................................................................52
Release Plan ..................................................................................................................................................................................................................................53
Sprint 0.............................................................................................................................................................................................................................................58
Duracin del Proyecto.............................................................................................................................................................................................................. 58
Release y BackLog Burn Down Chart................................................................................................................................................................................ 60
Release Burn Down Chart............................................................................................................................................................................................... 60
BackLog Burn Down Chart............................................................................................................................................................................................. 61
Costo del Proyecto...................................................................................................................................................................................................................... 62
Esta obra fue realizada por Martn Alaimo para KLEER, con aportes de Pablo Tortorella y Daniela Casquero y se encuentra
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivadas 3.0 Unported.
Pgina 2
Anlisis, Estimacin y Planificacin gil con Scrum
Desarrollo Evolutivo
Supongamos que nos han contratado de una empresa de transporte para construir autobuses
para el traslado de nios desde su casa a la escuela y desde la escuela a su casa.
Luego de analizar las caractersticas o funcionalidades que el autobs debe tener, hemos
dividido la problemtica en:
Una alternativa para construir el autobs sera dedicar la primera entrega al chasis y los
frenos, la segunda al motor y la carrocera, la tercera a la transmisin, etc., tal como se
muestra a continuacin.
Pgina 3
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 4
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 5
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 6
Anlisis, Estimacin y Planificacin gil con Scrum
Roles de Usuario
Previo al anlisis del sistema, es necesario identificar los posibles usuarios que tendr. Para
esto utilizaremos una tcnica colaborativa descripta por Mike Cohn 3 basada en el trabajo de
Constantine & Lockwood4. Esta tcnica se realiza en equipo, durante un taller donde el cliente
y tantos desarrolladores como sea posible colaboran en la identificacin de los roles. El taller
se compone de cuatro actividades:
Brainstorming de un conjunto inicial de roles
3 Agile Estimating and Planning, Mike Cohn, 2005
4 Software for Use, Constantine & Lockwood, 1999
Pgina 7
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 8
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 9
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 10
Anlisis, Estimacin y Planificacin gil con Scrum
Consolidacin de roles
Luego de haber agrupado los roles, el siguiente paso ser consolidar y condensar. Para esto se
comienza por aquellas fichas que tienen el mayor solapamiento, se discuten para entender si
podran condensarse en un nico rol y, en el caso de que sea posible hacerlo, se buscar un
nico nombre para que las represente. En nuestro ejemplo, luego de esta dinmica se lleg al
siguiente resultado:
Pgina 11
Anlisis, Estimacin y Planificacin gil con Scrum
Luego de discutir los diferentes roles, se agruparon de forma tal de representar los roles
principales en los niveles superiores, y los sub-roles o especializaciones en los niveles
inferiores, trasladados a su vez, hacia la derecha:
Refinamiento de roles
Pgina 12
Anlisis, Estimacin y Planificacin gil con Scrum
Comercial
Uso intensivo del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser la de proveer
informacin sobre los diferentes cursos frente a las consultas de los interesados. Esto
incluye programa, contenidos, fechas, precios y cantidad de vacantes. Tambin debe
conocer el estado de completitud de cada curso en el calendario y tener la posibilidad
de crear nuevos eventos.
Partner Comercial
dem Comercial, con la particularidad que los eventos creados por un Partner
Comercial se registran como tentativos hasta que un Comercial los confirma.
Marketer
Uso frecuente del sistema con conocimiento limitado del dominio del problema. Posee
un nivel avanzado de experiencia en la utilizacin de computadoras y nivel intermedio
de experiencia con el uso del sistema en particular y alto nivel de experiencia en el uso
de redes sociales como Twitter y Facebook. Su responsabilidad ser la de promover y
difundir los eventos en internet.
Media Partner
Uso eventual del sistema con bajo conocimiento del dominio del problema.
Posee un nivel avanzado de experiencia en la utilizacin de computadoras y
nivel bajo de experiencia con el uso del sistema en particular y alto nivel de
experiencia en su sitio web. Su responsabilidad ser la de difundir los eventos
entre los usuarios de sus sitios web, realizar sorteos y proveer cdigos de
descuento. Tambin debe conocer el estado de su cuenta en el caso de obtener
beneficios econmicos en base a referidos.
Interesado
Uso infrecuente del sistema sin conocimiento del dominio del problema. Se asumir un
nivel avanzado de experiencia en la utilizacin de computadoras y bajo nivel de
Pgina 13
Anlisis, Estimacin y Planificacin gil con Scrum
experiencia con el uso del sistema en particular. Su inters ser consultar el calendario
y contenidos de los eventos.
Interesado E-mail
dem interesado, pero su inters es recibir informacin va e-mail.
Persona a Inscribirse
Uso infrecuente del sistema sin conocimiento del dominio del problema. Se asumir un
nivel avanzado de experiencia en la utilizacin de computadoras y bajo nivel de
experiencia con el uso del sistema en particular. Su inters es inscribirse a un
determinado evento.
Beneficiario de Empresa
Uso infrecuente del sistema sin conocimiento del dominio del problema. Se
asumir un nivel avanzado de experiencia en la utilizacin de computadoras y
bajo nivel de experiencia con el uso del sistema en particular. Su inters es
recibir informacin sobre los eventos a los que fue inscripto por una tercera
persona.
Deudor
Uso infrecuente del sistema sin conocimiento del dominio del problema. Se asumir un
nivel avanzado de experiencia en la utilizacin de computadoras y bajo nivel de
experiencia con el uso del sistema en particular. Su inters es la realizacin de los
pagos pendientes para poder asistir al evento al cual est inscripto.
Gestor de Cobranzas
Uso intensivo del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser el
seguimiento de los pagos de los diferentes eventos.
Pgina 14
Anlisis, Estimacin y Planificacin gil con Scrum
Facturador
Uso intensivo del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser la realizacin
de las facturas a individuos u organizaciones.
Gestor de Logstica
Uso peridico del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser el
seguimiento de todo lo que hace a la logstica de un determinado evento.
Gestor de Compras
Uso peridico del sistema con gran conocimiento del dominio del problema.
Posee un nivel intermedio de experiencia en la utilizacin de computadoras y
alto nivel de experiencia con el uso del sistema en particular. Su responsabilidad
ser la realizacin de todas las compras necesarias para los eventos.
Gestor de Materiales
Uso peridico del sistema con gran conocimiento del dominio del problema.
Posee un nivel intermedio de experiencia en la utilizacin de computadoras y
alto nivel de experiencia con el uso del sistema en particular. Su responsabilidad
ser la determinacin y administracin de los materiales y cantidades para cada
tipo de evento.
Recepcionista
Uso frecuente del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser la recepcin
de los asistentes, la toma de asistencia y la autorizacin de participacin a los mismos.
Instructor
Uso frecuente del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio a avanzado de experiencia en la utilizacin de computadoras y alto
nivel de experiencia con el uso del sistema en particular. Su objetivo ser la creacin de
tipos de eventos y la provisin de los contenidos, programas, lecturas y material
asociado a cada uno de ellos. Tambin ser su responsabilidad la evaluacin de los
exmenes rendidos por los alumnos.
Alumno
Uso infrecuente del sistema sin conocimiento del dominio del problema. Se asumir un
nivel avanzado de experiencia en la utilizacin de computadoras y bajo nivel de
experiencia con el uso del sistema en particular. Est interesado en acceder a los
contenidos de los diferentes cursos o eventos a los cuales asiste, como as tambin en
poder rendir los exmenes que cada curso requiera y obtener los correspondientes
Pgina 15
Anlisis, Estimacin y Planificacin gil con Scrum
Alumno Certificable
dem Alumno. Su inters consiste en poder recibir las instrucciones necesarias
para solicitar la certificacin correspondiente. Las certificaciones generalmente
estn relacionadas a la completitud de una serie determinada de cursos o un
curso en particular.
Ex-Alumno
dem Alumno. Su inters es recibir informacin sobre nuevos eventos o cursos
relacionados o correlativos a los cursos o eventos a los que ha aistido.
Responsable de Finanzas
Uso intensivo del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser la
planificacin y elaboracin de presupuestos para cursos y eventos y el conocimiento de
los resultados econmicos de los mismos.
Responsable de REPs
Uso intensivo del sistema con gran conocimiento del dominio del problema. Posee un
nivel intermedio de experiencia en la utilizacin de computadoras y alto nivel de
experiencia con el uso del sistema en particular. Su responsabilidad ser la publicacin
de los alumnos en los cursos declarados en los sistemas de las organizaciones de las
cuales la empresa es REP (Registered Education Provider).
Pgina 16
Anlisis, Estimacin y Planificacin gil con Scrum
1. Venta de Evento
2. Registracin a Evento
3. Cobranza de Evento
4. Facturacin de Evento
5. Evaluacin de Evento
6. Logstica de Evento
Pgina 17
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 18
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 19
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 20
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 21
Anlisis, Estimacin y Planificacin gil con Scrum
Para el sistema en cuestin hemos identificado las siguientes funcionalidades por cada uno de
los procesos de negocio:
Venta de Evento
Sugerir Evento
Notificar a comercial
Crear Evento
Pgina 22
Anlisis, Estimacin y Planificacin gil con Scrum
Ver listado de eventos tentativos agrupados por Partner Comercial y/o Regin
Difundir Evento
Publicar Evento en
Difundir va Mailchimp
Responder Consultas
Generar texto con fechas y valores para Copy & Paste en e-mail de respuesta
Registracin a Evento
Pre-Inscripcin a Evento
Pre-Inscripcin individual
Pre-Inscripcin de grupo
Pgina 23
Anlisis, Estimacin y Planificacin gil con Scrum
Pre-Inscripcin corporativa
Confirmacin de Inscripcin
Notificar Inscripcin
Recordatorio de Evento
Cobranza de Evento
Pago de Pre-inscripcin
Pagar en/por
Efectivo
Cheque
Transferencia Bancaria
PayPal
Mercado Pago
Procesar Cobro
Registro de Pago
Facturacin de Evento
Facturar Evento
Pgina 24
Anlisis, Estimacin y Planificacin gil con Scrum
Generar Factura
Imprimir Factura
Entregar Factura
Evaluacin de Evento
Responder Preguntas
Corregir Evaluacin
Feedback de correccin
Notificar Resultado
Recuperar Evaluacin
Feedback de correccin
Pgina 25
Anlisis, Estimacin y Planificacin gil con Scrum
Logstica de Evento
ABM Materiales
Generar Checklist
Actualizar Checklist
Operar Checklist
Venta de Evento
Crear Evento
Difundir Evento
Pgina 26
Anlisis, Estimacin y Planificacin gil con Scrum
Responder Consultas
Generar texto con fechas y valores para Copy & Paste en e-mail de respuesta
Registracin a Evento
Pre-Inscripcin a Evento
Pre-Inscripcin individual
Confirmacin de Inscripcin
Notificar Inscripcin
Cobranza de Evento
Pago de Pre-inscripcin
Pagar en/por
Efectivo
Cheque
Transferencia Bancaria
Procesar Cobro
Registro de Pago
Evaluacin de Evento
Responder Preguntas
Pgina 27
Anlisis, Estimacin y Planificacin gil con Scrum
Corregir Evaluacin
Notificar Resultado
Recuperar Evaluacin
Registracin a Evento
Pre-Inscripcin a Evento
Evaluacin de Evento
Responder Preguntas
Corregir Evaluacin
Feedback de correccin
Registracin a Evento
Pre-Inscripcin a Evento
Pgina 28
Anlisis, Estimacin y Planificacin gil con Scrum
Pre-Inscripcin corporativa
Confirmacin de Inscripcin
Recordatorio de Evento
Cobranza de Evento
Pago de Pre-inscripcin
Pagar en/por
PayPal
Mercado Pago
Logstica de Evento
ABM Materiales
Generar Checklist
Actualizar Checklist
Operar Checklist
Pgina 29
Anlisis, Estimacin y Planificacin gil con Scrum
Venta de Evento
Sugerir Evento
Notificar a comercial
Crear Evento
Ver listado de eventos tentativos agrupados por Partner Comercial y/o Regin
Responder Consultas
Registracin a Evento
Pre-Inscripcin a Evento
Pre-Inscripcin de grupo
Venta de Evento
Sugerir Evento
Pgina 30
Anlisis, Estimacin y Planificacin gil con Scrum
Crear Evento
Difundir Evento
Publicar Evento en
Difundir va Mailchimp
Cobranza de Evento
Procesar Cobro
Facturacin de Evento
Facturar Evento
Generar Factura
Imprimir Factura
Entregar Factura
Historias de Usuario
Valor: Software funcionando por sobre la documentacin extensiva
Principio: El mtodo ms eficiente y eficaz de transmitir informacin
Pgina 31
Anlisis, Estimacin y Planificacin gil con Scrum
Las Historias de Usuario surgieron en eXtremme Programming (XP) como una respuesta a
una situacin habitual en los proyectos de desarrollo do software: los clientes o especialistas
de negocio se comunican con los equipos de desarrollo a travs de extensos documentos
conocidos como especificaciones funcionales. A su vez, las especificaciones funcionales son la
documentacin de supuestos y estn sujetas a interpretaciones, lo que causa malos
entendidos y que finalmente el software construido no se corresponda con la realidad
esperada.
Una de las principales razones por las cuales la utilizacin de especificaciones detalladas
como medio de comunicacin no conduce a resultados satisfactorios es porque solo cubre una
porcin mnima (7%) del espectro de la comunicacin humana: el contenido. Segn Albert
Mehrabian, la comunicacin humana se compone de tres partes6:
En un 7%: El contenido (las palabras, lo dicho)
En un 38%: El tono de la voz
En un 55%: Las expresiones faciales
Por esto se concluye que para tener una comunicacin slida, completa, es necesario el
contacto cara-a-cara entre los interlocutores. En un esfuerzo orientado a que esas
conversaciones existan, podemos decir que las Historias de Usuario son especificaciones
funcionales que invitan a la conversacin para que el detalle sea consecuencia de esta ltima y
no un remplazo.
Una Historia de Usuario se compone de 3 elementos, tambin conocidos como las tres Cs7 de
las Historias de Usuario:
1. Card (Ficha) Toda historia de usuario debe poder describirse en una ficha de papel
pequea. Si una Historia de Usuario no puede describirse en ese tamao, es una seal
de que estamos traspasando las fronteras y comunicando demasiada informacin que
debera compartirse cara a cara.
2. Conversacin Toda historia de usuario debe tener una conversacin con el Product
Owner. Una comunicacin cara a cara que intercambia no solo informacin sino
tambin pensamientos, opiniones y sentimientos.
Pgina 32
Anlisis, Estimacin y Planificacin gil con Scrum
Primera Persona
La redaccin en primera persona de la Historia de Usuario invita a quien la lee a ponerse en el
lugar del usuario.
Priorizacin
Tener esta estructura para redactar la Historia de Usuario ayuda al Product Owner a priorizar.
Si el Product Backlog es un conjunto de tems como Permitir crear un evento tentativo,
Confirmar un evento tentativo, Notificar al responsable de logstica, Ver el estado de
inscripciones, etc. el Product Owner debe trabajar ms para comprender cul es la
funcionalidad, quien se beneficia y cul es el valor de la misma.
Propsito
Conocer el propsito de una funcionalidad permite al equipo de desarrollo plantear
alternativas que cumplan con el mismo propsito en el caso de que el costo de la
funcionalidad solicitada sea alto o su construccin no sea viable.
Se recomienda que toda Historia de Usuario cumpla con 6 caractersticas que podemos
recordar bajo la regla mnemotcnica INVEST9:
Independientes (I)
Las Historias de Usuario deben ser independientes de forma tal que no se superpongan en
funcionalidades y que puedan planificarse y desarrollarse en cualquier orden.
Muchas veces esta caracterstica no puede cumplirse para el 100% de las Historias. El objetivo
que debemos perseguir es preguntarnos y cuestionarnos en cada Historia de Usuario si hemos
hecho todo lo posible para que sta sea independiente del resto.
8 Advantages of the As a user, I want user story template, Mike Cohn, 2008
9 INVEST in Good Stories, and SMART Tasks, Bill Wake, 2003
Pgina 33
Anlisis, Estimacin y Planificacin gil con Scrum
Negociable (N)
Una buena Historia de Usuario es Negociable. No es un contrato explcito por el cual se debe
entregar todo-o-nada. Por el contrario, el alcance de las Historias (sus criterios de aceptacin)
podran ser variables: pueden incrementarse o eliminarse con el correr del desarrollo y en
funcin del feedback del usuario y/o la performance del Equipo. En el caso de que uno o
varios criterios de aceptacin se eliminen de una Historia de Usuario, estos se transformarn
en una o varias Historias de Usuario nuevas.
Esta es la herramienta que el Product Owner y el Equipo tienen para negociar el alcance de
cada Sprint.
Valorable (V)
Una Historia de Usuario debe ser Valorable por el Product Owner. Los Desarrolladores
pueden tener actividades tcnicas como parte del BackLog, pero para que puedan ser
consideradas una Historia de Usuario, deben ser enmarcadas de forma tal que el Product
Owner las considere importantes, caso contrario, no deberan formar parte del BackLog.
En general, esta caracterstica representa un desafo a la hora de dividir Historias de Usuario.
Bill Wake propone pensar en una Historia de Usuario como si fuese una torta de mltiples
capas, por ejemplo: una capa de persistencia, una capa de negocio, una capa de presentacin,
etc. Cuando dividamos esa Historia de Usuario, lo que vamos a estar sirviendo es una parte de
esa torta y el objetivo debera ser darle al Product Owner la esencia de la torta completa, y
la mejor manera de hacerlo es cortando una rodaja vertical de esta torta a travs de todas
las capas. Los Desarrolladores tenemos una inclinacin especial de trabajar en una capa a la
vez hasta completarla, pero una capa de persistencia de datos completa y terminada tiene
muy poco o ningn valor para el Product Owner si no hay una capa de negocio y de
presentacin.
Estimable (E)
Una Historia de Usuario debera ser estimable. Mike Cohn 10, identifica tres razones principales por
las cuales una Historia de Usuario no podra estimarse:
La Historia de Usuario es demasiado grande. En este caso la solucin sera dividir la
Historia de Usuario en historias ms pequeas que sean estimables.
Falta de conocimiento funcional. En este caso la Historia de Usuario vuelve al Product
Owner para bajar en detalle la Historia o inclusive (y recomendable) tener una conversacin
con el Equipo de Desarrollo.
Falta de conocimiento tcnico. Muchas veces el Equipo de Desarrollo no tiene el
conocimiento tcnico suficiente para realizar la estimacin. En estos casos el Equipo de
Desarrollo puede dividir la historia en 1) un time-box conocido como spike que le permita
investigar la solucin y proveer una estimacin ms certera y 2) la funcionalidad a
desarrollar como parte de la Historia en si misma.
Pequea (Small)
Toda Historia de Usuario debe ser lo suficientemente pequea de forma tal que permita ser estimada
por el Equipo de Desarrollo. Algunos Equipos fijan el tamao de una Historia de usuario como no
10 User Stories Applied, Mike Cohn, 2003
Pgina 34
Anlisis, Estimacin y Planificacin gil con Scrum
ms de dos semanas de una persona. Si bien no es una medida explcita, tener entre 4 y 6 Historias
de Usuario por Sprint es una buena seal de tamao.
Las descripciones de las Historias de Usuario tambin deberan ser pequeas, y escribirlas en fichas
pequeas ayuda a que eso suceda.
Verificable (Testable)
Una buena Historia de Usuario es Verificable. Se espera que el Product Owner no solo pueda
describir la funcionalidad que necesita, sino que tambin logre verificarla (probarla). Algunos
Equipos acostumbran solicitar los criterios de aceptacin antes de desarrollar la Historia de Usuario.
Si el Product Owner no sabe cmo verificar una Historia de Usuario o no puede enumerar los
criterios de aceptacin, esto podra ser una seal de que la Historia en cuestin no est siendo lo
suficientemente clara.
Criterio de Listo
Tambin conocido como READY Criteria, es el conjunto de caractersticas que una Historia
de Usuario debe cumplir para que el Equipo de Desarrollo pueda comprometerse a su entrega,
es decir, incluirla en un Sprint Backlog. Un tpico criterio de Listo podra ser:
Todos sus pre-requisitos estn resueltos (ej: dependencias con otros Equipos)
Criterio de Terminado
Tambin conocido como DONE Criteria, es el conjunto de caractersticas que una Historia de
Usuario debe cumplir para que el equipo de desarrollo pueda determinar si ha terminado de
trabajar en ella. Un tpico criterio de Terminado podra ser:
Todos los archivos fuentes estn en el repositorio de cdigo fuente y el build se ejecut
exitosamente
En el caso de Product Owners muy exigentes: El Product Owner dio su visto bueno de
la funcionalidad construida antes de llegar a la Review Meeting.
Pgina 35
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 36
Anlisis, Estimacin y Planificacin gil con Scrum
Promociones
7 Comercial Generar un texto Pegarlo en los - Debe generarlo agrupando
con fechas y valores e-mail de por ciudad, cursos, fechas y
respuesta precios de cada uno.
8 Comercial Dashboard de Conocer el - Muestra los eventos con
inscripciones a estado de colores: Rojo, Naranja,
cursos completitud Amarillo y Verde. Los
de cada curso criterios son:
Un evento debe estar al
50% al menos 15 das antes
Un evento debe estar al
75% al menos una semana
antes
Un evento debe estar al
100% dos das antes
- La varianza sobre esos
nmeros alteran los colores:
Menos del 50% (Rojo)
Del 50% al 75% (Naranja)
Del 75% al 90% (Amarillo)
Del 90% al 100% (Verde)
9 Interesado Pre-Inscribirme Iniciar la Debe solicitar Nombre*,
reserva de mi Apellido*, Telfono de
vacante Contacto*, Email*,
Empresa/Carrera, Rol y
Solicitar confirmacin de que
el asistente llevar notebook*
si el curso lo requiere.
* = obligatorio, el resto,
opcional.
10 Comercial Ser notificado de Poder El email debe ser enviado a
cada inscripcin reaccionar en una direccin de correo
tiempo real configurable indicando los
frente a cada datos de contacto de la
una persona que realiz la
inscripcin.
11 Comercial Confirmar la Financiar Un pre-inscripto puede
inscripcin sin pago ciertas conviertirse en inscripto sin
(pago a cuenta) vacantes haber realizado el pago.
12 Comercial Conocer los Pagos Realizar el Listar los eventos con pagos
Pendientes por seguimiento pendientes y un detalle de las
evento de los pagos pre-inscripciones pendientes
de pago por cada evento.
13 Interesado Pagar en efectivo Confirmar mi Una vez que un interesado se
Pgina 37
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 38
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 39
Anlisis, Estimacin y Planificacin gil con Scrum
instructor
30 Instructor Feedback de Poder - Al finalizar la correccin, el
correccin recomendar o instructor podr dar feedback
sugerir de la evaluacin por medio de
acciones a los un campo de texto libre.
alumnos
Release 4 - Pre-Inscripcin Corporativa y Seguimiento de Pagos
Prioridad Como ... Necesito ... Para ... Criterios de Aceptacin
31 Empresa Realizar una Pre- Inscribir Al inscribir se deber solicitar
Inscripcin varios responsable (mismos campos
corporativa empleados de que pre-inscripcin) y
una sola vez cantidad de inscriptos (hasta
10).
- Luego, cada inscripto deber
tener Nombre, Apellido, E-
mail y Nmero de Contacto.
32 Interesado Recibir un Alertarme - Enviado por e-mail al e-mail
Recordatorio de sobre la de contacto de cada inscripto
Evento proximidad (copiando a los responsables
del evento e de inscripciones corporativas
informarme una sola vez).
sobre los - Recordar horario, lugar y
pormenores requisitos. Solicitar aviso en
el caso de que el evento tenga
almuerzo y el interesado
tenga restricciones
alimenticias.
- Se debe enviar dos das
antes del evento.
33 Responsable Ser notificado sobre A definir A definir
Logstico cupo alcanzado
34 Interesado Ser notificado sobre Poder - Se enviar un recordatorio
el pago pendiente confirmar mi de pago pendiente 48hs luego
vacante a de la pre-inscripcin,
tiempo avisando que la misma vence
en 24hs hbiles.
35 Administrati Obtener la Poder emitir - Con cada Pre-Inscripcin se
vo informacin de las facturas solicitar informacin de
facturacin correctament facturacin: Razn Social,
e Domicilio Fiscal, CUIT,
Situacin frente al IVA.
36 Interesado Pagar por PayPal Confirmar mi - El sistema deber proveer
Vacante un link de pago de PayPal.
Pgina 40
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 41
Anlisis, Estimacin y Planificacin gil con Scrum
checklists
Release 6 - Eventos Tentativos
Prioridad Como ... Necesito ... Para ... Criterios de Aceptacin
46 Partner Crear evento Proponer la A definir
Comercial tentativo realizacin del
mismo
47 Comercial Ser notificado de un Realizar las A definir
nuevo evento acciones
tentativo necesarias
para la
confirmacin
del mismo
48 Partner Consultar agenda Conocer las A definir
Comercial de eventos fechas y
disponibilidad
para crear
eventos
tentativos
49 Partner Modificar evento Realizar A definir
Comercial tentativo correcciones o
reprogramar
eventos
tentativos
50 Partner Cancelar evento Dejar de A definir
Comercial tentativo seguirlo
51 Comercial Ver listado de Tener un A definir
eventos tentativos panorama de
la
planificacin
futura de
eventos
52 Comercial Confirmar evento Transformarl A definir
tentativo o en un
evento
agendado y
publicarlo.
53 Partner Ser notificado Comenzar a A definir
Comercial / sobre la comercializarl
Comercial / confirmacin de o
Instructor evento
54 Comercial Ver listado de Tener un A definir
eventos tentativos panorama de
agrupados por la
Pgina 42
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 43
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 44
Anlisis, Estimacin y Planificacin gil con Scrum
Estimaciones giles
Cono de la Incertidumbre
En gestin de proyectos, el cono de la incertidumbre describe la evolucin de la incertidumbre
durante la ejecucin de un proyecto. Al comienzo, poco es conocido sobre el producto y el
resultado del trabajo, por tanto las estimaciones estn sujetas a una gran incertidumbre. A
medida que avanzamos en el proyecto obtenemos mayor conocimiento sobre el entorno, la
necesidad de negocio, el producto y el proyecto mismo. Esto causa que la incertidumbre
tienda a reducirse progresivamente hasta desaparecer, esto ocurre generalmente hacia el
final del proyecto: no se alcanza una incertidumbre del 0% sino hasta haber finalizado.
Muchos ambientes cambian tan lentamente que la incertidumbre reinante puede ser
considerada constante (evolucin esttica) durante la duracin de un proyecto tpico. En estos
contextos la gestin tradicional de proyectos hace hincapi en lograr un entendimiento total
mediante el anlisis y la planificacin detallada antes de comenzar a trabajar. De esta manera
los riesgos son reducidos a un nivel en el que pueden ser gestionados cmodamente. En estas
situaciones, el nivel de incertidumbre decrece rpidamente al comienzo y se mantiene
prcticamente constante (y bajo) durante la ejecucin del proyecto.
Pgina 45
Anlisis, Estimacin y Planificacin gil con Scrum
El contexto del software, por el contrario, es un contexto altamente voltil donde hay muchas
fuerzas externas actuando para incrementar el nivel de incertidumbre, como lo son los
cambios producidos en el contexto de negocio, los cambios tecnolgicos y aquellos surgidos
por la mera existencia del producto construido que acontecen durante la ejecucin del
proyecto. Debido a esta razn, se requiere trabajar activa y continuamente en reducir el nivel
de incertidumbre.
Investigaciones han demostrado que en la industria del software, el nivel de incertidumbre al
comienzo de un proyecto es del +/- 400% 11, esta incertidumbre tiende a decrementarse
durante la evolucin del proyecto, pero sin garantas de ello.
11 McConnell, S (2006) Software Estimation: Demystifying the Black Art, Microsoft Press.
Pgina 46
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 47
Anlisis, Estimacin y Planificacin gil con Scrum
14 Con una leve deformacin ya que se interrumpe la sucesin en el nmero 21 y se agregan luego los nmeros 40 y
100.
15 Jeff Sutherland (2010),Story Points: Why are they better than hours?,
http://scrum.jeffsutherland.com/2010/04/story-points-why-are-they-better-than.html
16 Mike Cohn (2007), Why I Don't use Story Points for Sprint Planning, http://blog.mountaingoatsoftware.com
17 Ibid.
18 La Corporacin RAND (Research And Development) es un laboratorio de ideas (think tank) norteamericano
formado, en un primer momento, para ofrecer investigacin y anlisis a las fuerzas armadas norteamericanas.
(fuente: Wikipedia)
Pgina 48
Anlisis, Estimacin y Planificacin gil con Scrum
en la elaboracin de un cuestionario que ha de ser contestado por una serie de expertos. Una
vez recibida la informacin, se vuelve a realizar otro cuestionario basado en el anterior para
ser contestado nuevamente.
Al final, el responsable del estudio elaborar sus conclusiones a partir de la explotacin
estadstica de los datos obtenidos en las iteraciones anteriores.
El Mtodo Delphi se basa en:
El anonimato de los participantes
La repeticin y retroalimentacin controlada
La respuesta del grupo en forma estadstica
Basados en el Mtodo Delphi, Barry Boehm y John Farquhar elaboraron en 1970 la variante
conocida desde entonces como Wideband Delphi. Se trata de una tcnica basada en la
obtencin de consensos para la estimacin de esfuerzos, llamada wideband porque a
diferencia del conocido mtodo Delphi, esta tcnica requiere de un mayor grado de
interaccin y discusin entre los participantes. Wideband Delphi fue popularizado en 1981
por Boehm en su libro Software Engineering Economics donde presenta los siguientes pasos
para su ejecucin:
1. Un coordinador presenta a cada experto una especificacin y un formulario de
estimacin.
2. El coordinador convoca a una reunin de grupo en la que los expertos debaten temas
de estimacin.
3. Los expertos llenan los formularios de forma annima.
4. El coordinador prepara y distribuye un resumen de las estimaciones.
5. El coordinador convoca a una reunin de grupo, centrndose especficamente en
aquellas estimaciones donde los expertos varan ampliamente.
6. Los expertos completan los formularios una vez ms de forma annima, y los pasos 4 a
6 son repetidos para tantas rondas como sea necesario.
Planning Poker
James Greening present en su paper en 2002 llamado Planning Poker (o cmo evitar anlisis
parlisis en la planificacin de liberaciones)19 donde se basa en el mtodo Wideband Delphi
para realizar la estimacin de requerimientos (o User Stories) de forma colaborativa en un
Equipo. La tcnica consiste en que cada integrante del Equipo posee en sus manos una baraja
de cartas con los nmeros correspondientes a la sucesin de Fibonacci20 y se siguen los
siguientes pasos:
1. El responsable del negocio presenta una historia de usuario para ser estimada.
2. Todos los participantes proceden a realizar su estimacin en forma secreta, sin
influenciar al resto del Equipo, poniendo su carta elegida boca abajo sobre la mesa.
3. Una vez que todos los integrantes han estimado, se dan vuelta las cartas y se discuten
19 http://renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf
20 Se puede repasar en la seccin de Escalas de PBIs y Estimaciones
Pgina 49
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 50
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 51
Anlisis, Estimacin y Planificacin gil con Scrum
Release Plan
A continuacin se presentan las Historias de Usuario estimadas por el Equipo de Desarrollo,
utilizando Planning Poker con Fibonacci y estimando una velocidad de Iteracin de 15 puntos
de historia con una duracin de dos semanas:
Release 1 - Comercializar Eventos
Prioridad Como ... Necesito ... Para ... Estimacin
Sprint 1 Velocidad: 15 puntos
1 Comercial Crear un evento Hacer el seguimiento 3
confirmado del mismo
2 Comercial Ver listado de eventos No superponer eventos 2
confirmados
3 Comercial Modificar evento Corregir cualquier 2
confirmado error o re programarlo
4 Comercial Cancelar evento Dejar de seguirlo 1
confirmado
5 Comercial Listar los eventos en un Que los interesados 2
sitio web puedan verlos
6 Comercial Publicar los detalles de Que los interesados 5
cada evento puedan verlos
Sprint 2 Velocidad: 15 puntos
7 Comercial Generar un texto con Pegarlo en los e-mail de 5
fechas y valores respuesta
9 Interesado Pre-Inscribirme Iniciar la reserva de mi 2
vacante
8 Comercial Dashboard de Conocer el estado de 8
inscripciones a cursos completitud de cada
curso
Sprint 3 Velocidad: 14 puntos
10 Comercial Ser notificado de cada Poder reaccionar en 2
inscripcin tiempo real frente a
cada una
11 Comercial Confirmar la inscripcin Financiar ciertas 2
sin pago (pago a cuenta) vacantes
12 Comercial Conocer los Pagos Realizar el seguimiento 3
Pendientes por evento de los pagos
13 Interesado Pagar en efectivo Confirmar mi vacante 1
14 Interesado Pagar con Cheque Confirmar mi vacante 1
Pgina 52
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 53
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 54
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 55
Anlisis, Estimacin y Planificacin gil con Scrum
Comercial /
Instructor
54 Comercial Ver listado de eventos Tener un panorama de 3
tentativos agrupados por la planificacin futura
Partner Comercial y/o de eventos
Regin
55 Interesado Obtener un brochure de Evaluar la informacin 5
cada evento con mayor detalle
Sprint 13 Velocidad: 16 puntos
56 Interesado Pre-Inscribir un grupo de Asistir varios a un 8
personas mismo evento sin ser
una organizacin
Release 7 Integracin con sistemas Externos
Prioridad Como ... Necesito ... Para ... Estimacin
57 Partner Consultar agenda de Conocer su 3
Comercial instructores disponibilidad
58 Comercial Registrar evento Publicar su existencia a 5
tentativo en Google todos los suscriptos a
Calendar dicho calendario
Sprint 14 Velocidad: 15 puntos
59 Comercial Registrar evento Publicar su existencia a 5
confirmado en Google todos los suscriptos a
Calendar dicho calendario
60 Responsable Crear balance contable Comenzar a hacer el 5
Financiero del evento en Google seguimiento financiero
Docs de un evento
61 Comercial Publicar Evento en Dar a conocer su 5
Twitter, Facebook & existencia
LinkedIn
Sprint 15 Velocidad: 15 puntos
62 Comercial Difundir va Mailchimp Dar a conocer su 5
existencia
63 Comercial Difundir en forma masiva Dar a conocer su 5
existencia
64 Comercial Difundir a leads Dar a conocer su 5
comerciales existencia
Sprint 16 Velocidad: 15 puntos
65 Administrati La gneracin de asiento Registrar el cobro con 8
vo contable de Cobro menor esfuerzo
Pgina 56
Anlisis, Estimacin y Planificacin gil con Scrum
Sprint 0
El Sprint 0 (cero) es una aproximacin que muchos autores utilizan para realizar todas
aquellas tareas necesarias para hacer el setup de un proyecto de desarrollo. Esto incluye pero
no se limita nicamente a configurar los entornos de desarrollo, realizar el release plan,
disear la arquitectura de la aplicacin a alto nivel, configurar el repositorio de cdigo fuente,
etc. En nuestro caso, el Sprint 0 tendr una duracin de 2 semanas, aunque podra ser
diferente a los Sprints de desarrollo.
Pgina 57
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 58
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 59
Anlisis, Estimacin y Planificacin gil con Scrum
Pgina 60
Anlisis, Estimacin y Planificacin gil con Scrum
Acerca de Kleer
Somos una empresa de capacitacin y coaching gil donde creemos en una forma de trabajo
clara, centrada en las personas y orientada hacia las necesidades especficas de cada contexto.
Nuestras premisas son:
Mantenerlo simple. Las metodologas y prcticas de trabajo en las que confiamos
aportan claridad a los proyectos. Los proyectos claros se vuelven ms previsibles y con
menor incidencia de errores evitables.
Las personas son todo. No acompaamos proyectos sino equipos y personas. Nuestro
propsito es transmitirles nuestro conocimiento y experiencia para que logren
resultados de los que se sientan orgullosos.
Cada contexto es un mundo. Estudiamos las caractersticas de cada proyecto u
organizacin para entender cules son las prcticas y metodologas que mejor
responden a sus necesidades y objetivos de negocio.
Esta obra fue realizada por Martn Alaimo para KLEER, con aportes de Pablo Tortorella y Daniela Casquero y se encuentra
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivadas 3.0 Unported.
Pgina 61