SlideShare una empresa de Scribd logo
1 de 21
www.sgcampus.com.mx @sgcampus
www.sgcampus.com.mx
@sgcampus
Guilherme Siqueira Simões
Proyectos de calidad comienzan con
requisitos de calidad
www.sgcampus.com.mx @sgcampus
Agenda
•¿Por qué preocuparse por la calidad en requisitos?
•¿Qué es calidad?
•¿Qué es requisito de software?
•La especificación de requisitos
•El rol de la especificación de requisitos
•El nivel de detalle para la especificación
•Criterios de calidad en requisitos
•Actividades que aseguran la calidad de los requisitos
1
www.sgcampus.com.mx @sgcampus
¿Por qué calidad en requisitos?
•47% de los fracasos en proyectos se deben a la
mala gestión requisitos
•20% de los defectos tienen su origen en requisitos
•Encontrar y corregir defectos en el software después
de entregado es >100 x más costoso que hacerlo en
la fase de requisitos
*PMI’s Pulse of the Profession: Requirements Management
A Core Competency for Project and Program Success - 2014
**Software Defects Origins and Removal Methods
Capers Jones - 2014
***Software Defect Reduction – Top 10 List
Barry Boehm y Victor Basili - 2001
2
www.sgcampus.com.mx @sgcampus
¿Qué es calidad?
•Calidad es el grado en que un conjunto de
características inherentes cumple con los
requisitos - ISO 9000
•Pero, ¿Cómo asegurar calidad si hay errores en
los requisitos?
(20% de los defectos tienen su origen en requisitos)
3
www.sgcampus.com.mx @sgcampus
¿Qué es requisito de software?
(1) Condición o capacidad que un usuario
necesita para resolver un problema o lograr
un objetivo
(2) Condición o capacidad que debe cumplir o
poseer un sistema o uno de sus
componentes para satisfacer un contrato,
estándar, especificación u otra documentación
formalmente impuesta
(3) Representación documentada de una
condición o capacidad como en (1) o (2)
deseo (proyecto)
producto
IEEE Standard Glossary of Software
Engineering Terminology (IEEE 610) documentación
especificación
4
www.sgcampus.com.mx @sgcampus
Especificación de Requisitos
•Es un conjunto de requisitos que:
–Ayuda a los clientes a describir con precisión lo
que desean obtener (de un software)
–Ayuda los desarrolladores a entender
exactamente lo que quiere el cliente
5
www.sgcampus.com.mx @sgcampus
Rol de la Especificación
•Ser un contrato entre cliente y desarrolladores
– No se debe enfocar en aspectos de diseño o
implementación
– Además de ser detallado, debe promover la
comunicación entre las dos partes
•El nivel de confianza entre las dos partes
determina el nivel de detalle
6
www.sgcampus.com.mx @sgcampus
Nivel de Detalle
Menos detalle Más detalle
Clientes altamente involucrados Desarrollo externo
Desarrolladores con experiencia
considerable en el asunto del
problema
Miembros del equipo del
proyecto geográficamente
dispersos
Existen antecedentes disponibles
(por ejemplo: Reingeniería)
Pruebas basadas en los
requisitos
Una solución de paquete será
utilizada
Se requiere estimaciones con
más precisión
Contexto más orientado a los
cambios
Se requiere trazabilidad de los
requisitos
7
www.sgcampus.com.mx @sgcampus
Criterios de Calidad*
•Correcta: Cada requisito satisface la necesidad o
la demanda legítima del negocio. Es decir, debe
trazar alguna necesidad (requisito) de negocio
–No contiene requisitos superfluos
–Menos riesgos de scope creep y gold plating
8
*IEEE Std 830 Recommended Practice for
Software Requirements Specifications
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
•Clara (sin ambigüedad): Tiene una interpretación única
para todo el público. El lenguaje natural, casi siempre
usado para describir requisitos, es inherentemente
ambiguo. Tips:
– Utilice las mejores prácticas para la escritura de texto
– Use un glosario para definir términos del contexto
– No use términos subjetivos o indeterminados: “etc", "entre otros“,
“bueno”, "amigable", "flexible", "portable", "razonable“, "intuitivo”
– Use ejemplos
9
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Completa: Todos los elementos relevantes del contexto de
interés (el dominio del problema) están descritos. Ejemplos:
–Funcionalidades, aspectos de calidad, restricciones de
diseño, interfaces externas
–Definición de todas las respuestas para cada tipo
posible de entrada al software
–Rótulos y referencias a todas las figuras, tablas y
diagramas en la especificación
• La trazabilidad ayuda a garantizar completitud
• Especificación con partes "para definir" es incompleta
10
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Consistente: No existen contradicciones entre los documentos
de requisitos, sea en un mismo nivel o en niveles diferentes.
Ejemplos de contradicciones:
–Temporalidad: REQ-03 indica que el evento A precede al evento
B; REQ-12 indica que los eventos A y B son simultáneos
–Dos requisitos utilizan diferentes nombres para el mismo objeto
del mundo real
• A menudo, la inconsistencia surge de solicitudes de cambios
mal asimilados en la especificación
11
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Modificable: Pueden realizarse cambios de una manera
fácil, completa y consistente, sin comprometer la estructura
y estilo de la especificación. Directrices:
–Tener una organización coherente y fácil de usar que
incluye, por ejemplo, una tabla de contenido, un índice,
glosario y control de cambios
–No ser redundante
–Expresar cada requisito por separado en lugar de
combinarlo con otros requisitos
12
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Priorizada: Cada requisito de la especificación tiene atribuido
un valor de importancia relativa basado en uno o más criterios,
por ej.: riesgo, costo
• Una buena priorización asegura que el esfuerzo se centrará en
las necesidades más críticas, lo que reduce los riesgos del
proyecto
• La priorización permite:
– Determinar los requisitos que se deben analizar primero
– Planificar que requisitos implementar primero
– Cuánto tiempo o atención se destinará a los requisitos
13
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Verificable: Algún método (costo-beneficio aceptable)
puede ser establecido para demostrar objetivamente que el
software cumple con el requisito. De lo contrario, éste debe
ser eliminado o revisado. Ejemplos:
– El requisito no funcional “la interfaz de usuario debe ser
fácil de usar" no es verificable debido a su subjetividad
– El requisito no funcional "95% de las operaciones se
debe procesar en menos de 1 segundo cada uno" es
verificable porque se expresa en términos mensurables
14
www.sgcampus.com.mx @sgcampus
Criterios de Calidad
• Trazable: Establece la relación entre los requisitos, sus fuentes
y sus productos derivados
• Hace la especificación más modificable, facilita el análisis del
impacto de los cambios, y verificación de su corrección y completitud
• Ayuda a garantizar el cumplimiento del software con sus requisitos,
identificando los requisitos que faltan o sobran y verificar si todo los
objetivos de negocio están cubiertos por los requisitos y productos
• Ayuda en la Gestión de Riesgos: requisitos con muchas relaciones
tienen mayores riesgos.
15
www.sgcampus.com.mx @sgcampus
Cómo asegurar calidad:
Verificación
• Verificación de Requisitos: Asegura que las especificaciones
y modelos cumplen con los estándares. Ej.: errores de
notación, datos incompletos o inconsistentes, malas prácticas
• Técnicas principales: Listas de Verificación y Revisiones
• Constituye una comprobación final para asegurarse de que los
requisitos están listos para la validación por los clientes
16
www.sgcampus.com.mx @sgcampus
Cómo asegurar calidad:
Validación
• Validación de Requisitos: Asegura que todos los requisitos
estén alineados con los requisitos del negocio. Es decir, tratan
de garantizar que se cumplen todas las necesidades de
negocio del cliente
• Técnicas principales: Revisiones y Prototipos
17
www.sgcampus.com.mx @sgcampus
Conclusión
18
• Requisitos son claves para que los proyectos logren éxito
• Requisitos no equivalen a documentación
• Especificación detallada no siempre significa mejor calidad
• Verificación y validación deben siempre estar presentes
• Proyectos con calidad comienzan con requisitos de calidad
www.sgcampus.com.mx @sgcampus
Para saber más…
• PMI’s Pulse of the Profession: Requirements Management - A Core
Competency for Project and Program Success – 2014
• A Guide to the Business Analysis Body of Knowledge – BABOK 2.0 (IIBA)
• More About Software Requirements: Thorny Issues and Practical Advice
(Karl E. Wiegers)
• IEEE Std 830 Recommended Practice for Software Requirements
Specifications
• Ingeniería de Requisitos: Software Orientado al Negocio
(SG Campus, curso virtual en vivo, nov-2014)
19
www.sgcampus.com.mx @sgcampus
Cierre
¡Gracias por su atención!
¿Preguntas?
Guilherme Siqueira Simões
guilherme.simoes@fattocs.com
linkedin.com/in/guilhermesimoes
Skype: guilherme.s.simoes
20

