FACULTAD DE INFORMATICA
UNIVERSIDAD COMPLUTENSE DE MADRID
INGENIERIA INFORMATICA
AUDITORIA INFORMATICA
Auditoria Informatica - Tema AI07 Auditoria proceso desarrollo software
1. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 1MCMP - PLGR
AUDITORÍA
PROCESO DESARROLLO
SOFTWARE
Mª Carmen Molina Prego
Pedro Luis García Repetto
Auditoría Informática
Grado Ingeniería Informática
DACYA – FDI – UCM
3. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 3MCMP - PLGR
1 Introducción – Definiciones de CALIDAD
Propiedad o conjunto de propiedades inherentes a
algo, que permiten juzgar su valor (www.RAE.es)
La capacidad de un conjunto de características
inherentes de un producto, o componente del
producto, o proceso, de satisfacer por completo los
requisitos del cliente (CMMi)
Grado en el que un conjunto de características
inherentes cumple con los requisitos (ISO 9000)
Conjunto de propiedades y características de un
producto o servicio que le confieren su aptitud para
satisfacer unas necesidades explícitas o implícitas
(ISO 8402)
4. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 4MCMP - PLGR
1 Introducción – Definiciones de SOFTWARE
Conjunto de programas, instrucciones y reglas
informáticas para ejecutar ciertas tareas en una
computadora (www.RAE.es)
Programas, procedimientos y documentación y
datos asociados, relacionados con la operación de un
sistema informático (IEEE Std. 610)
Conjunto de programas, procedimientos y
documentación relacionada asociados con un
sistema, especialmente un sistema informático
(Webster’s New Collegiate Dictionary)
5. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 5MCMP - PLGR
1 Introducción – Definiciones de SOFTWARE
Programas
• Conjuntos de instrucciones que
proporcionan la funcionalidad deseada
cuando son ejecutadas por el ordenador
Datos
• Los programas manipulando datos
• El mantenimiento y las pruebas de los
programas también necesitan datos
Documen-
tación
• Explicación de cómo usar el programa
• Ej. manuales de usuario y de operación
6. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 6MCMP - PLGR
1 Introducción – Definiciones de INGENIERÍA DEL SOFTWARE
La aplicación de un enfoque sistemático,
disciplinado y cuantificable al desarrollo, operación
(funcionamiento) y mantenimiento del software (IEEE)
Establecimiento de los principios y métodos de la
ingeniería a fin de obtener software de modo rentable
que sea fiable y trabaje en máquinas reales (Bauer)
Aplicación práctica del conocimiento científico al
diseño y construcción de programas de computadora y
a la documentación asociada requerida para
desarrollar, operar (funcionar) y mantenerlos (Bohem)
7. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 7MCMP - PLGR
1 Introducción – Ingeniería del software
Procesos: un marco de trabajo para controlar la
gestión del proyecto y las actividades de ingeniería.
Indica las actividades y tareas a realizar (Qué)
Métodos: actividades y tareas técnicas (Cómo)
Herramientas: soporte a procesos y métodos
8. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 8MCMP - PLGR
1 Introducción – Tareas de la ingeniería del software
Análisis de requisitos: qué quiere el cliente/gestor.
Esquema entidad - relación
Especificación: descripción matemática del software
a desarrollar
Diseño y arquitectura: cómo funcionará el software,
consideraciones tecnológicas y casos de uso
Programación: reducir un diseño a código
Prueba: comprobar que el software realiza
correctamente las tareas indicadas en la
especificación
Mantenimiento: solventar errores descubiertos y
tratar con nuevos requisitos
Retirada del software
9. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 9MCMP - PLGR
1 Introducción – Calidad del software
La calidad del software se puede enfocar desde
distintas dimensiones muy diferentes entre ellas. No
es lo mismo calidad del PRODUCTO software, que
calidad del PROCESO (p.e. CMMI) software, que
calidad del EQUIPO
Una certificación de la calidad de los procesos (una
evaluación CMMI por ejemplo) no siempre asegura un
producto de calidad software
Calidad del producto el más conocido, aunque
diferente, es la ISO 9126 (Familia ISO 25000). Basado
en la definición y obtención de métricas software
10. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 10MCMP - PLGR
1 Introducción – Calidad del software
11. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 11MCMP - PLGR
1 Introducción – Ventajas de la calidad del software
Calidad
Proceso
Calidad
Proyec-
to
Calidad
Produc
-to
Calidad
Software
C A L I D A D D E L E Q U I P O
12. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 12MCMP - PLGR
1 Introducción – Ventajas de la calidad del software
Calidad
proceso
ISO/IEC
12207
CMMI-
DEV
Evaluación
proceso
ISO/IEC
15504
SPICE
Calidad
producto
ISO/IEC
9126
ISO/IEC
250[0-3]n
Evaluación
producto
ISO/IEC
2504n
SQuaRE
13. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 13MCMP - PLGR
1 Introducción –Calidad de software ISO/IEC
Modelo de la
calidad de los
procesos software
Modelo de
Procesos
ISO/IEC 12207
Modelo de
Evaluación
ISO/IEC 15504
14. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 14MCMP - PLGR
Índice
1. Introducción
2.ISO/IEC 12207
3. ISO/IEC 15504
4. Auditoría SPICE
5. CMMI-DEV y SCAMPI
6. Auditoría SDLC
7. Bibliografía
15. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 15MCMP - PLGR
2 ISO/IEC 12207- Alcance y objetivo
Alcance
Marco de trabajo para la adquisición de un producto o
servicio software o para todo el ciclo de desarrollo
software de un producto
Objetivo
Definir un conjunto de procesos relacionados con el
ciclo de vida de desarrollo de un producto software
que facilite la comunicación entre todos los
implicados (Stakeholders)
16. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 16MCMP - PLGR
2 ISO/IEC 12207- Limitaciones
ISO/IEC 12207 especifica:
Lo que se debe hacer
ISO/IEC 12207 no especifica:
Cómo se debe hacer (metodología)
ISO/IEC 12207 se puede adaptar a los distintos
modelo de ciclo de vida de desarrollo software
(SDLC): cascada, incremental, espiral, etc.
SDLC indica cómo se organizan los procesos de la
ISO/IEC 12207
17. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 17MCMP - PLGR
2 ISO/IEC 12207- Procesos
Proceso: conjunto de actividades interrelacionadas
que interactúan entre sí y transforman entradas en
salidas
ISO/IEC 12207: 43 procesos agrupados en 7 grupos
y éstos en 2 conjuntos:
6. Procesos del ciclo de
vida de desarrollo
Software
7. Procesos específicos
Software
NG Grupo de Proyectos Nº
6.1 Acuerdo o convenio 2
6.2 Organización del
proyecto 5
6.3 Proyecto 7
6.4 Técnicos 11
7.1 Implementación
Software 7
7.2 Soporte Software 8
7.3 Reutilización Software 3
18. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 18MCMP - PLGR
2 ISO/IEC 12207- Procesos
Grupo de Procesos Proceso
6 1Acuerdo o convenio 2Suministro
6 2
Organizacionales del
proyecto 1Gestión Modelo de Ciclo de Vida
7 2Soporte Software 2Gestión de la Configuración
Software
6 3Proyecto 1Planificación del Proyecto
6 3Proyecto 2Evaluación y Control del Proyecto
6 3Proyecto 5Gestión de la Configuración
6 3Proyecto 7Proceso de Medición
6 4Técnicos 1Definición de Requisitos de los
Stakeholders
6 4Técnicos 2Análisis de Requisitos del Sistema
7 2Soporte Software 3Aseguramiento Calidad Software
19. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 19MCMP - PLGR
2 ISO/IEC 12207- Definición de un Proceso
Título del proyecto: indica el ámbito de proyecto
Propósito: objetivos a alcanzar al ejecutar el proceso
Resultados o «outcomes»: resultados esperados en
una ejecución correcta del proyecto
Actividades: relación de acciones que se ejecutan
para obtener los resultados
Tareas: requerimientos, recomendaciones o acciones
que ayudan a conseguir los resultados
20. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 20MCMP - PLGR
2 ISO/IEC 12207- Definición de un Proceso
Proceso: definición y
Propósito (objetivos)
Outcome 1
Acción
1.1
Acción
1.2
Outcome 2
Acción
2.1
Acción
2.1
Acción
2.1
21. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 21MCMP - PLGR
2 ISO/IEC 12207- 6.1.2 Suministro
Ciclo de Vida del Sistema - Acuerdo – Suministro
Proporcionar un producto o servicio software al
cliente que satisface los requerimientos definidos
OUTCOMES
1. Se identifica al cliente y sus requerimientos
2. Se realiza una propuesta que se ajusta a los
requerimientos
3. Se acuerda un contrato
4. Se ejecuta el contrato
5. Se entrega el producto o servicio y se da soporte
y mantenimiento
6. Se finaliza el contrato
22. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 22MCMP - PLGR
2 ISO/IEC 12207- 6.2.1 Gestión del Modelo de Ciclo de Vida
Ciclo de Vida del Sistema - Organizacionales de
proyecto – Gestión del Modelo de Ciclo de Vida
Define, mantiene y asegura la disponibilidad de
políticas, procesos y modelos del ciclo de vida y
procedimientos para ser usados por la organización
en el desarrollo del producto o servicio software
1. Definición de procesos: políticas y procedimientos
para gestionar e implementar el SDLC y sus procesos
2. Evaluación de los procesos: está definida la
responsabilidad, se dispone de un registro de eventos
y se revisisa periódicamente
3. Actualización y mejora de los procesos, modelos y
procedimientos SDLC Cascada
23. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 23MCMP - PLGR
2 ISO/IEC 12207- 7.2.2 Gestión de la Configuración Software
Específicos del Software - Soporte Software
Gestión de la Configuración Software
Establece y mantiene la integridad de los objetos
software y los hace disponibles
1. Plan de gestión de la configuración software
2. Gestión de versiones del proyecto
3. Gestión de cambios con pistas de auditoría
4. Contabilidad de la configuración: registro de la
historia de los cambios del software
5. Evaluación configuración: software de acuerdo
con los requerimientos
6. Gestión de una «release» y su distribución
24. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 24MCMP - PLGR
2 ISO/IEC 12207- 6.3.1 Planificación del Proyecto
Ciclo de Vida del Sistema - Proyecto
Planificación del Proyecto scrum
Determina el alcance del proyecto, las tareas que lo
componen, su planificación y recursos necesarios
1. Está definido el alcance del proyecto
2. Se evalúa la viabilidad de alcanzar los objetivos
del proyecto con los recursos disponibles y las
limitaciones existentes
3. Las tareas y los recursos necesarios para
completar el trabajo se dimensionan y estiman
4. Se identifican los «interfaces» entre los
elementos del proyecto y con otros proyectos y
unidades organizativas
25. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 25MCMP - PLGR
2 ISO/IEC 12207- 6.3.2 Evaluación y Control del Proyecto
Ciclo de Vida del Sistema - Proyecto
Evaluación y Control del Proyecto
Determinar el estado del proyecto y asegurar que se
lleva a cabo de acuerdo con los planes y programas y
dentro de los presupuestos proyectados y satisface
los objetivos técnicos. Gestiona desviaciones del plan
1. Se monitorizan los avances del proyectos, sus
«interfaces» internos y con otros proyectos
2. Si no se alcanzan los objetivos del proyecto, se
identificación los problemas y se toman
acciones para corregir las deviaciones
3. Los objetivos del proyecto se alcanzan y se
registran. Se define el fin del proyecto.
26. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 26MCMP - PLGR
2 ISO/IEC 12207- 6.3.5 Gestión de la Configuración
Ciclo de Vida del Sistema - Proyecto
Gestión de la Configuración
Establecer y mantener la integridad de todos los
productos identificados de un proyecto o proceso y
ponerlos a disposición de las partes interesadas
1. Se dispone de una estrategia y de un plan de
gestión de configuración
2. Se han determinado los elementos que están
sujetos a la gestión de configuración
3. Se definen líneas de base de configuración
4. Se gestionan y registran los cambios en la
configuración
27. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 27MCMP - PLGR
2 ISO/IEC 12207- 6.3.7 Proceso de Medición
Ciclo de Vida del Sistema - Proyecto
Proceso de Medición
Recopilar, analizar y reportar datos relacionados
con los productos desarrollados y procesos
implementados para apoyar la gestión eficaz de los
procesos y la calidad de los productos
1. Se definen las métricas, cómo recoger y analizar
las medidas y se proporcionan los recursos
necesarios
2. Se ejecutan las tareas de recolección,
verificación, almacenamiento y documentación de
medidas
3. Se evalúan las medidas y se definen acciones
28. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 28MCMP - PLGR
2 ISO/IEC 12207- 6.4.1 Definición de Requisitos
Ciclo de Vida del Sistema - Técnicos
Definición de Requisitos de los «Stakeholders»
Definir los requisitos del sistema para proporcionar
los servicios requeridos por los usuarios y otros
interesados en el entorno definido
1. Identificar los actores activos en el SDLC
2. Identificar, evaluar y registrar requerimientos y
restricciones
3. Analizar escenarios legales, regulatorios,
sectoriales o físicos que puedan condicionar
partes del sistema
4. Interacción de los actores con el sistema (Ej.
Accesibilidad)
29. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 29MCMP - PLGR
2 ISO/IEC 12207- 6.4.2 Análisis de los Requisitos del Sistema
Ciclo de Vida del Sistema - Proyecto
Análisis de los Requisitos del Sistema
Transformar las necesidades de los actores en un
conjunto de requisitos técnicos del sistema que
guiarán el diseño del sistema
Especificación de requisitos: funciones y
capacidades del sistema; requisitos de negocio, de
organización y de los usuarios; de la seguridad; de
mantenimiento; de usabilidad; de accesibilidad, etc.
Evaluación de requisitos: coherencia con recursos;
que sean viables y factibles (arquitectura del
sistema, mantenimiento y el sistema)
30. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 30MCMP - PLGR
2 ISO/IEC 12207- 7.2.3 Aseguramiento de la Calidad Software
Específicos del Software - Soporte Software
Aseguramiento de la Calidad Software
Garantizar que los productos y procesos cumplen
con las disposiciones y requisitos predefinidos
1. Una estrategia para el aseguramiento de la
calidad
2. Se realizan y mantienen pruebas de
aseguramiento de calidad del software
3. Se identifican y registran problemas y/o no
conformidad con los requisitos
4. Se comprueba la alineación de los productos,
procesos y actividades con estándares
31. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 31MCMP - PLGR
Índice
1. Introducción
2. ISO/IEC 12207
3.ISO/IEC 15504
4. Auditoría SPICE
5. CMMI-DEV y SCAMPI
6. Auditoría SDLC
7. Bibliografía
32. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 32MCMP - PLGR
3 ISO/IEC 15504 - Contexto de evaluación de procesos
Proceso
Evaluación
de procesos
Mejora de
procesos
Determinación
de la capacidad
Lleva a
Lleva a
Lleva a
Identifica
cambios
Sujeto a Determina la
idoneidad
33. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 33MCMP - PLGR
3 ISO/IEC 15504 - Modelo de evaluación
PROCESO
OUTCOMES ATRIBUTOS DE
PROCESO (PA)
ACTIVIDAD PRÁCTICA DE
ATRIBUTO (AP)
34. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 34MCMP - PLGR
3 ISO/IEC 15504-7 – Madurez de las organizaciones
• Mejora continua para cumplir los
objetivos de negocio
L5 Optimizada
• Se gestionan cuantitativamente
los procesos
L4 Predecible
• Se utilizan procesos adaptados
basados en estándares
L3 Establecida
• Se gestionan los procesos y los
productos de trabajo se
establecen, controlan y mantienen
L2 Gestionada
• Se implementan y alcanzan los
objetivos de los procesos
L1 Básica
• No hay implementación de
procesos
L0 Inmadura
35. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 35MCMP - PLGR
3 ISO/IEC 15504-2 – Capacidad de los procesos
• PA5.1 Innovación del proceso
• PA5.2 Optimización continua
L5 Optimizado
• PA4.1 Medición del Proceso
• PA4.2 Control del Proceso
L4 Predecible
• PA3.1 Definición del Proceso
• PA3.2 Despliegue del Proceso
L3 Establecido
• PA2.1 Gestión de la realización
• PA2.2 Gestión del producto de
trabajo
L2 Gestionado
• PA1.1 Realización del procesoL1 Realizado
36. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 36MCMP - PLGR
3 ISO/IEC 15504-2 – Madurez 1
Si los tres procesos están implementados en la
organización y cada uno de ellos alcanza al menos el
nivel de capacidad 1, entonces la organización está en
un nivel de madurez 1 según la ISO/IEC 12207
Capítulo
Grupo
Proceso
Proceso ISO/IEC 12207
Nivel de
capacidad
1
PA1.1
6 1 2Suministro √
6 2 1Gestión del Modelo de Ciclo de Vida √
7 2 2
Gestión de la Configuración
Software √
37. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 37MCMP - PLGR
3 ISO/IEC 15504-2 – Madurez 2
Capítulo
Grupo
Proceso
Proceso ISO/IEC 12207
Nivel de
capacidad
1
PA1.1
Nivel de
capacidad
2
PA2.1 PA2.2
6 1 2Suministro √ √ √
6 2 1Gestión del Modelo de Ciclo de
Vida √ √ √
7 2 2Gestión de la Configuración
Software √ √ √
6 3 1Planificación del Proyecto √ √ √
6 3 2Evaluación y Control del Proyecto √ √ √
6 3 5Gestión de la Configuración √ √ √
6 3 7Proceso de Medición √ √ √
6 4 1Definición de Requisitos
Stakeholders √ √ √
6 4 2Análisis de los Requisitos del
Sistema √ √ √
7 2 3Aseguramiento de la Calidad
Software √ √ √
38. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 38MCMP - PLGR
3 ISO/IEC 15504-2 – Nivel de capacidad 1 de los procesos
Nivel de capacidad 1
Se cumple el Atributo de Proceso PA1.1 si
se alcanza la Práctica de Atributo AP1.1.1
PA1.1 Realización del proceso
AP1.1.1 Alcanzar los «outcomes» del proceso
El atributo de proceso PA1.1 se cumple si se alcanzan
los «outcomes» del proceso (AP1.1.1)
¿Dónde se especifican los «outcomes» de un
proceso? ISO/IEC 12207
39. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 39MCMP - PLGR
3 ISO/IEC 15504-2 – Nivel de madurez 1 de la organización
Nivel madurez 1: la organización alcanza los
«outcomes» (AP.1.1.1) de los procesos de nivel 1:
6.1.2 Suministro
ISO/IEC 12207 6.1.2
6.2.1 Gestión del Modelo de Ciclo de Vida
ISO/IEC 12207 6.2.1
7.2.2 Gestión de la Configuración Software
ISO/IEC 12207 7.2.2
40. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 40MCMP - PLGR
3 ISO/IEC 15504-2 – Nivel de capacidad 2 de los procesos
PA AP
1 1 Realización del proceso 1 Alcanzar las salidas del proceso
2 1 Gestión de la realización1 Definir los objetivos del proceso
2 1 Gestión de la realización2 Planificar y controlar el proceso
2 1 Gestión de la realización3 Adaptar la realización del proceso
2 1 Gestión de la realización4 Asignar las responsabilidades y
autoridad del proceso
2 1 Gestión de la realización5 Asignar los recursos y la
información para el proceso
2 1 Gestión de la realización6 Gestionar la comunicación entre
las partes involucradas
41. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 41MCMP - PLGR
3 ISO/IEC 15504-2 – Nivel de capacidad 2 de los procesos
PA AP
2 2 Gestión de los productos
de trabajo
1 Definir los requisitos para los
productos de trabajo
2 2 Gestión de los productos
de trabajo
2 Definir los requisitos para la
documentación y control
de los productos de trabajo
2 2 Gestión de los productos
de trabajo
3 Identificar, documentar y controlar
los productos de
trabajo
2 2 Gestión de los productos
de trabajo
4 Revisar y adaptar los productos
de trabajo para cumplir
los requisitos definidos
42. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 42MCMP - PLGR
Índice
1. Introducción
2. ISO/IEC 12207
3. ISO/IEC 15504
4.Auditoría SPICE
5. CMMI-DEV y SCAMPI
6. Auditoría SDLC
7. Bibliografía
43. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 43MCMP - PLGR
4 Auditoría SPICE – Evidencias
Buscar evidencia objetiva de cada Práctica de Atributo
(AP) para cada Atributo de Proceso (PA)
TIPOS DE
EVIDENCIAS
PRODUCTOS TÍPICOS
Evidencias directas
El propio producto que se
obtiene de un «outcome»
o un AP
Evidencias indirectas
Correos, actas de reunión,
planes, hitos, fechas, etc.
Afirmaciones
Entrevistas con distintos
actores
44. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 44MCMP - PLGR
4 Auditoría SPICE – Evidencias
6.3.1 Proceso de planificación del proyecto
RP.3 Las tareas y los recursos necesarios para
completar el trabajo se dimensionan y estiman
TIPOS DE
EVIDENCIAS
PRODUCTO
Evidencias
directas
Documento de estimación del
proyecto con detalle para cada tarea
y recurso
Evidencias
indirectas
Acta de una reunión sobre estimación
del proyecto
Afirmaciones
Entrevistas con un jefe de proyecto
que explique el método de estimación
45. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 45MCMP - PLGR
4 Auditoría SPICE – Evidencias
Para cada RD («outcome») del proceso (12207) y
para cada Práctica de Atributo (AP) (15504-2) para
todos los procesos del nivel de madurez que se
evalúe, se buscará:
EVIDENCIA OBJETIVA =
Documento del proceso AND
Evidencia directa AND
(Evidencia indirecta OR Afirmación)
46. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 46MCMP - PLGR
4 Auditoría SPICE – Proyectos
La organización selecciona al menos 4 proyectos (al
menos uno objetivo) sobre los que se realiza la
evaluación, por ejemplo, nivel de madurez 2.
PROYECTO DESCRIPCIÓN
PROYECTO
OBJETIVO
PROYECTO QUE APORTA
EVIDENCIA OBJETIVA PARA
TODOS LOS PROCESOS
PROYECTOS
NO
OBJETIVOS
PROYECTOS QUE APORTAN
EVIDENCIA OBJETIVA PARA
ALGUNOS PROCESOS
FUNCIÓN DE
APOYO
EVIDENCIA DE LOS PROCESOS
ORGANIZACIONALES (Calidad)
47. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 47MCMP - PLGR
4 Auditoría SPICE – Calificar PA
Calificar cada PA según:
Calificar PA Grado de alcance %
Fully Achieved F 86 100
Largely Achived L 51 85
Partially Achived P 16 50
No Achived N 0 15
48. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 48MCMP - PLGR
4 Auditoría SPICE – Calificación PA en cada nivel capacidad
Nivel de
capacidad
PA Calificación
Nivel 1 11
Realización del
proceso
L ó F
Nivel 2
11 Realización del proceso F
21 Gestión de la realización L ó F
22 Gestión de los productos
de trabajo
L ó F
49. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 49MCMP - PLGR
4 Auditoría SPICE – 6.3.1 Planificación del proyecto con SCRUM
6.3.1 Planificación del Proyecto 24 – Metodología SCRUM
«Outcomes» del proceso 6.3.1 ISO/IEC 12207
Constatar las prácticas SCRUM que generan cada
«outcome» Evidencias
Outcome 1 Se define el alcance del trabajo
Pract. SCRUM Pila de producto y conjunto de iteraciones
Outcome 2 Se evalúa la viabilidad de alcanzar los
objetivos del proyecto con los recursos y
restricciones
Pract. SCRUM Reunión de planificación iteración
(funcionalidades)
Reunión seguimiento iteración:
impedimentos encontrados o previstos
50. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 50MCMP - PLGR
4 Auditoría SPICE – 6.3.1 Planificación del proyecto con SCRUM
6.3.1 Planificación del Proyecto – Metodología SCRUM
Outcome 3 Se estima el tamaño y esfuerzo de los
recursos necesarios para acabar el trabajo
Pract. SCRUM Estimación de esfuerzo: Product y Spring
Backlog
Método de estimación: poker o fiobinacci
Outcome 4 Interfaces entre elementos del proyectos,
con otros proyectos o unidades
Pract. SCRUM No hay práctica concreta
Buscar otras evidencias
Outcome 5 Se ponen en marcha planes para ejecutar el
proyecto
Pract. SCRUM Reunión planificación iteración
51. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 51MCMP - PLGR
4 Auditoría SPICE – 6.3.1 Planificación del proyecto con SCRUM
6.3.1 Planificación del Proyecto – Metodología SCRUM
Outcome 6 Se desarrollan planes para la ejecución del
proyecto
Pract. SCRUM Plan de proyecto: alcance y pila de producto
Reunión planificación iteración: pila
funcionalidades, personas y estimación
Burn-up: plan de desarrollo del proyecto
Impedimentos: reuniones de seguimiento se
indica si se han encontrado impedimentos o
se prevé
52. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 52MCMP - PLGR
Índice
1. Introducción
2. ISO/IEC 12207
3. ISO/IEC 15504
4. Auditoría SPICE
5.CMMI-DEV y SCAMPI
6. Auditoría SDLC
7. Bibliografía
54. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 54MCMP - PLGR
Índice
1. Introducción
2. ISO/IEC 12207
3. ISO/IEC 15504
4. Auditoría SPICE
5. CMMI-DEV y SCAMPI
6.Auditoría SDLC
7. Bibliografía
55. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 55MCMP - PLGR
6 – Auditoría SDLC
SDLC: Ciclo de vida de desarrollo de sistemas o
proceso de desarrollo software.
«Un marco de referencia que contiene los procesos,
las actividades y las tareas involucradas en el
desarrollo, la explotación y el mantenimiento de un
producto de software, abarcando la vida del sistema
desde la definición de los requisitos hasta la
finalización de su uso» ISO/IEC 12207-1
Modelos SDLC: organización de las fases del proceso
Cascada, espiral, incremental, prototipos, etc.
QUÉ
56. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 56MCMP - PLGR
6 – Auditoría SDLC
Metodología desarrollo software: Conjunto de
procedimientos, técnicas, herramientas y un soporte
documental que ayuda a los desarrolladores a realizar
nuevo software
1970s
Programación estructurada
Programación estructurada Jackson y Warnier
1980s
Structured Systems Analysis and Design Methodology
(SSADM)
Structured Analysis and Design Technique (SADT)
Ingeniería de la información (IE/IEM)
CÓMO
57. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 57MCMP - PLGR
6 – Auditoría SDLC
1990s
Rapid application development (RAD)
Programación orientada a objetos (OOP)
Virtual finite state machine (VFSM)
Dynamic Systems Development Method
Scrum (desarrollo)
Rational Unified Process (RUP)
Nuevo milenio
Extreme Programming(XP) desde 1999
Enterprise Unified Process (EUP) extensiones RUP
Constructionist design methodology (CDM) Agile
Unified Process (AUP)
58. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 58MCMP - PLGR
6 – Auditoría SDLC
METODOLOGÍA vs CICLO DE VIDA
Una metodología puede seguir uno o varios modelos
de ciclo de vida, es decir, el ciclo de vida indica qué es
lo que hay que obtener a lo largo del desarrollo del
proyecto pero no cómo hacerlo.
La metodología indica cómo hay que obtener los
distintos productos parciales y finales,
59. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 59MCMP - PLGR
6 – Auditoría SDLC
SDLC: Ciclo de vida de desarrollo de sistemas o
proceso de desarrollo software.
Viabilidad
Requeri-
mientos
Diseño o
Selección
Desarrollo o
Configura-
ción
Implementa-
ción
Manteni-
miento
Retirada
Modelo en cascada
60. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 60MCMP - PLGR
6 – Auditoría SDLC
Modelo en espiral
(Boehm 1988) 6.2.1 Gestión SDLC
61. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 61MCMP - PLGR
6 – Auditoría SDLC
Viabilidad
Requerimientos
Diseño Selección
Desarrollo Configuración
Implementación
Mantenimiento Retirada
CompraA medida
62. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 62MCMP - PLGR
6 – Auditoría SDLC
1 Viabilidad – Evidencias
Objetivos del sistema Objetivos de negocio
Análisis de riesgos Análisis legal Nivel de
seguridad del nuevo sistema
Evaluación de alternativas
Disponibilidad de recursos (económicos y materiales) y
de personas.
Aprobación del proyecto por la dirección
63. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 63MCMP - PLGR
6 – Auditoría SDLC
2 Requerimientos – Evidencias
Requerimientos de negocio
Análisis detallado de requerimientos legales (LOPD,
LAPECSP, LTE, eFactura, etc)
Análisis detallado de requerimientos sectoriales (PCI-
DSS, Sarbanes–Oxley)
Selección de controles de seguridad
Análisis de coste- beneficio
Plan de gestión del riesgo
Análisis de impacto en los sistemas actuales
Diseño del sistema = Diagramas Entidad-Relación +
Diagramas / Mapa / Flujo de procesos
64. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 64MCMP - PLGR
6 – Auditoría SDLC
3 Diseño – Evidencias
Diseño detallado de cada proceso
Definición de controles funcionales a implementar en la
fase de desarrollo. Derivan de los requerimientos del
usuario.
4 Desarrollo – Evidencias
Metodología de desarrollo (Cómo)
Modelo SDLC (Qué)
Proceso de control de calidad y plan de pruebas
Definición de líneas base del sistema
Control de la configuración y control de versiones
Controles de seguridad y funcionales implementados
Proceso de aprobación
65. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 65MCMP - PLGR
6 – Auditoría SDLC
5 Implementación – Evidencias
Pruebas de integración y rendimiento
Control de versiones
Plan de importación de información
Evaluación y/o certificación
Formación usuarios
Puesta en producción (paralelo, fases o «hard
change»
Aprobación formal
66. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 66MCMP - PLGR
6 – Auditoría SDLC
6 Post Implementación – Evidencias
Gestión de incidencias y monitorización
Revisión periódica de requerimientos
Actualización del sistemas: nuevas versiones
Cambios en el entorno del sistema (Físicos, lógicos o
de personas)
Satisfacción del usuario con el sistema
Tareas de gestión de producción del sistema
7 Retirada – Evidencias
Archivo de programas e información
Retirada de software y hardware y revisión contratos
67. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 67MCMP - PLGR
7 Bibliografía
www.aenor.es
www.javiergarzas.com/calidad-software
administracionelectronica.gob.es
www.ines.org.es
http://cmmiinstitute.com
www.alarcosqualitycenter.com
68. AI07 AUDITORÍA PROCESO DESARROLLO SOFTWARE
AI07 68MCMP - PLGR
Dudas, preguntas y reflexiones
MUCHAS GRACIAS
?