ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Método Scrum en Administración de proyectos de Software

diegomauro0050Monografía25 de Agosto de 2011

3.986 Palabras (16 Páginas)951 Visitas

Página 1 de 16

Método Scrum en Administración de proyectos de Software

¿Qué es SCRUM?

Scrum es una metodología para el desarrollo ágil de productos, expuesta por Hirotaka Takeuchi e Ikujiro Nonaka, en el artículo The New New Product Development Game [Harvard Business Review Ene-Feb 1986] en el que ponen de manifiesto que:

- El mercado competitivo de los productos tecnológicos, además de los conceptos básicos de calidad, coste y diferenciación, exige también rapidez y flexibilidad.

- Los nuevos productos representan cada vez un porcentaje más importante en el volumen de negocio de las empresas.

- El mercado exige ciclos de desarrollo más cortos.

El artículo compara al desarrollo tradicional de ciclo de vida formado por fases separadas y equipos especializados con las carreras de relevos, donde un equipo pasa el testigo al siguiente hasta finalizar el desarrollo del producto. Siguiendo el símil deportivo, se compara al nuevo modelo de desarrollo, basado en el solapamiento de las fases y en un único equipo multi-disciplinar, con la evolución del juego del rugby; y de él se toma el término scrum.

Nonaka y Takeuchi extraen las bases de scrum de las prácticas que observan en las empresas con buenos resultados de rapidez y flexibilidad en la producción: Xerox, Canon, Honda, NEC, Epson, Brother, 3M o Hewlett-Packard; y son:

• Inestabilidad consustancial al entorno de desarrollo.

• Equipos auto-organizados.

• Solapamiento de las fases del desarrollo.

• Multi-aprendizaje.

• Control sutil.

• Transferencia de aprendizaje a nivel organizacional.

Aunque surgió como modelo para el desarrollo de productos tecnológicos, también se emplea en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentes en el desarrollo de determinados sistemas de software.

Jeff Sutherland aplicó el modelo Scrum al desarrollo de software en 1993 en Easel Corporation (Empresa que en los macro-juegos de compras y fusiones se integraría en VMARK, luego en Informix y finalmente en Ascential Software Corporation). En 1996 lo presentó junto con Ken Schwaber como proceso formal, también para gestión del desarrollo de software en OOPSLA 96. Más tarde, en 2001 serían dos de los promulgadores del Manifiesto_ágil. En el desarrollo de software scrum está considerado como modelo ágil por la Agile Alliance.

La ficha adjunta incluye una descripción sinóptica del proceso y sus elementos que son:

Roles: Propietario del producto, Gestor o Manager del Scrum, Equipo e Interesados.

Componentes del proceso: Pila del producto (Product Backlog), Pila del sprint (Sprint Backlog), Incremento.

Reuniones

Planificación del sprint, Revisión diaria, Revisión del sprint.

Sprint

Scrum por sus características no es válido para cualquier proyecto ni para cualquier persona o equipo de personas. Es más, Scrum según muchos especialistas de esta metodología, es óptima para equipos de trabajo de hasta 8 personas, aunque hay empresas que han utilizado Scrum con éxito con equipos más grandes.

Se puede decir que para el 90% de los proyectos y empresas, es una metodología válida, pero no es una metodología válida al 100%. Es más, no hay metodología mejor que otra ni válida al 100% para todas las personas y empresas.

Scrum es por lo tanto, una metodología más de las muchas que hay, y ésta en concreto, se basa en la filosofía del desarrollo ágil que fue expuesto por dos japoneses alrededor del año 1986.

Scrum no es ni la mejor metodología ni la única, pero es una metodología que está empujando muy fuerte por la facilidad de implantación y por su agilidad en cuanto a cambios y lo que propiamente aporta en comparación con otras metodologías.

Por un lado, Scrum evita la burocracia y la generación documental. No es que con Scrum no se deba o no se pueda documentar, si no que con Scrum no se exige documentar nada para iniciar un proyecto, algo que en otras metodologías es impensable.

Con Scrum por otro lado, la idea principal es la de ponerse a trabajar prácticamente desde el primer momento y empezar a sacar frutos de ese trabajo para que el cliente vaya viendo los avances y se quede satisfecho con lo que se está haciendo y cómo se está haciendo.

¿Como se Aplica?

El scrum es simple en su composición, lo podemos ver como 3 grandes bloques principales

• Las personas

• Las ceremonias

