Un modelo de gestión de requerimientos para minimizar el porcentaje de incumplimiento
A requirements management model to minimize the percentage of non-compliance
Victor Alfaro
Facultad de Ingeniería de Sistemas e Informática, Universidad Nacional Mayor de San Marcos. Lima, Perú Ingeniero de Sistemas e Informática. Egresado Maestría Ingeniería de Sistemas e Informática. Consultor independiente.
DOI: http://dx.doi.org/10.21503/cyd.v22i1.1737
RESUMEN Desde la aparición de las metodologías de desarrollo de software, los procesos de desarrollo tienen
como base la metodología padre: “El desarrollo en cascada”(Ian Sommerville, 1997). Actualmente se presentan diversas metodologías de desarrollo de Software, las metodologías ágiles, ahora bien ¿Por qué la vigencia actual de una forma de trabajo que aparece en el año 1990?, los resultados a corto plazo y el alcance de los objetivos propuestos(Pérez-Virgen, Salamando-Mejía, & Valencia-Ayala, 2013a). Según la tesis el objetivo de Scrum(Qumer & Henderson-Sellers, 2008) es logrado mediante la optimización del proceso de desarrollo mediante la identificación de las tareas, la gestión del tiempo más eficaz. Se establece como la Metodología en Cascada como la base, como el padre de todas las metodologías. El problema que
se identifica en la presente investigación es la replanificación de los requerimientos en la fase de Planificación de desarrollo de software, como consecuencia se produce un alto índice de replanificaciones. La crítica que se realiza es la falta de artefactos que garanticen la viabilidad del proyecto desde la fase de Planificación. Como solución en la presente investigación se presentan filtros, entregables en cada etapa de Planificación, de tal manera que se garanticen la calidad de reuniones, entendimiento, checklists. Por último, la demostración se realizará al término de todo el proyecto, en la fase de cierre, evaluando y analizando los controles de cambios, el tiempo y la puesta en marcha de la postproducción del proyecto.
. Palabras Clave: Scrum, software, planificación, desarrollo. ABSTRACTSince the emergence of software development methodologies,
development processes are based on
the parent methodology: “Cascade development”(Ian Sommerville, 1997). Currently there are
several software development methodologies, agile methodologies, now why the current validity
of a form of work that appears in the year 1990? The short-term results and the scope of
the proposed objectives(Pérez-Virgen et al., 2013a). According to the thesis the goal of
Scrum is achieved by optimizing the development process by identifying the tasks, the most e
ffective time management. It is established as Cascade Methodology as the basis, as the father
of all methodologies. The problem that is identified in this research is the replanning of the
requirements in the software development planning phase, as a consequence there is a high rate of
replanning. The criticism that is made is the lack of artifacts that guarantee the viability of the
project from the Planning phase. As a solution in the present investigation, filters are presented,
deliverables in each stage of Planning, in such a way as to guarantee the quality of meetings, understanding,
checklists. Finally, the demonstration will be carried out at the end of the whole project, in the closing phase,
evaluating and analyzing the change controls, the time and the start-up of the post-production of the project Since the emergence of software development methodologies,
development processes are based on the parent methodology: “Cascade development”(Ian Sommerville, 1997). Currently there are several software development methodologies, agile methodologies, now why the current validity of a form of work that appears in the year 1990? The short-term results
and the scope of the proposed objectives(Pérez-Virgen et al., 2013a). According to the thesis the goal of Scrum is achieved by optimizing the development process by identifying the tasks, the most effective time management. It is established as Cascade Methodology as the basis, as the father of all methodologies. The problem that is identified in this research is the replanning of the requirements in the software development planning phase, as a consequence there is a high rate of replanning. The criticism that is made is the lack of artifacts that guarantee the viability of the project from the Planning phase. As a solution in the present investigation, filters are presented, deliverables in each stage of Planning, in such a way as to guarantee the quality of meetings, understanding, checklists. Finally, the demonstration will be carried out at the end of the whole project, in the closing phase, evaluating and analyzing the change controls, the time and the start-up of the post-production of the project. Keywords: Standards, asparagus, quality, safety. INTRODUCCIÓN En el mundo, desde la aparición de las herramientas para
realizar desarrollos de software, se presentan inconvenientes que provocan retraso sistemático
en los plazos establecidos, ocasionando de esa forma que se exceda en el presupuesto, se entregue
con una alta tasa de errores y su utilidad sea inferior a la esperada(Arruzazabala, Dapozo, & Thomas, 2012).
En cuanto magnitud esta problemática es atribuible a defectos en los procesos utilizados para recoger, documentar, acordar y modificar
los requisitos del sistema(Alarcon & Sandoval, 2011). Una gran variedad de investigaciones coincide en que la mayor parte de
los errores de un sistema se originan al comienzo del ciclo de vida,
y que entre el 40% y 60% de los defectos en un proyecto de software están relacionados
con los requerimientos del sistema(Sánchez & Velthuis, 2012).
Según Franck Agger(Aggeri & Labatut, 2010) en su investigación demuestra la importancia de la gestión
de requerimientos dentro del proceso de desarrollo de software y se verifica la actividad de la revisión
de los requerimientos del software como un factor clave dentro del ciclo de vida.
Una de las más preponderantes investigaciones realizadas a múltiples organizaciones en el mundo,
que mide los distintos factores que interfieren en el desarrollo de soluciones, que es elaborada
por “The Standish Group”(The Standish Group, 1995), identificó que la gestión de requerimientos
sigue siendo la etapa de mayor problema para la mayoría de las organizaciones y que las prácticas
asociadas alos requisitos son deficientes en el 74% de todas las empresas(Borrell, 2006).
Dicha investigación ha identificado que la causa principal de la baja calidad,
alto coste y problemas de entrega del producto sigue siendo por factores asociados
a la gestión de requerimientos y entre esos factores se encuentra: La deficiencia en entender las
necesidades del cliente, una incompleta especificación de los requerimientos y la falta de una correcta gestión de cambios de los mismos.
Ahora bien, ya citada
la importancia de la gestión de requerimientos en el desarrollo de una
solución de software, se verifica un modelo para la mejora del proceso de gestión de Requerimientos,
que ha sido probada en las organizaciones(6), es utilizar modelos de buenas prácti- cas, tales como, CMMI-DEV,
ISO-15504(2003; 2004; 2008; 2012), ISO-12207(2008).
Se presentan demostraciones de casos de éxito en donde la implementación y el uso de estos modelos
ha permitido disminuir los problemas de entrega y calidad de un producto software(Peruana, 2004).
Prosiguiendo con la situación en Latinoamérica,
en una investigación realizada por Borrell Caridad Racero, en Medellín, Colombia, se presenta la necesidad
y la problemática idéntica a Europa. La omisión de pasos importantes en el ciclo de
vida de desarrollo del software, entre tantas, la correcta definición de requerimientos.
Lo que se pretende con la investigación es cubrir los requi sitos de la fase de especificación
y sus principales actividades durante el proceso de desarrollo de software(Borrell, 2006).
En el Perú, según la Norma Técnica Peruana(Peruana, 2004), existe una proliferación de marcos de
trabajo referenciales para el desarrollo de software.Para la gestión de requerimientos
menciona principalmente el proceso de Adquisición donde conviene que los requisitos del
sistema incluyan requisitos de negocio, organizativos, de usuario,así como de seguridad física y de acceso y
otros requisitos críticos. La Norma Técnica peruana proporciona la etapa
de Adquisición y sus fases para la gestión de requerimientos: Inicio, Preparación de la solicitud
de propuestas, Preparación y actualización del contrato, Seguimiento del proveedor, aceptación y finalización(9).
De acuerdo con la Oficina Nacional de Gobierno Electrónico e Informática brinda la puesta en marcha de la
Norma Técnica Peruana “NTP- ISO 12207:2008 Tecnología de Información,
Proceso del ciclo de vida del desarrollo de software, 1era edición” para que
se aplique(Irrazabal, Vásquez, Díaz, & Garzás, 2011)
MÉTODOS Y MATERIALES A. Metodología en Cascada: En Ingeniería de software el desarrollo en cascada,
también llamado modelo en cascada (denominado así por la posición de las fases en el desarrollo
de esta, que parecen caer en cascada “por gravedad” hacia las siguientes fases), es el enfoque
metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software,
de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior(Ian Sommerville, 1997).
La versión original fue propuesta por Winston
W. Royce en 1970 y posteriormente revisada por Barry Boehm en 1980 e Ian Sommerville en 1985
(Letelier, Canós, Sánchez, & Penadés, 2003).
Un ejemplo de una metodología de desarrollo en cascada es: - Análisis de requisitos. - Diseño del Sistema. - Diseño del Programa. - Codificación. - Pruebas. - Verificación. - Mantenimiento. De esta forma, cualquier error de diseño detectado en la etapa de prueba
conduce necesariamente al rediseño y nueva programación del código afectado,
aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la
metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas
de un proyecto.
La presente investigación enfoca las dos primeras fases; Análisis de requisitos y diseño del sistema.
Las mismas que engloban la etapa de Planificación. En dicha etapa se presente el volcamiento de la información,
reuniones de trabajo, uso de cronograma de actividades, checklists.
B. Metodologías de desarrollo Ágiles, Scrum:
En la actualidad y en los últimos años varias iniciativas internacionales orientadas
específicamente para armar pequeñas y medianas empresas,
los procesos y los métodos ágiles han sido identificados.
Del mismo modo, diferentes estudios han identificado la correlación entre
las metodologías ági- les y modelos de procesos de desarrollo de software como CMMI-DEV e ISO / IEC 12207, pero los
estudios relacionados con la norma ISO / IEC 12207(ISO, IEC, & IEEE, 2008) se basan en
la versión de 1995(Irrazabal et al., 2011). Por lo tanto,
este trabajo se centra en la relación entre las prácticas ágiles, especialmente scrum(Cockburn & Highsmith, 2001), y
un subconjunto de pro- ceso de la versión
2008 de la norma ISO / IEC 12207(Irrazabal et al., 2011).
SCRUM(Pernstål, Gorschek, Feldt, & Florén, 2015) es uno
de los métodos más populares y ágiles es un proceso iterativo incrementales. Estas dos características hacen dividir
el proyecto en fases o iteraciones y la entrega incremental del proyecto. Las relaciones indicadas
en el presente trabajo se obtienen a través de trabajos previos y experiencia
en consultoría a 25 empresas que cumplen
con los resultados estándar de aplicación de metodologías ágiles(Irrazabal et al., 2011).
El objetivo principal del estudio es conocer el grado en que las prácticas ágiles ayudan
en la realización de las prácticas indicadas en este modelo de proceso(Irrazabal et al., 2011).
La metodología scrum es uno de los métodos
más usados en el mundo, particularmente en el Perú, su llegada ha sido tardía, existen diversos
esfuerzos para establecer buenas prácticas en las organizaciones, pero el tema cultural es una gran
barrera que distorsiona el objetivo principal del marco de trabajo,
que es el de brindar valor en etapas tempranas. Asimismo existen esfuerzos
separados por países para establecer los pilares del marco
en las organizaciones: grupos de trabajo, comunidades.
C.Norma Técnica Peruana ISO 12207: 2008: Para la gestión de requerimientos
menciona principalmente el proceso de Adquisición donde conviene que los requisitos
del sistema incluyan requisitos de negocio, organizativos, de usuario, así como de seguridad
física y de acceso y otros requisitos críticos.
La Norma Técnica peruana proporciona la etapa de Adquisición y sus fases
para la gestión de requerimientos: Inicio, Preparación de la solicitud de propuestas, Preparación y
actualización del contrato, Seguimiento del proveedor, aceptación y finalización(Arruzazabala et al., 2012). De acuerdo con la
Oficina Nacional de Gobierno Electrónico e Informática brinda la
puesta en marcha de la Norma Técnica Peruana “NTP- ISO 12207:2008 Tecnología de Información,
Proceso del ciclo de vida del desarrollo de software,
1era edición” para que se aplique(Chaves, 2011). RESULTADOS
El artefacto a presentar va permitir analizar y diagnosticar el rendimiento productivo de la metodología
propuesta para el manejo de requerimientos de gran complejidad.
La metodología scrum(Irrazabal et al., 2011) cuenta con una estructura secuencial y repetitiva que se caracteriza por presentar ciclos reducidos,
cortos en alcance, con el fin de concretar entre- gables visibles para el usuario final, de tal manera
que la percepción del trabajo sea constante y la validación de los entregables se realicen al final de cada ciclo,
con la evaluación de las actividades realizadas, con aprobaciones
de los entregables y las metas establecidas.
Cada ciclo de trabajo se llama Sprint,
donde cada sprint se puede comparar como un pequeño
entregable, el cual posee alcance, estimación, tiempos Según se observa en la Figura N° 1,
cada sprint es un ciclo de trabajo reducido, que presenta entradas (inputs),
salidas (outputs) y fases internas de análisis y desarrollo.
En dicha figura se represen- tan como 5 fases por cada sprint. Según la Figura N° 1, expuesta
en la introducción, existe una correlación del marco metodológico
de Scrum(Irrazabal et al., 2011) con la metodología de desarrollo Cascada.
Figura N°1: Diagrama de la Metodología scrum desplegado bajo la metodología en cascada Fuente: Elaboración propia. Si realizamos la función de una lupa imaginaria podemos expandir cada uno de los sprints.
De acuerdo a la Figura N° 2, Se observa que a modo de ejemplo se toman 3 entradas: Entrada A, Entrada
B y Entrada C, y luego se presentan 3 Salidas: Salida A, Salida B y Salida C. En el ínterin se presentan
5 fases de actividad que son: Requerimientos, diseño, codificación, pruebas de aceptación. Cada una comprende
de manera singular a las etapas propias de la metodología de desarrollo
de software en Cascada: Desarrollo de Requisitos, diseño de solución, desarrollo y pruebas. Figura N°2: Metodología Scrum Híbrida – Cascada
Entonces, las dos primeras etapas que son Requerimientos y Diseño son las dos únicas fases que para esta investigación comprenden en cuanto al alcance. En vista que en ellas se presenta el estable- cimiento de los requerimientos y el diseño de la solución Para la etapa de Requerimientos se cuenta con: Para la etapa de Diseño se cuenta con: El checklist que se genera en la
etapa de desarrollo de requerimientos va a ser el medidor de viabilidad para pasar a la
siguiente fase que el Diseño de Solución. Figura N°3: Diagrama de la etapa de Planificación: requerimientos y diseño con sus respectivos artefactos.
Fuente: elaboración propia DISCUSIÓN
La presente solución comprende
la evaluación de los documentos de alcance en la etapa de de- sarrollo de requisitos y
diseño de soluciones de acuerdo a la metodología a través de los entregables a presentar,
de tal manera que ejecutarán
un filtro para poder evaluar la viabilidad de dichos documentos.
Se presenta a través de un flujo de actividades según la Figura N° 4 que se encarga de realizar un seguimiento.
Se inicia con la fase de Planificación, donde se genera el cronograma de actividades y un archivo de reuniones, documentos que serán utilizados para poder
verificar el cumplimiento de las fechas establecidas para los compromisos.
Luego se inicia con la fase de relevamiento, donde se generan las reuniones de entendimiento,
utilizando un cuestionario de preguntas y un seguimiento de pendientes para poder registrar
los pendientes desde el inicio de dicha fase. Prosiguiendo con las actividades en el control de avances,
paso previo a la aprobación
se genera el documento de Alcance de desarrollo de requisitos.
Es en este documento el cual se aplica el filtro a través del checklist de alcance(Sánchez & Velthuis, 2012).
Este documento comprende un conjunto de preguntas
alineadas con el documento de alcance, el cual tiene como finalidad determinar,
en cuanto a una escala de niveles, la garantía en cuanto a calidad de información.
Luego se genera un promedio ponderado,
utilizando ratios para cada pregunta.
Figura N°4: Diagrama de la etapa de Planificación:
Requerimientos y diseño con sus respectivos artefactos Fases del modelo propuesto Requisitos: Requisitos: Según la Figura N° 4,La fase de desarrollo de
requisitos o Requerimientos(Pérez- Virgen, Salamando-Mejía, & Valencia-Ayala, 2013b)
comprende 4 actividades: Planificación, Relevamiento(Ian Sommerville, 1997) Control de
avances y Aprobación(Ali & Lai, 2016). La primera actividad Planificación
inicia con la elaboración del cronograma de actividades y la programación de reuniones
del mes. Estos dos documentos servirán como control
de actividades a lo largo del tiempo establecido El cronograma de actividades tendrá el registro de todas
las reuniones que posteriormente se realizarán, los entregables, algunas actividades a la interna,
coordinaciones, etc. La segunda actividad Relevamiento, se genera el cuestionario de desarrollo
de requisitos y el seguimiento de pendientes.
Requisitos:Con estos dos documentos
se busca garantizar la continuidad e integridad de la información que
se genera en las reuniones. Como tercera actividad se encuentra el
Control de Avances, donde se verifica un status de avance, el mismo documento
de seguimiento de pendientes que se presenta en la etapa de relevamiento
actualizado y sobretodo el Checklist Aseg doc Alcance. Requisitos: Este documento será el medidor
principal de viabilidad que se propone en el modelo propuesto.
Para finalizar la actividad de Aprobación se realizará al finalizar el sprint y contará con la aprobación del usuario. Figura N°5: Modelo propuesto - Etapa Desarrollo de requisitos detalle
Diseño de Solución:
La fase de diseño de Solución o Diseño comprende, según la Figura N° 6, las actividades: Control de
Avances y la Aprobación. Durante la actividad de control de avances se generan los documentos Status
de avance, Seguimiento de pendientes, Reporte de hallazgos, Checklist(Pedraza-Jiménez, Banco, Codina, & Cavaller, 2013)
de Aseguramiento de Diseño y Seguimiento de cierre de hallazgos.
Figura N°6: Diagrama completo de las etapas de diseño
Demostración del modelo propuesto:>
Para la demostración de la presente investigación, se realizó una implementación en tiempo
real en la empresa Efact y la empresa estatal ONP(Información, n.d.), aplicando el modelo propuesto, que consisten
en las herramientas expuestas en el punto a y b de la presente sección. Se obtuvo como resultados los
siguientes datos de validación y de disminución de los porcentajes de incumplimiento como corresponde
a la aplicación del problema. El objetivo del modelo propuesto se satisface con la disminución
de los porcentajes de incumplimiento. Figura N°7: Cuadro estadístico de los resultados obtenidos en el periodo 2015- 2017 ONP
Se demuestra objetivamente,
en base a una comparación de gráficos, la disminución del porcentaje de incumplimiento
en las fases de desarrollo y diseño,
por ende la solución al problema principal. Figura N°8: Tabla d los resultados del periodo 2015 - 2017 ONP
Figura N°9: Muestra de resultados del periodo 2018 – ONP
CONCLUSIONES
Con la adopción de estas herramientas para poder garantizar la calidad de la información se es- pera resultados óptimos en postproducción. Los mismos que generan satisfacción al usuario final y por ende se aminora y se suprime el problema principal que es el retraso garantizado en la etapa de planificación, que es el porcentaje de incumplimiento en la fase de planificación en cuanto a los requerimientos dentro de una organización. Con el modelo propuesto se espera que el porcentaje disminuya, se está realizando la validación del modelo propuesto a través de medición de checklist y recorrido de datos.
REFERENCIAS BIBLIOGRÁFICAS
a. Alarcon, A., & Sandoval, E. (2011). Herramientas CASE para ingeniería de Requisitos. Cultura Científica, 0(6). Retrieved from http://www.revistasjdc.com/main/index.php/ccient/article/view/37
b. Arruzazabala, M. C., Dapozo, G., & Thomas, P. (2012). Certificación ISO 9001:2008: Impacto en el Proceso de Ingeniería de Requerimientos. In CACIC 2012 Anales del XVIII Congreso Argentino de Ciencias de la Computación (pp. 744–753).
c.Borrell, C. R. (2006). Importancia de la ingeniería de re- querimientos dentro del ciclo de desarrollo de software. (Spanish). Importance of Requirements Engineering in the Software Development Life Cycle. (English), (3), 52–56. Re- trieved from http://search.ebscohost.com/login.aspx?direc t=true&db=fua&AN=34162106&lang=es&site=ehost-live
d.Chaves, M. A. (2011). La ingeniería de requerimientos y su importancia en el desarrollo de proyectos de software. InterSedes. Retrieved from http://revistas.ucr.ac.cr/index. php/intersedes/article/view/790
e.Ian Sommerville. (1997). Ingenieria De Software. Infor- mática Industrial, 687. Retrieved from
http://books.google.com/books?hl=en&lr=&id=L5tVdqFU3jcC&oi=fnd& pg=PA45&dq=Ingenieria+de+Software&ots=Dgx7drEqNa&sig=Kkm4_vRo_scAHzqrSZo9Dd_pyOw%5Cn
http://
f.Información, O. de T. de. (n.d.). PLAN_82_Plan_Operati-vo_Informático_2013_2013 ONP.pdf.
g.ISO, IEC, & IEEE. (2008). Systems and software engineering — Software life cycle processes (ISO/IEC 12207:2008(E); IEEE Std 12207-2008). ISO/ IEC/ IEEE.
h.Letelier, P., Canós, M., Sánchez, E., & Penadés, M. (2003). Métodologías Ágiles en el Desarrollo de Software. Valencia, Valencia, España, 1–8. Retrieved from http://www.carlosfau.com.ar/nqi/nqifiles/XP_Agil.pdf
i.Pedraza-Jiménez, R., Banco, S., Codina, L., & Cavaller, V. (2013). Diseño conceptual y especificación de requerimientos para el desarrollo y rediseño de sitios web. El Profesional de La Informacion, 22, 74–79. https://doiorg/10.3145/epi.2013.ene.10
j.Pérez-Virgen, H.L., Salamando-Mejía, C. A., & Valencia- Ayala, L. S. (2013a). Levantamiento De Requerimientos Basados En El Conocimiento Del Proceso. Revista Científica, (16), 42–51 Retrieved from http://revistas.udistrital.edu.co/ojs/index.php/revcie/article/view/4022
k.Peruana, N. T. (2004). Norma Tecnica Peruana De Tecnologia De La Informacion Ciclo De Vida Del Software, (18). Retrieved from https://www.pnp.gob.pe/normas_legales/ONGEI/RMN°179-2004-PCM Uso Obligatorio de Norma tecnica Peruana 12207-2004 Procesos de Ciclo de Vida del Software.pdf
Qumer, A., & Henderson-Sellers, B. (2008).A framework to support the evaluation, adoption and improvement of agile methods in practice. Journal of Systems and Software https://doi.org/10.1016/j.jss.2007.12.806
l.Sánchez, C. M. F., & Velthuis, M. G. P. (2012). Modelo para el gobierno de las TIC basado en las normas ISO.
M.The Standish Group. (1995). The standish group report. Chaos, 49, 1–8. https://doi.org/10.1145/1145287.1145301
N.Verbruggen, F. (2018). Process Efficiency – Adapting Flow to the Agile Improvement Effort Process Efficiency – Adapting Flow to the Agile Improvement Effort, (Sep- tember).
Recibido: 05-01-2019
Aceptado: 05-02-2019
Enlaces refback
- No hay ningún enlace refback.