martes, 18 de febrero de 2014

Fase de planificación del proyecto, KLC y metodología SCRUM

Un proceso es una serie de pasos que involucran actividades , restricciones y recursos que producen una determinada salida, cuando el proceso implica la construcción de algún producto, se suele referir al proceso como “ciclo de vida”. Es por ello que al proceso de desarrollo de software o de un sistema de información, se le denomina “ciclo de vida”; porque describe la vida del producto desde que se concibe hasta que se implementa, entrega, opera, mantiene y retira. Una definición mas formal del ciclo de vida del desarrollo de sistemas es, el conjunto de actividades que los analistas, diseñadores y usuarios realizan para desarrollar e implantar un sistema de información, consta de las siguientes actividades:

  • Investigación preliminar
  • Determinación de los requerimientos del sistema
  • Diseño del sistema
  • Desarrollo de sistema
  • Prueba de sistemas
  • Implantación y Evaluación

Para llevar a cabo, el desarrollo de un sistema de información, es necesario primeramente, planificar este proceso, y esto consiste en en seleccionar el modelo de ciclo de vida del software apropiado, la adaptación y la implementación de los procesos apropiados del ciclo de vida del sistema, que se llevaran a cabo a la luz del alcance particular y de los requisitos que se han especificado del proyecto. El ciclo de vida propuesto para el desarrollo del sistema de información, requerido por la unidad del Servicio Comunitario, es la Metodología de Kimball, detallada en la entrada anterior de este blog.

A continuación definiremos uno de los modelos del ciclo de vida, propuesto para el desarrollo del sistema:

Scrum: Es una metodología para la gestión de proyectos, expuesta por Hirotaka Tackeuchi e Ikujiro Nonaka, en las que pone de manifiesto que, el mercado exige ciclos de desarrollo mas cortos. Scrum es un proceso que incluye un conjunto de practicas y roles predefinidos, un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta de dos semanas, si así se necesita). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final, que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.

Las actividades que se llevan a cabo en Scrum son las siguientes:

1. Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:
  • Selección de requisitos (4 horas máximo): El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
  • Planificación de la iteración (4 horas máximo): El equipo elabora la lista de tareas de la iteración, necesarias para desarrollar los requisitos a los que se ha comprometido. La estimación de esfuerzos, se hace de manera conjunta y los miembros del equipo se auto-asignan las tareas.
2. Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunión cada miembro del equipo responde a tres preguntas:
  • ¿Qué he hecho desde la última reunión de sincronización?
  • ¿Qué voy a hacer a partir de este momento?
  • ¿Qué impedimentos tengo o voy a tener?
Durante la iteración el facilitador se encarga de que el equipo pueda cumplir con su compromiso y de que no se merme su productividad, a partir de las siguientes tareas: 
  • Elimina los obstáculos que el equipo no puede resolver por sí mismo.
  • Protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad.
3. Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración. Esta revisión, se divide en dos partes:
  • Demostración (4 horas máximo): El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, se replanifica el proyecto.
  • Retrospectiva (4 horas máximo): El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El facilitador se encargará de ir eliminando los obstáculos identificados.

Se puede considerar Scrum, como la adopción de la mejore metodología de desarrollo, de acuerdo a lo que se pretende llevar a cabo con el proyecto del Servicio Comunitario, y la mejor opción que se puede aplicar de manera dinámica durante el ciclo de vida de desarrollo, de este proyecto.