GUÍA DE APRENDIZAJE Gestión de requerimientos Gestión de requerimientos Dirección de Planificación y Desarrollo Online - INACAP Online Universidad Tecnológica de Chile - INACAP www.inacap.cl Santiago de Chile Equipo de Autoría Experto Disciplinar: Claudio Gálvez Diseñador Instruccional: Brenda Aguilar Editor de Contenidos: Bárbara Robledo Diseñador Gráfico: Belén Montecinos Agosto, 2017. Propiedad de INACAP Versión: 1.0 (08/2017) Palabras claves: requerimientos, gestión de requerimiento, trazabilidad, software, gestión de cambios. FOLIO: INT-O2017-TIDS09-GA _Guía de aprendizaje 2 Gestión de requerimientos 3 T1 Presentación T2 Esta unidad tiene como finalidad realizar la gestión del proceso de aprobación de requerimientos y cambios según acuerdos con las partes interesadas, es por esta razón que resulta fundamental que comprendas y analices qué es una gestión de requerimientos, sus características y cómo funciona. T3 En este contexto y específicamente, revisaremos el concepto de gestión de requerimiento, las tareas involucradas en la gestión del requerimiento, qué es la gestión de cambios, los procedimientos para ejecutar de forma correcta la gestión de cambios, el concepto de trazabilidad y la estimación de costos de un proyecto. Recuerda que este documento es una síntesis y guía de todos los contenidos y actividades que revisarás durante esta unidad, por tanto, es sumamente importante que leas toda la bibliografía recomendada y los materiales de profundización propuestos. ¡Mucho éxito en este camino! _Guía de aprendizaje Gestión de requerimientos 4 T1 Tema 1. Gestión de requerimientos T2 La gestión de requerimientos corresponde al tratamiento y control de las actualizaciones y cambios de los requisitos del software, los cuales deben ser gestionados para asegurar que la calidad de los mismos se mantenga durante el desarrollo. Esto último es fundamental ya que si no se identifican de manera correcta los requerimientos, “el software no proporcionará al usuario la funcionalidad esperada” (Evaluando Software, 2016). T3 Desde esta perspectiva y como establece el Instituto Nacional de Tecnologías de la Comunicación (INTECO), la gestión de requisitos consiste fundamentalmente en la “gestión de los cambios de los requisitos, las relación entre ellos, las dependencias entre la especificación de requisitos y otros documentos producidos por el proceso de desarrollo de software” (INTECO, 2008, p.13), para lo cual se debe asegurar la consistencia y coherencia entre los requisitos y lo que ya está construido. Importante El seguimiento y control es primordial en todo proyecto de software exitoso y los requerimientos una vez más son la base para realizar dichas actividades en forma coherente y efectiva. ¿Cuáles son las tareas principales de la gestión de requerimientos? • Identificación de los requisitos de cambio. Estos permiten establecer la línea de base y ejercer un control efectivo sobre cada requerimiento. • Gestión de cambios. Establece un procedimiento claro para evaluar y decidir sobre la incorporación de cambios de requisitos durante del desarrollo. • Políticas de trazabilidad. Permiten realizar un seguimiento efectivo a cada requerimiento durante todo el desarrollo del proyecto. • Relaciones entre los requisitos. Los elementos comunes entre distintos requerimientos permiten visualizar el real alcance o impacto de un cambio sobre cualquiera de ellos. Recuerda Un requisito es algo que el producto debe hacer o una característica que debe tener (…). En este sentido, la tarea de todo analista de requisitos es hablar con la gente, entenderla, escuchar lo que dicen y también lo que no dicen, para entender lo que necesitan. (INTECO, 2008, p.6) _Guía de aprendizaje Gestión de requerimientos 5 Finalmente, es importante que tengas presente que la gestión de requisitos se debe realizar y desarrollar durante toda la vida del software generado. T1 T2 Tema 2. Gestión de cambios de requerimientos T3 La gestión de cambios es un proceso que consiste en controlar y documentar los cambios a la línea de base de los requisitos. Cuando se solicita un cambio dentro de un proyecto o software, estos no pueden ser aceptados y ejecutados de manera arbitraria, pues un cambio mal ejecutado podría afectar todo el desarrollo de un sistema o parte fundamental del mismo, por ello se recomienda seguir un proceso de gestión de cambios con actividades o acciones específicas a seguir, tal como te mostramos a continuación: Evaluación de impacto (trazabilidad con otros requisitos). Lo primero que se debe realizar tras recibir un cambio, es establecer su impacto. ¿Cómo? Para esto “se deberá ir recorriendo todo el árbol de requisitos viendo cómo les afecta el cambio, y aquí es donde entra la trazabilidad de los requisitos” (INTECO, 2008, p.14). Aceptación del cambio (negociado con el cliente). Una vez que se realiza la trazabilidad del requisito, es importante tomar una decisión respecto del cambio. ¿Aceptamos el cambio? En el caso de aceptarlo, se debe implementar el cambio, en caso contrario, se debe negociar con el cliente una nueva alternativa (INTECO, 2008, p.14). Implementación del cambio (nueva línea de base). Finalmente, se debe reflejar el cambio “en todos los productos que resulten afectados por dicho cambio (…). Además se deberá generar un nuevo punto de partida (línea base) de requisitos” (INTECO, 2008, p.14). Procedimiento de gestión de cambios Figura 1. Proceso de gestión de cambios. Fuente: INTECO (2008). _Guía de aprendizaje Gestión de requerimientos 6 T1 Recuerda La gestión de cambios posee actividades fundamentales y un procedimiento general para la atención e incorporación del cambio a un desarrollo en curso. Cuando hablamos de trazabilidad, ¿qué queremos decir? La trazabilidad es un concepto clave dentro de la gestión de cambios, el cual hace alusión a la rastreabilidad de los requerimientos. En este sentido, es posible determinar que un requerimiento es trazable en la medida que permita identificar las partes del producto final que se relacionen con dicho requerimiento. *Técnica utilizada: matriz de trazabilidad. Ejemplo N°1. Matriz de trazabilidad Tabla 1. Matriz hacia atrás/hacia delante. Fuente: INTECO (2008). Esta matriz contiene un conjunto de datos estáticos (requisitos) y un conjunto de datos dinámicos (fases de desarrollo) que dependen de la metodología utilizada. Además aparece una última columna para identificar cualquier cambio que se haya incorporado. _Guía de aprendizaje T2 T3 Gestión de requerimientos 7 Ejemplo N°2. Matriz de dependencias T1 T2 T3 Tabla 2. Matriz de dependencias. Fuente: INTECO (2008). Con los requerimientos identificados en la matriz de trazabilidad, y luego de un análisis de elementos comunes, se registra mediante X la relación entre requerimientos independientes (A) y requerimientos dependientes (B). Tema 3. Estimación de costos La evaluación de los costos es fundamental para tomar una decisión correcta sobre la incorporación de un cambio en un proyecto de software. Para esto se utiliza el modelo conocido como “costeo por actividad” o “costeo basado en actividades (ABC)”, creado por Robert S. Kaplan y Robin Cooper en el año 1988. ¿En qué consiste el costeo por actividad? En términos sencillos, el costeo por actividad es un método para estimar costos más cercanos a la realidad de las empresas y organizaciones. En función de esto, la teoría estipula que todas las actividades de las empresas existen como soporte a la producción y entrega de bienes y servicios. Dato Este modelo surge como alternativa al costeo tradicional con el propósito de obtener estimaciones y cálculos de costos más reales. _Guía de aprendizaje Gestión de requerimientos A continuación te mostramos un esquema comparativo entre el costeo por actividad y el costeo tradicional, para que puedas observar las diferencias existentes entre uno y otro modelo. 8 T1 T2 Visión ABC Visión sistemas tradicionales de costos Departamento de procesamiento de reclamos Departamento de procesamiento de reclamos ACTIVIDADES CUENTAS T3 Recibir reclamos $ 31500 Salarios $ 100000 Copiar Documentos $ 12500 Gastos de Viaje $ 45000 Analizar Reclamos $ 50000 Suministros $ 30500 Procesar lotes $ 18000 Energía $ 5500 Recibir informes $ 85500 Depreciación $ 25500 Recibir copias $ 9000 TOTAL $ 206500 TOTAL $ 20650 Figura 2. Costeo por actividad versus costeo tradicional. Fuente: elaboración propia (2017). Finalmente, te mostramos un diagrama de flujo de la tercera generación del ABC. _Guía de aprendizaje Gestión de requerimientos 9 T1 Recursos Procesos T2 Productos ESTRATEGIA VS NO ESTRATEGIA Actividades Servicios Clientes Mejora continua Análisis de la cadena de valor Figura 3. Diagrama de flujo de tercera generación del ABC. Fuente: elaboración propia (2017). Elementos básicos del modelo: • Recursos. • Actividades. • Objetos de costo. • Inductores (o drivers) de actividades. ¿Cómo se traduce esto en el desarrollo de un software? Desde el punto de vista del desarrollo de un software, es posible determinar lo siguiente: • Los recursos y procesos (o métodos de trabajo) permiten realizar el proyecto (se consideran insumos). • Las actividades las define la metodología utilizada (ejemplo: análisis, diseño, codificación, pruebas, implementación, mantenimiento). • Los objetos de costo son los distintos productos de software y servicios generados en el proceso (ejemplo: programas, documentación, capacitación, soporte). • Cada actividad define uno o más inductores para medir su rendimiento y costo (ej.: un inductor para codificación es número de líneas de código). _Guía de aprendizaje T3 Gestión de requerimientos 10 En función de esto, ¿cuáles son las ventajas y desventajas de este modelo en el desarrollo de software? Ventajas T1 T2 Desventajas T3 Determina cuáles actividades aportan valor Aporta una visión distinta de costos No excluye a otros sistemas de costos Implementación de alto costo y tiempo Produce resistencia al cambio por parte de los usuarios ¿Por qué es importante estimar los costos? Si bien la estimación de costos no es una tarea fácil de resolver, resulta fundamental en la gestión de requerimientos, puesto que permiten determinar el esfuerzo, costo y tiempo que implica este y sus posibles cambios. Permite resolver problemas asociados al esfuerzo, costo y tiempo de las actividades que se realizan en un proyecto de desarrollo de sistemas. _Guía de aprendizaje Gestión de requerimientos 11 T1 Ideas fuerza T2 Para recapitular lo aprendido se hará una revisión de los elementos más característicos de la gestión de requerimientos. Veamos: • La gestión de requerimientos hace alusión al tratamiento y control de las actualizaciones que sufre un software durante su vida útil. Este es primordial ya que permite asegurar un buen nivel de calidad en el software a construir. • Los cambios realizados en los requerimientos son importantes debido a que permiten mejorar errores dentro de un software, aumentar su calidad. Sin embargo, estos deben generarse de forma correcta si queremos asegurar el buen nivel del nuestros programas. Para esto, se recomienda evaluar el impacto del cambio, establecer si lo aceptamos o no e implementarlo (en el caso de aceptar el cambio). • La estimación de costos es una parte fundamental para decidir si la incorporación de un cambio de requerimiento se aprueba o se rechaza, el cual se realiza a través del modelo de costeo por actividad. Te invitamos a seguir conociendo y experimentando el mundo de la ingeniería de requerimiento, realizando las actividades, leyendo la bibliografía seleccionada y estudiando los materiales propuestos para esta unidad. _Guía de aprendizaje T3 Gestión de requerimientos 12 T1 Referencias bibliográficas T2 Evaluando Software. (2016). Gestión de Requerimientos en un proyecto de software empresarial. Recuperado el 4 de septiembre de 2017, de: http://www.evaluandosoftware.com/gestion-requerimientos-proyecto-software-empresarial/ Instituto Nacional de Tecnologías de la Comunicación – INTECO. (2008). Guía práctica de gestión de requisitos. Recuperado el 4 de septiembre de 2017, de: http://www.eduardoriol.com/archivos/guia_practica_de_gestion_de_requisitos.pdf Pacheco, R. (2014). Costos por actividad. Pensamiento Crítico, 19(2), 167-176. Recuperado el 4 de septiembre de 2017, de: http://revistasinvestigacion.unmsm.edu.pe/index.php/econo/article/view/11111/9988 Sommerville, I. (2013). Ingeniería de software. México: Addison Wesley. Tabares, M., Barrera, A., Arroyave, J. D., y Pineda, J. D. (2007). Un método para la trazabilidad de requisitos en el proceso unificado de desarrollo. Revista EIA, 4(8), 69-82. Recuperado el 4 de septiembre de 2017, de: http://www.scielo.org.co/pdf/eia/n8/n8a07.pdf _Guía de aprendizaje T3