martes, 6 de mayo de 2014

Fase de Analisis de Requerimientos



ANALISIS DE REQUERIMIENTOS (ERS)



El objetivo de este artefacto es documentar todos los requerimientos del sistema, este describe las funciones del sistema, los requerimientos no funcionales, características del diseño, y otros elementos necesarios para proporcionar una descripción completa y comprensiva de los requerimientos para el software a desarrollar.

Los requerimientos pueden ser levantados con diferentes herramientas, también se pueden encontrar dispersos en varios artefactos y herramientas. 

El artefacto ERS controla la evolución del sistema durante toda el ciclo de desarrollo del proyecto, cuando las nuevas características son añadidas o modificadas al artefacto de visión, son aclarados dentro del artefacto ERS.

Las decisiones hechas escribiendo el ERS están basadas en información de los documentos de la propuesta del proyecto y en requerimientos del usuario. El conjunto de requerimientos especificados en el ERS deben ser satisfechos en el diseño del sistema. Cualquier requerimiento funcional o no funcional que no sea identificado en el ERS, no debe aparecer en el producto final.


Requerimientos Funcionales: Son declaraciones de los servicios quedebe proporcionar el sistema, de la manera en que éste debe reaccionar aentradas particulares y de cómo se debe comportar en situaciones particulares.En algunos casos, los requerimientos funcionales de los sistemas tambiénpueden declarar explícitamente lo que el sistema no debe hacer.


Requerimientos NO Funcionales: Son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre elproceso de desarrollo y estándares. Los requerimientos no funcionales amenudo se aplican al sistema en su totalidad. Normalmente apenas se aplicana características o servicios individuales del sistema.



Plan de Proyecto Bajo KLC y SCRUM



SCRUM



Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.


En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.


Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.



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





El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del proyecto. En esta lista el cliente prioriza los objetivos balanceando el valor que le aportan respecto a su coste y quedan repartidos en iteraciones y entregas. De manera regular el cliente puede maximizar la utilidad de lo que se desarrolla y el retorno de inversión mediante lareplanificación de objetivos del producto, que realiza durante la iteración con vista a las siguientes iteraciones. 



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



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 que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas. 


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


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. Tiene 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, replanificando 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.