Más contenido relacionado

La actualidad más candente

Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del SoftwareJaneth Jimenez
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 
Tecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadTecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadGiovani Ramirez
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones webpaulinaaillon
 
Semana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadSemana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadGiovani Ramirez
 
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...Marta Silvia Tabares
 
Linea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchLinea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchGrabielleBarreto
 
CMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosCMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosVictor Caravantes
 
Trazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareTrazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareBarCamp Quito
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
Ejemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalEjemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalGema López
 
metodologia desarrollo_sistemas_hipermedia_orientada_objetos
metodologia desarrollo_sistemas_hipermedia_orientada_objetosmetodologia desarrollo_sistemas_hipermedia_orientada_objetos
metodologia desarrollo_sistemas_hipermedia_orientada_objetosMayta Coronel
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Fases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareFases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareEugenio Del Pozo Dipre
 
Tema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaTema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaMariano Galvez
 

La actualidad más candente (20)

Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del Software
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
Tecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidadTecnicas matriz de trazabilidad
Tecnicas matriz de trazabilidad
 
Ensayo CMMI
Ensayo CMMIEnsayo CMMI
Ensayo CMMI
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones web
 
Semana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadSemana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidad
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...
La trazabilidad de artefactos software en el contexto de nuevos paradigmas de...
 
