lunes, 3 de agosto de 2009

Desarrollo de software informático

Hay diferentes sistemas de gestión para el desarrollo de un software informático, pero considero que la metodología SCRUM es la más extendida en la actualidad.

¿Qué es SCRUM?
Es una metodología del software que ayuda a la autogestión de los equipos de programación para realizar el trabajo.
Se gestiona el proyecto mediante los llamados Sprints (ver def. más abajo) para obtener algo "tangible" que permita al cliente probar el producto aunque éste no esté finalizado.
Este sistema, permite al grupo de programadores decidir cómo hacer las tareas y determinar el tiempo que se va a dedicar para realizarlas.
Con este sistema, también se facilita que, todos los miembros del equipo trabajen juntos en una misma dirección, evitando así, los llamados “Reinos de Taifas”.
Scrum también nos permite realizar un seguimiento del avance del proyecto de una forma muy transparente, dónde se puede ver, día a día, como se progresa.
En resumen, prodríamos decir que esta metodología está basada en el desarrollo ágil de software y más concretamente, en la programación extrema

¿Características del SCRUM?

El scrum está formado por diferentes roles, de los cuales, los principales son:
ScrumMaster, ProductOwner, Team
  • ScrumMaster es el director del proyecto y el encargado de eliminar los obstáculos que impiden que el equipo de desarrollo alcance el objetivo del sprint.
  • ProductOwner es el "cliente o representante de la voz del cliente" que nos indica sus necesidades y sus prioridades.
  • Team es el equipo de desarrollo para llevar acabo las necesidades del cliente.

¿Cómo funciona SCRUM?
Antes de explicar el funcionamiento hay que saber el significado de las siguientes expresiones:
  • Sprint es una división de un conjunto de tareas componen un proyecto en un periodo de tiempo. Normalmente los sprints suelen ser de 15 a 30 días). En cada sprint se busca poder tener una parte del proyecto que sea "entregable" para poder ver la evolución del mismo hasta llegar al producto final.
  • Sprint Planning Meeting es la primera reunión que se realiza para determinar el sprint que se va a realizar. Los asistentes a la reunión són: ProductOwner y Team.
  • Product Backlog es el conjunto de funcionalidades y tareas a realizar. El ProductOwner es el encargado del mantenimineto y de establecer las prioridades.
  • Sprint Backlog es la tarea o el conjunto de tareas que se detallan del Product Backlog.
  • Daily Scrum Meeting es una reunión diaria con el Team (no supera los 30 minutos) donde se habla del las tareas realizadas, los impedimientos (si hay), que tareas se van abordar y si se necesita ayuda.
  • Sprint Review es una revisión de unas 2h aprox. del sprint finalizado.
  • Sprint Retrospective es la revisión de los objetivos del Sprint Backlog, se aplican los cambios y los ajustes necesarios. También se comentan los aspectos positivos y negativos.
El funcionamiento de Scrum, es sencillo.
Primero se realiza una reunión dónde se exponen las necesidades del cliente y se priorizan. En otras palabras, realizamos lo que se denomina el Sprint Planning Meeting.
Una vez realizado, se establece como va a ser el Sprint y se generan los Product Backlogs correspondientes con sus Sprints Backlogs.
Finalizado esto, el Scrum se pone en marcha y cada día se realiza el Daily Scrum Meeting.
Cuando el sprint acaba, se realiza el Sprint Review y el Sprint Retrospective.

Espero que ésta explicación sobre Scrum haya ayudado a entender mejor la finalidad y el funcionamiento de ésta metodología de trabajo.

Para más información, dejo en los enlaces externos, unos links, dónde se puede obtener más información.

Enlaces externos
  1. Página oficial Scrum
  2. Wikipedia
  3. Explicando Scrum a mi abuela

No hay comentarios:

Publicar un comentario