Las metodológias ágiles propone una forma de resolver problemas con los cuales se había peliado durante años. Se puede decir que los proyectos ágiles:
El principal interés de una metodológia ágil es cambiar la mentalidad del equipo y empezar a incluir prácticas ágiles para que el equipo mejore la forma de construir software.
Es un conjunto de métodos y metodológias que ayudan al equipo a pensar de forma más eficiente, trabajar más eficientemente y tomar mejores decisiones. Y estos métodos y metodologías estan dirigidas a las siguientes áreas:
Lo más importante es que ser ágil, implica una mentalidad donde el equipo por ejemplo pueda tomar decisiones importantes junto, sin necesidad de tener un director que tome las decisiones solo. Porque lo importante es que todas las personas del equipo compartan la misma información.
La historia del movimiento ágil, empieza cuando un grupo de personas se reune para pensar de una manera diferente como resolver los mismos problemas. Lo primero que hacen es publicar un grupo de valores claves que encontraron en común en equipos exitosos, lo llamaron el manifiesto ágil.
Hoy sabemos que no hay una única forma de construir software, no hay un único método que podamos usar para resolver problemas para todo el mundo en toda parte. Muchas personas piensan que un desarrollador puede construir software solo con seguir un conjunto de instrucciones, como siguiendo una receta o ensamblando un producto en una línea de producción.
Sirven para construir características que sus usuarios realmente van a usar, los equipos ágiles empiezan por meterse en la cabeza de los usuarios y tienen en las historias de usuario una herramienta muy efectiva para hacerlo.
Se recomienda utilizar el siguiente formato para definir las historias de usuario
Definir un título de la historia
Cómo un <Tipo de usuario>, yo quiero <Acción específica que va a realizar> así que <lo que quiero que pase como resultado>
Las historias de usuario son efectivas porque hacen tres cosas obvias
El equipo luego debe validar con el Product Owner la historia de usuario y se debe pegar a lo que dice, de esta forma no se desarrolla una nueva funcionalidad que el usuario no necesita y nunca va a usar.
Cada historia de usuario es simple y esta escrita desde la perspectiva del usuario por tanto es fácil para el Product Owner revisar la historia y decir si es realmente importante. Muchos equipos parten las historias de usuario en tareas y empiezan a estimar cuanto se va a demorar cada una.
Las tareas de cada historia deben ir en la columna "To Do" en el tablero para esperar que alguien pueda trabajar en ella. Cuando el miembro de equipo esta listo para empezar una nueva tarea, seleccionará la siguiente tarea más valiosa que puede realizar, escribe el nombre en la tarea y la mueve a la columna "In Progress" para indicar que tomo la tarea.
Una forma de estar seguro de lo que se esta construyendo es imaginar como se va a ver cuando este construído. Es muy satisfactorio cuando el desarrollador da un paso al lado y mira lo que esta construyendo y siente que esta terminado. Las condiciones de satisfacción ayuda para saber como se va a ver el software cuando este terminado y saber cuanto falta para terminar.
Algunos equipos definen una condición de satisfacción por cada historia de usuario, como las cosas que el usuario estará habilitado en hacer con el software una vez la historia sea escrita. Normalmente esta condición se escribe en la parte de átras del post-it.
Estas condiciones son valiosas para el desarrollador porque ayudan a evitar cantar victoria muy rápido. Le da por tanto al equipo una definición concreta de que significa terminado.
Condiciones de satisfacciónDurante la planeación del spring, todo el equipo trabaja junto para estimar cuanto trabajo pueden realizar en el sprint, para poder fijar una meta para el software funcionando que será entregado al final. Una técnica que a mostrado efectividad para los equipos de scrum al estimar cuanto trabajo puede hacer un equipo es usar story points. Por medio de los story points, podemos entender cuanto esfuerzo se necesita para construir una historia de usuario específica, asignandole un puntaje.
No hay un estandar o regla general sobre como se deben asignar los puntos a cada historia, algunos equipos asignan valores entre 1 y 5 a cada historia. Lo importante es usar una regla consistente entre cada sprint. Algunos equipos usan números de la secuencia de fibonnacci o numeros exponenciales. Finalmente se debe contar cuantos puntos se completan en un sprint y esta sumatoria daría el valor de velocity del proyecto.
Los equipos tienden a trabajar a una velocidad constante, medida a través de los sprints. Cuando es difíficl predecir cual será la velocidad del proyecto antes de empezar a trabajar con el equipo, se puede usar la velocidad de spring pasados para planear el siguiente. Sin embargo, si un equipo hizo 32 puntos el sprint pasado y 29 en el sprint siguiente no hay garantía que realice 30 puntos en el nuevo sprint.
No sobrecargue el backlog del sprint. Esta bien dejar espacio en el backlog, pero no esta bien ir más allá de lo que el equipo hizo en el pasado.
Si su equipo tiene una velocidad promedio de 28 puntos por sprint y ya se han llenado 26 historias que realmente requieren ese trabajo, entonces solamente se puede agregar 1 o dos puntos más. Los desarrolladores son muy optimistas por naturaleza, porque son constructores, el equipo se verá tentando a agregar 3 puntos para estar por encima por 1.
Lo más importante es no caer en la tentación de sobreestimar el sprint porque es una forma de desilusionar al usuario en el siguiente sprint review. ¿Qué pasa la primera vez que el equipo hace esto? es simple, tome la historia de usuaria que considere más valiosa y asignele un valor de 5, busque la más pequeña y asignele 1 punto las historias que se encuentran a mitad de camino asignele un valor arbitrario de tres. Continue llenando las demás historias de usuario. Cuando el equipo ya a superado dos sprints se tendrá historias suficientes para comparar y una buena idea de la velocidad promedio del equipo.
Es una forma para que cualquiera pueda ver, de un vistazo, como esta progresando actualmente el sprint cuando se compara con la velocity del sprint pasado.
La gráfica muestra el avance ideal del spring, la idea es mantenerse en la línea o por debajo de ella, quemando tareas a un ritmo constante
En 3 días se queman 4 puntos de 2 historias de usuario.
Se agregan historias de usuario durante la ejecución del sprint.
Cuando vaya acercandose al final del sprint, más y más puntos se íran quemando en la gráfica. Mantenga la atención en el margen entre la línea guía (guideline) y su línea actual de quema de tareas (burndown), porque probablemente tiene muchas historias y debe remover alguna del sprint.
Hay muchos paquetes de software que le permiten administrar el backlog, historias, puntos de historia y crear gráficos burndown automáticamente. Sin embargo, muchos equipos prefieren hacelo todo a mano, mantener la gráfica burndown en la misma pared. Esto permite que todo el mundo vea exactamente como va el proyecto en cualquier momento. Es especialmente satisfactorio cuando el desarrollador completa una historia de usuario y mueve la tarjeta a la columna "Done".
El enfoque academico actual, busca que el estudiante desarrolle proyectos sobre los temas vistos durante el curso y ponga a prueba los conocimientos adquiridos, teniendo en cuenta un alcance técnico y de tiempo que son definidos al empezar el semestre con acompañamiento del docente.
Se busca que el estudiante, desarrolle sus proyectos aplicando SCRUM como metodología y teniendo en cuenta las siguientes características
Se debe guardar todas las evidencias del proyecto: Graficas hechas a mano, historias de usuario, notas adhesivas, fotografías, referentes, etc.
Para facilitar el seguimiento del proyecto se creo el foro holamundo.co para que los estudiantes cuenten con un espacio colaborativo para compartir sus ideas y poder tener retroalimentación del docente y de sus compañeros
La fecha de entrega del proyecto no se mueve, por tanto en caso de requerir un ajuste en el plan de trabajo se debe contar en los 'weekly meetings'
Si no hay evidencia de ajustes en el plan de springs, se considera como un logro no alcanzado por el estudiante y por tanto la nota del proyecto se ve afectada
La duración de cada 'weekly meeting' es de 5 minutos cronometrados
Los grupos con muchos equipos tendran 'weekly meetings' en cada clase, dividiendo la cantidad de equipos en cada una de ellas.