Linea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchLinea de productos de software y Metodo Watch
Linea de productos de software y Metodo Watch
 
CMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosCMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de Requerimientos
 
Trazabilidad En Proyectos De Software
Trazabilidad En Proyectos De SoftwareTrazabilidad En Proyectos De Software
Trazabilidad En Proyectos De Software
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Ejemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalEjemplo de Base de Datos Relacional
Ejemplo de Base de Datos Relacional
 
metodologia desarrollo_sistemas_hipermedia_orientada_objetos
metodologia desarrollo_sistemas_hipermedia_orientada_objetosmetodologia desarrollo_sistemas_hipermedia_orientada_objetos
metodologia desarrollo_sistemas_hipermedia_orientada_objetos
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Fases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareFases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de software
 
Tema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaTema 6 planes de seguridad informatica
Tema 6 planes de seguridad informatica
 

Similar a Proyectos de calidad comienzan con requisitos de calidad

Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...
Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...
Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...Pepe
 
Requerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarRequerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarDharma Consulting
 
06 gestion de la calidad
06 gestion de la calidad06 gestion de la calidad
06 gestion de la calidadRuben Rodriguez
 
Qfd - Despliegue de la función de Calidad
Qfd - Despliegue de la función de CalidadQfd - Despliegue de la función de Calidad
Qfd - Despliegue de la función de CalidadKelly Cuervo
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimientomely1930
 
