Scrum - JORGE OSPINA

Download Report

Transcript Scrum - JORGE OSPINA

CORPORACION
UNIFICADA DE EDUCACION SUPERIOR
CUN
CARRERA: ING. DE SISTEMAS
MATERIA: TECNICAS DE PROGRAMACION
UNIVERSITARIO:
Federman Correa Oviedo
DOCENTE
Ing. JORGE OSPINA
BOGOTA-COLOMBIA
2012
* EL MANIFIESTO AGIL
* En el año 2001 en estados unidos tuvo lugar la
reunión en donde 17 de los mejores críticos de
los modelos de mejora del desarrollo de
software los cuales fueron convocados a su vez
por Kent Beck ingeniero estadounidense, quien
años atrás se había constituido en uno de los
progenitores de las metodologías de desarrollo
de software
* Consecuentemente
los integrantes de esta
reunión sintetizaron una serie de principios de
toda metodología ágil como una comunicación
directa con el cliente, gente altamente
motivada en una serie de 12 principios que a su
vez se resumen en 4 postulados los cuales se
han nominado como MANIFIESTO AGIL.
* Fig.1.1
* Así
pues en el ámbito de la metodología ágil ellos
estimaron más lo valores o principios que están a la
izquierda de la grafica que lo que se encuentra a la
derecha
* en una metodología ágil es más importante los
individuos e iteraciones que
los procesos y
herramientas, el software funcionando sobre la
documentación extensiva, la colaboración con el
cliente sobre la negociación contraactual, la
respuesta al cambio frente a seguir un plan. Sin
embargo los principios de la derecha continúan
siendo importantes pero los de las izquierda tienen
mayor peso priman más
*
* En
el desarrollo ágil las personas son las que
entregan el talento y las iteraciones que hay
sobre ellas. Empleando un proceso mínimo
para hacer manejable el proyecto con el
propósito de que todo no sea un caos al
empezar el trabajo.
*
*En el caso de que es más importante el software
funcionado frente a la documentación extensiva,
se refiere a los prototipos de software, cuando
por ejemplo no sabemos muy bien hacia dónde
vamos en el desarrollo de una aplicación con el
uso de un prototipo muchas veces se encuentran
posibilidades que no estaban contempladas en un
principio y que no hubiera sido posible de ser
plasmado en un documento de requisito inicial.
*
* La
colaboración con el cliente implica un
contrato donde evidentemente se delimitan
responsabilidades, pagos e incluso tiempos de
entrega
* se introduce un importante componente de
feedback o retroalimentación, donde por una
parte ayudamos al cliente permanentemente
suministrándole al cliente software funcional
para que el vaya probando y coadyudar a que
el cliente descubra cuáles son sus necesidades.
*
*Ahora bien la respuesta ante el cambio frente a
seguir un plan se refiere a que en un entorno
cambiante e inestable como lo es el desarrollo
de software tenemos que ser adaptativos
tenemos que darle la bienvenida al cambio frente
a tener un plan y tener planificación y control.
Sobre estas afirmaciones se basan todas la
metodologías agiles
*
GESTION AGIL DE PROYECTOS
SCRUM
*
* SCRUM
es una metodología ágil de gestión de proyectos
cuyo objetivo primordial es elevar al máximo la
productividad de un equipo. Scrum está pensado en un
desarrollo de software en un proceso iterativo e
incremental es decir nos va a dar las pautas para
gestionar a las personas que realizaran el trabajo.
* Reduce al máximo la burocracia y actividades no
orientadas a producir software que funcione y produce
resultados en periodos muy breves de tiempo (cada 30
días), por medio de iteraciones o Sprints.
* Ideal para proyectos con un rápido cambio de
requerimientos.
CONTEXTO SCRUM
Sólo abarca
prácticas de
gestión sin entrar
en las prácticas de
desarrollo como
puede hacer XP.
Delega completamente
en el equipo la
responsabilidad de
decidir la mejor manera
de trabajar para ser lo
más productivos posibles
y, le da gran
protagonismo a las
reuniones que realicen a
lo largo del proyecto.
Sus raíces
teóricas están en
las teorías de la
autoorganización.
*
Product Backlog
• Crea un listado con los requisitos de los
usuarios o propietarios del sistema para
planificar el proyecto.
• No es una lista completa y definitiva. Es sólo
una estimación inicial de los requisitos.
• Es un documento dinámico que incorpora
las constantes necesidades del sistema y
se mantiene durante todo el ciclo de vida
(hasta la retirada del Sistema.).
Sprint Backlog
• Especifica la serie de tareas que se van a
desarrollar según los requisitos señalados.
• Estas tareas tienen una duración de entre 4 y 6
hrs. de trabajo.
• Las de mayor duración intentar descomponerlas
en Sub-Tareas dentro de ese rango de tiempo.
• Al final del sprint se busca un incremento en la
funcionalidad.
Panel de Scrum
Un panel de scrum funciona como un radiador de
información , allí podemos encontrar como van
esas dos semanas de trabajo del equipo, más que
como va el proyecto, como se mencionó
anteriormente lo importante no es el proceso, son
las personas y las iteraciones, de esa forma en el
PANEL.
Planning Poker
Se planifica con todo el
equipo y una baraja de cartas
llamada PLANNING POKER
que
sigue
una
seudo
distribución de Fibonacci de la
siguiente forma tenemos el 1,
2, 3, 5, 8, 13, 20,40 y 100 por
que scrum quiere dar la
sensación de que se realiza
una estimación
Historias de Usuario
•
En una cara se plasma lo que el cliente quiere como lo
quiere y para que lo quiere o sea la forma como X quiero
Y para alcanzar Z
•
pretendiendo que la persona del equipo que va a trabajar
en esto entienda el por qué el cliente quiere esto, así si el
cliente no tiene claridad sobre lo que quiere el equipo le
puede presentar diferentes alternativas o saber cómo
poder hacer esa tarea, aquí es bastante importante saber el
por qué se quieren las cosas.
Gráfica BurnDown
En esta grafica podemos
encontrar cuando la persona
tiene que acabar cierta tarea,
la idea es visualizar cuando se
acaban las tareas.
Al principio se lleva un
consenso es decir un punto
son 8 horas o un día pero se
interioriza inmediatamente.
Roles o actores del scrum
*El
Scrum Master que chequea que las
cosas se estén cumpliendo que vayan
bien encaminadas, al principio es fácil
relajarse y dejar de hacer cierta tarea
él está recordando que hay que hacer
cosas
* también hace el frente a los problemas
de ser un poco pesado con quien toque.
*
Responsable del proceso Scrum.
* Formación y entrenamiento del proceso.
* Incorporación de Scrum en la cultura de la empresa.
* Garantía de cumplimiento de roles y responsabilidad.
* Dueño del Producto El dueño de la lista
de tareas priorizado por el cliente, lo ideal
es que este rol lo desempeñe el cliente
* El es el “portero” del equipo controla los
goles que puede tener el equipo, si tiene
que lidiar con 100 clientes ese es su trabajo
no del equipo
*
*Equipo
de Desarrollo es un grupo
muy cohesionado de personas, que
tienen claro que persiguen un
objetivo y fomentando buenos
habitos de comunicación, se rompen
un poco los roles de DBA todos hacen
de todo.
*
* El cliente en Scrum
* El cliente en Scrum es vital, es parte del equipo,
si no contamos con un compromiso claro del
cliente que participara con el equipo a lo largo del
desarrollo será mejor tomar otra alternativa. El
cliente juega el papel del Producto Owner quien
representa los intereses de la empresa y de los
demás involucrados relevantes.
*
Ciclo tipico de Scrum
Revisión diaria
Iteración
Sprint backlog
Nueva
funcionalidad
Producto. Back log
seleccionado
Producto. Back log
priorizado
SPRINT
• Es la base del desarrollo Scrum.
• Su duración máxima es de 30 días.
• Se llevan a cabo las tareas pre-establecidas y no se
puede modificar el trabajo acordado en el backlog.
• Sólo el ScrumMaster puede abortar un sprint si lo
considera no viable por alguna de las sigtes. razones:
Las circunstancias del negocio han cambiado.
La tecnología acordada no funciona.
El equipo ha tenido interferencias.
*El ciclo de trabajo del sprint no debe
exceder las dos semanas o sea cada final
sprint debe estar abierto al fin a cambios
de requerimientos si el final de sprint si
excede las dos semanas tiende a ser mucho
menos ágil. Depende del proyecto y el
equipo en el que se encuentre se replantea
como esta mi backlog. Han cambiado las
funcionalidades
*
*DAILY STAND MEETING esta reunión
se lleva a cabo todos los días que vaya a
durar nuestro SPRINT y es para fomentar
el intercambio de comunicación, se tratan
temas como que hiciste ayer que vas a
hacer hoy que impedimentos tienes, para
sacar a flote los posibles errores y para
llevar actualizado el panel
*
*Ahora bien al cabo de esas dos semanas lo
que tenemos que producir es un software
potencialmente entregable al cliente lo
cual es un desafío hay ya no hay tiempo
para escusas, uno como parte del equipo
rompe el equipo por funcionalidades y a
medida que crea va entregando las
funcionalidades
*
* Equipos de entre 6 y 10 personas revisan los
requisitos, la tecnología disponible y evalúan los
conocimientos para Colectivamente determinar
como incrementar la funcionalidad.
* Reuniones diarias, antes de empezar a trabajar,
con una duración máxima de 4 hrs.
* Se llevan a cabo hasta que el proyecto este listo
para ser puesto en producción o ser lanzado al
mercado.
* En la primera reunión se explica al equipo la forma de
trabajo, especificando que son reuniones cortas para
coordinar trabajo y no para solucionar problemas. Se
establecen los criterios para arreglar los errores por
prioridades (base del éxito del sistema).
* En cada reunión las preguntas claves a contestar son:
Qué es lo que se hizo desde la última reunión?
Qué es lo que se va a hacer hasta la siguiente reunión?
Cómo se va a llevar a cabo?






Valor para la organización ante todo,
representado en software funcional
Es preferible tener el 70% de funcionalidad a
tiempo que tratar de lograr el 100% y fallar .
Metodología sencilla pero efectiva.
Visibilidad durante todo el proyecto.
No existe sorpresas.
Scrum no dice como desarrollar, el equipo de
desarrollo escoge la metodología