lunes, 26 de mayo de 2008

PROGRAMACION AGIL "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.
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 auto-organización.


Actores SCRUM


Propietario del producto

Representa a todos los interesados en el producto final.

Sus áreas de responsabilidad son:
- Financiación del proyecto.
- Retorno de la inversión del proyecto.
- Lanzamiento del proyecto.



Equipo

Responsable de transformar el Backlog de la iteración en un incremento de la funcionalidad del software.
-Auto-gestionado.
-Auto-organizado.
-Multi-funcional.

Scrum Master
-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
.


Metodología De Trabajo

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).
Al inicio de cada iteración se revisa el trabajo pendiente en el proyecto y se selecciona la parte a la cual se le incrementara funcionalidad, para al final de la iteración incorporarla al SW y presentársela a las partes involucradas.

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?

Artefactos SCRUM


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 sgtes. razones:
Las circunstancias del negocio han cambiado.
La tecnología acordada no funciona.
El equipo ha tenido interferencias.

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 Sist.).

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 16 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.

Mas información

http://www.ingenierosoftware.com/equipos/estabilizar-aplicacion.php
http://www.agile-spain.com/agilev2/donde_aprender_mas_sobre_scrum
http://blogs.msdn.com/josemurl/archive/2005/09/15/467898.aspx
http://www.exa.unicen.edu.ar/catedras/ingsoft/informeagiles.doc

2 comentarios:

Ing. Salvador dijo...

¿Por qué no aplicar Scrum en toda la empresa considerando a la organización en su conjunto, como un todo sistémicamente relacionado?

¿Por qué acomodar la empresa a la "forma" del modelo?: Sea la forma de Scrum o de DSDM o de CMMI. ¿Por qué no considerar a las formas como lo que son, y emplear los fondos de conocimiento que hay tras ellas para componer un modo de trabajo apropiado a las características de la empresa y de sus proyectos?

Scrum puede "implantarse" (forma) o "institucionalizarse" (fondo); y proporciona mayores cotas de agilidad cuanto más ágil es la empresa en su conjunto.

Poner un ScrumMaster en el departamento de programación de una empresa con visión y cultura apuntando en otra dirección, o sencillamente sin visión; con un área de RR.HH. no alineada hacia una gestión de personal ágil (gestión del conocimiento); con un departamento de marketing o de producto sin implicación en roles de propietario de producto; con áreas administrativas y comerciales trabajando sobre patrones de contratos de planificaciones cerradas... es una combinación peligrosa que suele producir empresas fragmentadas.

Más que aplicar una "forma" para el área de desarrollo se trata de gestionar la empresa en su conjunto desde los principios de agilidad. Es más una tarea de "Scrum Manager" que de "Scrum Master".

http://www.navegapolis.net/content/view/613/

Unknown dijo...

Another way to future proof your career is to always keep acquiring new skills and get certified. PMP Certification is grt if you're at a project management level or aspire to be in http://www.pmstudy.com has a great free test if you'd like to gauge your project management knowledge.The PMP Certification