www.visuresolutions.com la importancia de la ingeniería de requisitos fernando valera product...
TRANSCRIPT
www.visuresolutions.com
La importancia de la Ingeniería de Requisitos
Fernando ValeraProduct Manager IRQA - [email protected]
24 de Noviembre de 2009
Agenda
− La problemática− ¿Qué son los requisitos?− ¿Qué es la Ingeniería de Requisitos?− ¿Por qué es importante?− ¿Por qué MS Word o MS Excel NO es
suficiente?− Integración de la Ingeniería de Requisitos
en ALM
Algunas de estas situaciones son familiares…
- Voy a ver qué quiere el cliente, ¡el resto empezad a programar!
Algunas de estas situaciones son familiares…
- Sus requisitos de usuario incluyen 400 funcionalidades.
- ¿Es consciente de que ningún ser humano podrá utilizar un producto tan complejo?
- ¡Buena observación! Debería añadir “fácil de utilizar”
tiempo
Lo que el cliente NECESITA
Lo DESARROLLADO}Expectation
Gap
Esto no me vale!
… pero funciona!
PERFECTO…
lo voy a probar!
FUNCIONA!
Cliente
Desarrollador
Algunas de estas situaciones son familiares…
− Los Requisitos son ...− El principal criterio de éxito del equipo de proyecto− La base de las tareas del equipo de proyecto− La base para el diseño, codificación y las pruebas
…una especificación
que el sistema o producto debe
cumplir
“Requisitos son … una especificación de lo que debería ser implementado. […]”
-- Ian Sommerville & Pete Sawyer
Una condición o capacidad necesaria para un usuario para solucionar un problema o alcanzar un objetivo […]
[IEEE Std 610.12, “IEEE Standard Glossary of Software Engineering Terminology”]
“Requisitos son … una especificación de lo que debería ser implementado. […]”
-- Ian Sommerville & Pete Sawyer
Una condición o capacidad necesaria para un usuario para solucionar un problema o alcanzar un objetivo […]
[IEEE Std 610.12, “IEEE Standard Glossary of Software Engineering Terminology”]
Un requisito es…
Lo que un usuario quiere no es necesariamente lo que necesita!
¿Qué es la Ingeniería de Requisitos?
− Es la disciplina utilizada para descubrir los requisitos, analizarlos, entenderlos, especificarlos y validarlos de forma colaborativa, gestionando los cambios a lo largo del ciclo de vida.
− Permite alinear a los stakeholders en:− Una visión compartida− Unos objetivos− Unas expectativas.
− Reduce el riesgo de que un sistema sea rechazado por los usuarios una vez desarrollado
− Una Gestión y Definición de Requisitos eficiente permite:− Mostrar un nivel de disciplina en el proceso de desarrollo− Dar un mejor soporte a la Gestión de Cambios− Ganar una mayor eficiencia en las pruebas− Reducir los problemas de mantenimiento.
RequisitosRDM
Gestión y Definición de Requisitos
DEFINICIÓN DE REQUISITOS GESTIÓN DE REQUISITOS
Captura de requisitos
Análisis de requisitos
Especificación de requisitos
Validación de requisitos
INGENIERÍA DE REQUISITOS
La realidad de los proyectos software
− En 2004, el Chaos Report de Standish Group vaticinaba una mejora continuada en el número de proyectos software que terminaban con éxito.
− ¿Pero qué ha ocurrido en realidad?Nota: Standish Group, en su Chaos Report considera como variables de éxito la entrega en tiempo y coste, la calidad de los sistemas entregados, y el cumplimiento de las necesidades del usuario (alcance)
La realidad de los proyectos software
− Evolución de los resultados del análisis Chaos Report.
− En 2004, diferentes analistas ya predecían este comportamiento:
Fuente: TynerBlain.com
La realidad de los proyectos software
1. En los últimos 15 años se han introducido importantes mejoras en el desarrollo de software, especialmente en las etapas de gestión de proyectos, codificación y pruebas:
− Uso de modelos estadísticos en la Gestión de Proyectos− Uso de metodologías ágiles y evolutivas.− Lenguajes de programación más potentes y multiplataforma− Herramientas de desarrollo rápido− Aplicación de técnicas de ingeniería maduras
− Patrones de diseño− Reutilización− Model Driven Development− Análisis estático de código− …
− Automatización de pruebas funcionales y de rendimiento− …
2. Pero la mayor fuente de defectos sigue siendo los Requisitos!!− Se continúa siendo “artesano” en lugar de aplicar técnicas maduras de
Ingeniería de Requisitos.
Algunos datos interesantes…
Causas de los defectosRequirements Errors(82% )
Requirements Requirements ErrorsErrors(82% )(82% )
Design Errors(13% )
Design ErrorsDesign Errors(13% )(13% )
Coding Errors (1% )Coding Errors (1% )Coding Errors (1% )Other Errors (4% )Other Errors (4% )Other Errors (4% )
Requirements Errors(82% )
Requirements Requirements ErrorsErrors(82% )(82% )
Design Errors(13% )
Design ErrorsDesign Errors(13% )(13% )
Coding Errors (1% )Coding Errors (1% )Coding Errors (1% )Other Errors (4% )Other Errors (4% )Other Errors (4% )Other Errors (4% )Other Errors (4% )Other Errors (4% )
Esfuerzo dedicado a corregir los defectos
Coste relativo de solucionar un defecto
Fuentes: James Martin, Barry Boehm
0 5 10 15 20 25
200
180
160
140
120
100
80
60
40
20
0
% O
verc
ost
% Requirements Management Cost compared to total project cost
0- 5% invested in Req. Management results in 80-200% overcost8-14% invested in Req. Management results in 0-60% overcost
Project Analyzed
0 5 10 15 20 25
200
180
160
140
120
100
80
60
40
20
0
% O
verc
ost
% Requirements Management Cost compared to total project cost
0- 5% invested in Req. Management results in 80-200% overcost8-14% invested in Req. Management results in 0-60% overcost
Project Analyzed
La importancia de los Requisitos
Conclusiones1. Cada vez se produce mejor software, más complejo y de mayor
calidad.2. Pero los problemas persisten en el front end: la comunicación
entre negocio y tecnología. − Los Requisitos son a menudo ambiguos, confusos, incompletos o
contradictorios.− Descubrimos los problemas demasiado tarde, aumentando el retrabajo…− … y los proyectos continúan fallando.− Por muy buenos que seamos en desarrollo, si las necesidades no se
comunican correctamente, el sistema no podrá cumplirlas…− … y el objetivo de cualquier software es dar respuesta a necesidades de
negocio!
3. El foco en la Ingeniería de Requisitos ha sido la documentación y la trazabilidad.
− Pero … ¿para qué sirve documentar y trazar 500 Requisitos si 150 de ellos son deficientes?
4. Una mejor Gestión y Definición de Requisitos permite:− Mejores decisiones de diseño y de arquitectura.− Un menor retrabajo, porque se entienden los Requisitos antes de comenzar
el desarrollo.− Una mayor posibilidad de reutilizar Requisitos entre proyectos− Una reducción de las asunciones del equipo de desarrollo.− Una mayor eficiencia de las pruebas, reduciendo el riesgo, mejorando la
calidad y permitiendo la automatización.
¿Por qué MS Excel y MS Word NO son suficientes?
Muchas razones, pero en particular …
−No hay capacidad multiusuario−No existen atributos−No hay historial−No hay modelado−No existe la posibilidad de hacer análisis o
informes−No hay trazabilidad−No existe proceso−entre otros...
¿Por qué MS Excel y MS Word NO son suficientes?
Los malos requisitos son como una bomba de relojería defectuosa
Nunca sabes cuándo van a explotar!
¿Cómo puede ayudarte la Ingeniería de Requisitos
Invertir en herramientas de requisitos permite:
− Mejorar la productividad a través de la reutilización, la reducción del “retrabajado” y un aumento de la calidad.
− Reducir costes de Ingeniería mediante la reutilización y la disminución del “retrabajado”.
− Aumentar los beneficios con un menor time-to-market y productos más competitivos.
− Mantener la competitividad mejorando los procesos de ingeniería en cuanto a eficiencia y eficacia.
− Ayudando a alinear los esfuerzos de Ingeniería con las necesidades de negocio.
− Agilizar los procesos mejorando la trazabilidad y el análisis de impacto.
¿Qué es IRQA?
¿Qué es IRQA? Áreas cubiertas por IRQA
ACTIVIDADES CONTRATOACTIVIDADES CONTRATO
GESTIÓN DE PROVEDORESGESTIÓN DE PROVEDORES
DISEÑO Y ACTIVIDADES DE INGENIERÍADISEÑO Y ACTIVIDADES DE INGENIERÍA
ANÁLISISANÁLISIS PRUEBAS DE VALIDACIÓNPRUEBAS DE VALIDACIÓN
PRUEBAS DE ACEPTACIÓNPRUEBAS DE ACEPTACIÓNREQUISITOS DE USUARIOREQUISITOS DE USUARIO
DISEÑODISEÑO PRUEBAS DE INTEGRACIÓNPRUEBAS DE INTEGRACIÓN
PRUEBAS UNITARIASPRUEBAS UNITARIASCONSTRUCCIÓNCONSTRUCCIÓN
Cu
bie
rto p
or
IR
QA
Cu
bie
rto p
or IR
QA
¿Qué es IRQA? Las soluciones
IRQA Face. J-IRQA Face – COM & Java API
IRQA Integration PlatformIRQA Integration Platform
External Elements
Other Tools• Propietary Tools
• Comm. Tools
External Elements
Other Tools• Propietary Tools
• Comm. Tools
Existing IntegrationsExisting Integrations
Project Management (MS Project)Project Management (MS Project)
RequirementsDriven Testing
Test• Test Director
• Test Bench
RequirementsDriven Testing
Test• Test Director
• Test Bench
RequirementsDriven Design
• Enterprise Architect
• IBM RSM/RSA• ARTiSAN Studio
RequirementsDriven Design
• Enterprise Architect
• IBM RSM/RSA• ARTiSAN Studio
SCM (SCC)
(Subversion, etc)
SCM (SCC)
(Subversion, etc)
USERMANAGEMENT
(NT, LDAP)
USERMANAGEMENT
(NT, LDAP)
Visual PrototyperPrototype and
simulate sw reqs
Visual PrototyperPrototype and
simulate sw reqs
IRQAQuality Analyzer
Semantic Analysis
IRQAQuality Analyzer
Semantic Analysis
ReportManager
Reporting
ReportManager
Reporting
Customer Provider
IRQ
AeX
ch
an
ge
IRQ
AeX
ch
an
ge
Requirements CommunicationRequirements Communication
IRQA
Requirement Definition & Management (RDM)
¿Qué es IRQA? IRQA es el entorno…
Gráfico
Ingeniería de Requisitos
Entorno Integrado
ACTIVIDADES CONTRATOACTIVIDADES CONTRATO
GESTIÓN DE PROVEDORESGESTIÓN DE PROVEDORES
DISEÑO Y ACTIVIDADES DE INGENIERÍADISEÑO Y ACTIVIDADES DE INGENIERÍA
ANÁLISISANÁLISIS PRUEBAS DE VALIDACIÓNPRUEBAS DE VALIDACIÓN
PRUEBAS DE ACEPTACIÓNPRUEBAS DE ACEPTACIÓNREQUISITOS DE USUARIOREQUISITOS DE USUARIO
DISEÑODISEÑO PRUEBAS DE INTEGRACIÓNPRUEBAS DE INTEGRACIÓN
PRUEBAS UNITARIASPRUEBAS UNITARIASCONSTRUCCIÓNCONSTRUCCIÓN
Cove
red
by IR
QA
Cove
red
by IR
QA
ACTIVIDADES CONTRATOACTIVIDADES CONTRATO
GESTIÓN DE PROVEDORESGESTIÓN DE PROVEDORES
DISEÑO Y ACTIVIDADES DE INGENIERÍADISEÑO Y ACTIVIDADES DE INGENIERÍA
ANÁLISISANÁLISIS PRUEBAS DE VALIDACIÓNPRUEBAS DE VALIDACIÓN
PRUEBAS DE ACEPTACIÓNPRUEBAS DE ACEPTACIÓNREQUISITOS DE USUARIOREQUISITOS DE USUARIO
DISEÑODISEÑO PRUEBAS DE INTEGRACIÓNPRUEBAS DE INTEGRACIÓN
PRUEBAS UNITARIASPRUEBAS UNITARIASCONSTRUCCIÓNCONSTRUCCIÓN
Cove
red
by IR
QA
Cove
red
by IR
QA
Cove
red
by IR
QA
Cove
red
by IR
QA
PROYECTO ORIGEN
Producto Gold
Producto Silver
Conjuntos de elementos trazados
Listados de elementos
Requisitos, servicio o pruebas (Estándares –LOPD–, Usabilidad, etc.)
Requisitos, servicio, pruebas y trazabilidad (Funcionalidad –Login–, Interfaces, etc.)
¿Qué es IRQA? Reutilización
Integración con Visual Studio 2005
WORK ITEMS
(Requisitos, Servicios,
Pruebasy trazabilidad)
SINCRONIZACIÓN
REQUISITOS
SERVICIOS
SINCRONIZACIÓN(Requisitos, Servicios,
Pruebas y trazabilidad)
PRUEBAS
Próxima integración con Team Foundation Server
Introducción
La integración consistirá en un plugin desarrollado con el nuevo SDK de IRQA
Podrá ser utilizado localmente o establecido como corporativo para todos los usuarios del proyecto
Próxima integración con Team Foundation Server
Exportar requisitos
Exportará requisitos como Work Items, con la opción de:
Añadir
Actualizar
Borrar
Exportará trazabilidad de requisitos con:
Requisitos
Los motivos serán tipos en TFS
Servicios
Escenarios de prueba
Se mapearán atributos y valores a los correspondientes en TFS
Selección de la carpeta destino
La información de los requisitos sincronizada será:
Código, Nombre, Descripción, Jerarquía y atributos
Próxima integración con Team Foundation Server
Próxima integración con Team Foundation Server
Exportar Servicios (Casos de Uso)
Exportará servicios como Work Items, con la opción de:
Añadir
Actualizar
Borrar
Exportará trazabilidad de servicios con:
Requisitos
Escenarios de prueba
Se mapearán atributos y valores a los correspondientes en TFS
Selección de la carpeta destino
La información de los servicios sincronizada será:
Código, Nombre, Descripción, y atributos
Próxima integración con Team Foundation Server
Exportar escenarios de prueba
Exportará escenarios de prueba como Work Items, con la opción de:
Añadir
Actualizar
Borrar
Exportará trazabilidad de escenarios de prueba con:
Requisitos
Servicios
Se mapearán atributos y valores a los correspondientes en TFS
Selección de la carpeta destino
La información de los requisitos sincronizada será:
Código, Nombre, Descripción, pasos, jerarquía y atributos
Importar requisitos, servicios y escenarios de prueba
Se podrá importar de vuelta y sincronizar requisitos, servicios y escenarios de prueba creados o modificados en TFS
Se podrá importar de vuelta la trazabilidad establecida en TFS entre requisitos, servicios y pruebas
Se podrá seleccionar la partición de acceso y el bloque destino en IRQA
Esto permitirá establecer mecanismos de sincronización en ambos sentidos entre IRQA y TFS
Próxima integración con Team Foundation Server
Guarar la configuración
El plugin permitirá guardar la configuración en un fichero XML
Próxima integración con Team Foundation Server
Próxima integración con Team Foundation Server
La integración proporcionará potentes capacidades para establecer y explotar la trazabilidad entre herramientas.
El mecanismo de sincronización entre las herramientas permitirá que cada equipo sea capaz de centrarse en sus propias actividades, utilizando su propio conjunto de herramientas, mientras se beneficia de los resultados de las actividades de otros equipos, visualizando la información correspondiente en su propio entorno.