Taller ingernieria de requerimientos
Taller ingernieria de requerimientosTaller ingernieria de requerimientos
Taller ingernieria de requerimientosXilena16
 
Christian Rivero
Christian RiveroChristian Rivero
Christian RiveroJdgc2304
 
Ingenieria De Requisitos
Ingenieria De RequisitosIngenieria De Requisitos
Ingenieria De RequisitosGonzalo Piedra
 
Ingenieria De Requisitos
Ingenieria De RequisitosIngenieria De Requisitos
Ingenieria De Requisitosguest4af293
 
Cesar rivera power point
Cesar rivera power pointCesar rivera power point
Cesar rivera power pointCesar Rivera
 

Similar a Proyectos de calidad comienzan con requisitos de calidad (20)

Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...
Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...
Factores de éxito en la captura y gestión de requisitos (Basado en las mejore...
 
DFSS
DFSSDFSS
DFSS
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Capacitacitación Tester - QA 2
Capacitacitación Tester - QA 2Capacitacitación Tester - QA 2
Capacitacitación Tester - QA 2
 
Requerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarRequerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitar
 
06 gestion de la calidad
06 gestion de la calidad06 gestion de la calidad
06 gestion de la calidad
 
Ingenieria de Requisitos
Ingenieria de RequisitosIngenieria de Requisitos
Ingenieria de Requisitos
 
Qfd - Despliegue de la función de Calidad
Qfd - Despliegue de la función de CalidadQfd - Despliegue de la función de Calidad
Qfd - Despliegue de la función de Calidad
 
Creando requerimientos eficaces
Creando requerimientos eficacesCreando requerimientos eficaces
Creando requerimientos eficaces
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimiento
 
Taller ingernieria de requerimientos
Taller ingernieria de requerimientosTaller ingernieria de requerimientos
Taller ingernieria de requerimientos
 
Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Taller en clases 1
Taller en clases 1Taller en clases 1
Taller en clases 1
 
Christian Rivero
Christian RiveroChristian Rivero
Christian Rivero
 
EGobix - Gestion de la Calidad del Proyecto
EGobix - Gestion de la Calidad del ProyectoEGobix - Gestion de la Calidad del Proyecto
EGobix - Gestion de la Calidad del Proyecto
 
Fabricas de software
Fabricas de softwareFabricas de software
Fabricas de software
 
Ingenieria De Requisitos
Ingenieria De RequisitosIngenieria De Requisitos
Ingenieria De Requisitos
 
Ingenieria De Requisitos
Ingenieria De RequisitosIngenieria De Requisitos
Ingenieria De Requisitos
 
Tp ciclos de vida
Tp   ciclos de vidaTp   ciclos de vida
Tp ciclos de vida
 
Cesar rivera power point
Cesar rivera power pointCesar rivera power point
Cesar rivera power point
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Proyectos de calidad comienzan con requisitos de calidad

  • 1. www.sgcampus.com.mx @sgcampus www.sgcampus.com.mx @sgcampus Guilherme Siqueira Simões Proyectos de calidad comienzan con requisitos de calidad
  • 2. www.sgcampus.com.mx @sgcampus Agenda •¿Por qué preocuparse por la calidad en requisitos? •¿Qué es calidad? •¿Qué es requisito de software? •La especificación de requisitos •El rol de la especificación de requisitos •El nivel de detalle para la especificación •Criterios de calidad en requisitos •Actividades que aseguran la calidad de los requisitos 1
  • 3. www.sgcampus.com.mx @sgcampus ¿Por qué calidad en requisitos? •47% de los fracasos en proyectos se deben a la mala gestión requisitos •20% de los defectos tienen su origen en requisitos •Encontrar y corregir defectos en el software después de entregado es >100 x más costoso que hacerlo en la fase de requisitos *PMI’s Pulse of the Profession: Requirements Management A Core Competency for Project and Program Success - 2014 **Software Defects Origins and Removal Methods Capers Jones - 2014 ***Software Defect Reduction – Top 10 List Barry Boehm y Victor Basili - 2001 2
  • 4. www.sgcampus.com.mx @sgcampus ¿Qué es calidad? •Calidad es el grado en que un conjunto de características inherentes cumple con los requisitos - ISO 9000 •Pero, ¿Cómo asegurar calidad si hay errores en los requisitos? (20% de los defectos tienen su origen en requisitos) 3
  • 5. www.sgcampus.com.mx @sgcampus ¿Qué es requisito de software? (1) Condición o capacidad que un usuario necesita para resolver un problema o lograr un objetivo (2) Condición o capacidad que debe cumplir o poseer un sistema o uno de sus componentes para satisfacer un contrato, estándar, especificación u otra documentación formalmente impuesta (3) Representación documentada de una condición o capacidad como en (1) o (2) deseo (proyecto) producto IEEE Standard Glossary of Software Engineering Terminology (IEEE 610) documentación especificación 4
  • 6. www.sgcampus.com.mx @sgcampus Especificación de Requisitos •Es un conjunto de requisitos que: –Ayuda a los clientes a describir con precisión lo que desean obtener (de un software) –Ayuda los desarrolladores a entender exactamente lo que quiere el cliente 5
  • 7. www.sgcampus.com.mx @sgcampus Rol de la Especificación •Ser un contrato entre cliente y desarrolladores – No se debe enfocar en aspectos de diseño o implementación – Además de ser detallado, debe promover la comunicación entre las dos partes •El nivel de confianza entre las dos partes determina el nivel de detalle 6
  • 8. www.sgcampus.com.mx @sgcampus Nivel de Detalle Menos detalle Más detalle Clientes altamente involucrados Desarrollo externo Desarrolladores con experiencia considerable en el asunto del problema Miembros del equipo del proyecto geográficamente dispersos Existen antecedentes disponibles (por ejemplo: Reingeniería) Pruebas basadas en los requisitos Una solución de paquete será utilizada Se requiere estimaciones con más precisión Contexto más orientado a los cambios Se requiere trazabilidad de los requisitos 7
  • 9. www.sgcampus.com.mx @sgcampus Criterios de Calidad* •Correcta: Cada requisito satisface la necesidad o la demanda legítima del negocio. Es decir, debe trazar alguna necesidad (requisito) de negocio –No contiene requisitos superfluos –Menos riesgos de scope creep y gold plating 8 *IEEE Std 830 Recommended Practice for Software Requirements Specifications
  • 10. www.sgcampus.com.mx @sgcampus Criterios de Calidad •Clara (sin ambigüedad): Tiene una interpretación única para todo el público. El lenguaje natural, casi siempre usado para describir requisitos, es inherentemente ambiguo. Tips: – Utilice las mejores prácticas para la escritura de texto – Use un glosario para definir términos del contexto – No use términos subjetivos o indeterminados: “etc", "entre otros“, “bueno”, "amigable", "flexible", "portable", "razonable“, "intuitivo” – Use ejemplos 9
  • 11. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Completa: Todos los elementos relevantes del contexto de interés (el dominio del problema) están descritos. Ejemplos: –Funcionalidades, aspectos de calidad, restricciones de diseño, interfaces externas –Definición de todas las respuestas para cada tipo posible de entrada al software –Rótulos y referencias a todas las figuras, tablas y diagramas en la especificación • La trazabilidad ayuda a garantizar completitud • Especificación con partes "para definir" es incompleta 10
  • 12. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Consistente: No existen contradicciones entre los documentos de requisitos, sea en un mismo nivel o en niveles diferentes. Ejemplos de contradicciones: –Temporalidad: REQ-03 indica que el evento A precede al evento B; REQ-12 indica que los eventos A y B son simultáneos –Dos requisitos utilizan diferentes nombres para el mismo objeto del mundo real • A menudo, la inconsistencia surge de solicitudes de cambios mal asimilados en la especificación 11
  • 13. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Modificable: Pueden realizarse cambios de una manera fácil, completa y consistente, sin comprometer la estructura y estilo de la especificación. Directrices: –Tener una organización coherente y fácil de usar que incluye, por ejemplo, una tabla de contenido, un índice, glosario y control de cambios –No ser redundante –Expresar cada requisito por separado en lugar de combinarlo con otros requisitos 12
  • 14. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Priorizada: Cada requisito de la especificación tiene atribuido un valor de importancia relativa basado en uno o más criterios, por ej.: riesgo, costo • Una buena priorización asegura que el esfuerzo se centrará en las necesidades más críticas, lo que reduce los riesgos del proyecto • La priorización permite: – Determinar los requisitos que se deben analizar primero – Planificar que requisitos implementar primero – Cuánto tiempo o atención se destinará a los requisitos 13
  • 15. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Verificable: Algún método (costo-beneficio aceptable) puede ser establecido para demostrar objetivamente que el software cumple con el requisito. De lo contrario, éste debe ser eliminado o revisado. Ejemplos: – El requisito no funcional “la interfaz de usuario debe ser fácil de usar" no es verificable debido a su subjetividad – El requisito no funcional "95% de las operaciones se debe procesar en menos de 1 segundo cada uno" es verificable porque se expresa en términos mensurables 14
  • 16. www.sgcampus.com.mx @sgcampus Criterios de Calidad • Trazable: Establece la relación entre los requisitos, sus fuentes y sus productos derivados • Hace la especificación más modificable, facilita el análisis del impacto de los cambios, y verificación de su corrección y completitud • Ayuda a garantizar el cumplimiento del software con sus requisitos, identificando los requisitos que faltan o sobran y verificar si todo los objetivos de negocio están cubiertos por los requisitos y productos • Ayuda en la Gestión de Riesgos: requisitos con muchas relaciones tienen mayores riesgos. 15
  • 17. www.sgcampus.com.mx @sgcampus Cómo asegurar calidad: Verificación • Verificación de Requisitos: Asegura que las especificaciones y modelos cumplen con los estándares. Ej.: errores de notación, datos incompletos o inconsistentes, malas prácticas • Técnicas principales: Listas de Verificación y Revisiones • Constituye una comprobación final para asegurarse de que los requisitos están listos para la validación por los clientes 16
  • 18. www.sgcampus.com.mx @sgcampus Cómo asegurar calidad: Validación • Validación de Requisitos: Asegura que todos los requisitos estén alineados con los requisitos del negocio. Es decir, tratan de garantizar que se cumplen todas las necesidades de negocio del cliente • Técnicas principales: Revisiones y Prototipos 17
  • 19. www.sgcampus.com.mx @sgcampus Conclusión 18 • Requisitos son claves para que los proyectos logren éxito • Requisitos no equivalen a documentación • Especificación detallada no siempre significa mejor calidad • Verificación y validación deben siempre estar presentes • Proyectos con calidad comienzan con requisitos de calidad
  • 20. www.sgcampus.com.mx @sgcampus Para saber más… • PMI’s Pulse of the Profession: Requirements Management - A Core Competency for Project and Program Success – 2014 • A Guide to the Business Analysis Body of Knowledge – BABOK 2.0 (IIBA) • More About Software Requirements: Thorny Issues and Practical Advice (Karl E. Wiegers) • IEEE Std 830 Recommended Practice for Software Requirements Specifications • Ingeniería de Requisitos: Software Orientado al Negocio (SG Campus, curso virtual en vivo, nov-2014) 19
  • 21. www.sgcampus.com.mx @sgcampus Cierre ¡Gracias por su atención! ¿Preguntas? Guilherme Siqueira Simões guilherme.simoes@fattocs.com linkedin.com/in/guilhermesimoes Skype: guilherme.s.simoes 20