www.visuresolutions.com la importancia de la ingeniería de requisitos fernando valera product...

30
www.visuresolutions.com a importancia de la Ingeniería de Requisito Fernando Valera Product Manager IRQA - [email protected] 24 de Noviembre de 2009

Upload: hieronimo-peinado

Post on 03-Jan-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

www.visuresolutions.com

La importancia de la Ingeniería de Requisitos

Fernando ValeraProduct Manager IRQA - [email protected]

24 de Noviembre de 2009

Page 2: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 3: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

Algunas de estas situaciones son familiares…

- Voy a ver qué quiere el cliente, ¡el resto empezad a programar!

Page 4: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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”

Page 5: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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…

Page 6: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

− 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!

Page 7: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 8: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 9: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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)

Page 10: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 11: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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.

Page 12: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 13: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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.

Page 14: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 15: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

¿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!

Page 16: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 17: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

¿Qué es IRQA?

Page 18: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

¿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

Page 19: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

¿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)

Page 20: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

¿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

Page 21: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 22: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

Integración con Visual Studio 2005

Page 23: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 24: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 25: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 26: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 27: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 28: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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

Page 29: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

Guarar la configuración

El plugin permitirá guardar la configuración en un fichero XML

Próxima integración con Team Foundation Server

Page 30: Www.visuresolutions.com La importancia de la Ingeniería de Requisitos Fernando Valera Product Manager IRQA - fvalera@visuresolutions.com 24 de Noviembre

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.