• Los documentos o artefactos

Las personas

Scrum introduce simplificaciones sobre algunas estructuras tradicionales de la administración de proyectos; todos tienen su lugar en un Scrum, solo que su función ha sido redefinida de forma que los equipos sean más funcionales y menos burocráticos.

Las principales personas alrededor de un scrum son:

• El dueño del producto

• El scrum master

• El equipo

El dueño del producto

El dueño del producto representa a la empresa, a los usuarios y en general a todas las personas que intervienen en la empresa.

Por un lado tiene la responsabilidad de hacer que el producto dé un beneficio para los intereses económicos y estratégicos del negocio. Por otro lado tiene la responsabilidad de asegurarse que todos los requerimientos de los diferentes grupos de usuarios del sistema sean contemplados.

Sus funciones y responsabilidades más importantes son:

• Define los requerimientos y funciones del sistema.

• Prioriza las funciones a desarrollar de acuerdo al valor que aporten al negocio o mercado.

• Decide cuando liberar el producto del proyecto.

• Es el responsable directo sobre la recuperación de la inversión (RoI).

• Acepta o rechaza el resultado del trabajo del equipo.

El scrum master

La figura de líder de proyecto, como persona que tiene la responsabilidad del éxito o fracaso del proyecto; quien determina que tareas se deben hacer, quien debe hacerlas, cuando y durante cuánto tiempo y cuanto costarían esas tareas; se transforma de un administrador del proyecto a un coordinador de actividades cuya principal responsabilidad es mantener la efectividad y productividad del equipo protegiéndolo de fuerzas externas que distraigan el esfuerzo de desarrollo. Los equipos en scrum son auto-administrados por lo que no se requiere alguien sirviendo de gerente o manager.

Sus funciones y responsabilidades esenciales son:

• Que el esfuerzo de desarrollo sea exitoso.

• Protege al equipo de interferencias externas.

• Mantiene el enfoque y efectividad del equipo.

• Evangeliza los principios, valores y prácticas de scrum en toda la organización.

• Es un facilitador.

• Elimina los impedimentos que el equipo de desarrollo tenga para hacer su trabajo.

El equipo de desarrollo

Esta compuesto por las personas que diseñan, programan, prueban e implementan el sistema o producto de software.

Sus características y funciones son:

• Típicamente de 5 a 9 personas.

• Multifuncional (todos diseñan, programan, prueban).

• De tiempo completo.

• Auto administrados. No se les asigna trabajo, cada quien selecciona tareas de la lista de tareas por hacer conocida como el sprint backlog.

• La composición del equipo no puede cambiar durante la iteración.

El tamaño del equipo puede ser tan pequeño como 2 personas y tan grande como 8; por encima de 8 son demasiadas las líneas de comunicación y los espacios físicos requeridos. Entre más pequeño el equipo menor será su velocidad y por consecuencia más largo el tiempo de entrega.

Los demás interesados en el proyecto se involucran activamente en el proyecto mediante una de las ceremonias de la metodología, el scrum diario. Adicionalmente, cualquier interesado puede hacer que sus necesidades y requerimientos sean considerados pero lo hacen exclusivamente a través del dueño del producto.

Las ceremonias

Scrum obligan unas cuantas ceremonias, todas obligatorias. Las juntas de Scrum tienen todas como característica principal que están estrictamente limitadas a los tiempos preestablecidos obligando a los involucrados a ser efectivos y hacer uso inteligente del tiempo.

Las ceremonias son:

• La junta de planeación del sprint

• El scrum diario

• La revisión del sprint

• La retrospectiva del sprint.

La junta de planeación del sprint

Scrum es un proceso cíclico de sprints donde el resultado de cada uno debe ser una pieza de software funcionando por encima de diagramas, textos de diseño, etc. Para lograrlo, la planeación es clave. Sin embargo se planea solamente el esfuerzo que se puede realizar durante la duración de un sprint. La reunión de planeación tiene dos objetivos:

• Definir el objetivo del sprint. Este objetivo es una descripción textual de una meta tipo SMART que tanto el dueño del producto, el scrum master y el resto del equipo puedan fácilmente visualizar.

• Hacer una estimación del tiempo de los requerimientos de más alta prioridad y seleccionar sobre esa base cuantos se pueden lograr terminar

...

Descargar como (para miembros actualizados) txt (25 Kb)
Leer 15 páginas más »
Disponible sólo en Clubensayos.com