Mejora de los Procesos de Desarrollo Software Visión Práctica

Mejora de los Procesos de Desarrollo Software Visión Práctica Máster Oficial en Ingeniería y Tecnología del Software Universidad de Sevilla Instituto
Author:  Santiago Rey Salas

0 downloads 97 Views 848KB Size

Recommend Stories


especialidad en mejora de procesos de negocio
especialidad en mejora de procesos de negocio Especialidad en Mejora de procesos de negocio Los procesos de negocio constituyen la columna vertebr

Mejora de Procesos. Autor: Norberto Figuerola
Mejora de Procesos Autor: Norberto Figuerola La mejora de procesos es esencial para los negocios en un clima de alta competencia, rivalidad del merca

Proceso de desarrollo de software
Departamento de Sistemas Informáticos y Computación. Universidad Politécnica de Valencia. Proceso de desarrollo de software Introducción Un sistema i

Story Transcript

Mejora de los Procesos de Desarrollo Software Visión Práctica Máster Oficial en Ingeniería y Tecnología del Software Universidad de Sevilla

Instituto Nacional de Tecnologías de la Comunicación

Índice  Presentación  Parte 1 Introducción – Calidad del Software  Parte 2 Mejora de los Procesos de Desarrollo Software  Parte 3 Proyecto de Mejora de Procesos de Desarrollo Software  Fuentes / Contacto

2

Índice  Parte 1: Introducción – Calidad del Software  Elementos que influyen en la calidad del software  Niveles de gestión de la calidad  Normas, modelos y metodologías  Diagnóstico de la calidad del software en España  Caso particular: La PYME en España  Situación actual

3

Introducción – Calidad del Software Elementos que influyen en la calidad del software

Procesos

Herramientas

Personas

Calidad del Software 4

Introducción – Calidad del Software Niveles de gestión de la calidad (1) A nivel de producto: Cuando nos centramos en el proceso de desarrollo de software y hacemos una serie de pruebas en paralelo con cada etapa, para detectar y corregir los posibles defectos que puedan surgir.

A nivel de proyecto: Cuando nos centramos en controlar todas las fases y áreas de gestión de proyecto, implantando metodologías y mejores prácticas que aseguren la correcta gestión de las mismas.

A nivel de proceso: Cuando nos centramos en gestionar todas las áreas de proceso de una organización, mediante la implantación de una metodología. Así se consigue tener mayor información de los procesos de modo que puedan controlarse y mejorarse, y produzcan así un aumento de la calidad de los productos y servicios relacionados con ellos.

La mejora de la calidad en un nivel repercute en el resto de niveles

5

Introducción – Calidad del Software Niveles de gestión de la calidad (2)

6

Introducción – Calidad del Software Normas, modelos y metodologías NORMAS, MODELOS Y METODOLOGÍAS

Orientadas a Proceso

CMMI

Orientadas a Producto

TPI/TMAP

ISO/IEC 9126

ISO/IEC 14598

ISO/IEC 25000

ISO 9000

ISO/IEC 15504

RUP

Métrica 3

Otros ITMark

SwTQM

Métodos ágiles 7

Introducción – Calidad del Software Diagnóstico de la calidad del software en España (1) La percepción de la empresa española es que los modelos más aplicables son CMMI, símbolo de la certificación de calidad aplicada al software por excelencia, y SPICE, adoptado por ISO como estándar ISO/IEC 15504.

 Un 37% de las empresas conocen CMMI frente a un 51% que lo hace de la ISO/IEC 15504.  CMMI es utilizado por un 38% de las empresas frente a un 8% que utiliza ISO/IEC 15504.  Un 69,2% de los entrevistados señalan CMMI como primera opción a la hora de elegir un modelo para su implantación frente a un 23% que muestran interés por la ISO/IEC 15504.

Fuente: “Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España” – INTECO (2008) 8

Introducción – Calidad del Software Diagnóstico de la calidad del software en España (2) De los resultados del estudio se deduce un gran desconocimiento de las propuestas metodológicas y herramientas existentes.

 Dos de cada tres encuestados de la demanda (64,8%), y uno de cada tres de la oferta (37,6%), no tienen conocimiento alguno sobre estándares, normas oficiales y metodologías orientadas a la calidad del software.  Desde el punto de vista de la oferta, los profesionales de la microempresas y de la PYME tienen un menor conocimiento de las metodologías, estándares y normas de calidad del software, frente a los profesionales de las grandes empresas.

Fuente: “Estudio metodologías y herramientas empleadas en los proyectos software en España y su repercusión sobre la calidad de los productos y servicios finales” - INTECO (2008) 9

Introducción – Calidad del Software Caso particular: La PYME (1) La PYME (especialmente las microempresas) tiene un peso específico muy importante en el sector de desarrollo de software en España.

 La estructura del sector software se compone en un 99,8% de PYME, de las que más del 85% son microempresas de menos de 10 empleados.  En España existen en la actualidad 32.023 empresas dedicadas a actividades informáticas. Un total de 31.905 (el 99,63% del total) son PYME.

Fuente: “Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España” – INTECO (2008)

10

Introducción – Calidad del Software Caso particular: La PYME (2) Existe desconocimiento de los modelos de mejora de procesos o producto existentes.

 Un 86% de los entrevistados desconoce los modelos de mejora (procesos/producto) aludiendo falta de información.  En caso de conocer los modelos, la sensación de “pionero” en este campo provoca rechazar la posibilidad de certificación (respuesta de un 65% de entrevistados).

Fuente: “Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España” – INTECO (2008)

11

Introducción – Calidad del Software Situación actual (1)

ESPAÑA: 155

MÉXICO: 68

BRASIL: 117

REINO UNIDO: 100

FRANCIA: 153

Fuente: Software Engineering Institute (SEI) 2009 12

Introducción – Calidad del Software Situación actual (2) 2004

2005

2006

2007

2008

2009

PLAN AVANZA

TOTAL

NIVEL 1

NIVEL 2

NIVEL 3

NIVEL 4

NIVEL 5

2004

10 o MENOS

-

-

-

-

-

2005

10 o MENOS

-

-

-

-

-

2006

25

NO

SI

SI

NO

SI

2007

55

NO

SI

SI

SI

SI

2008

85

1

53

25

1

3

2009

155

1

93

48

3

4

Fuente: Software Engineering Institute (SEI) 2009 13

Índice  Parte 2: Mejora de los Procesos de Desarrollo Software  Modelos de calidad: procesos y productos  Mejora de la calidad de los procesos  CMMI-DEV – SCAMPI  ISO/IEC 12.207 – ISO/IEC 15.504  CMMI-DEV vs ISO/IEC 15.504  Modelos orientados a PYME 

A nivel internacional



A nivel nacional



Caso de estudio: Proyecto COMPETISOFT 14

Mejora de los Procesos de Desarrollo Software Modelos de calidad: procesos y productos TSP/PSP MÉTRICA v3

CMMIDEV

ISO/IEC 9126 MSF

RUP

ISO/IEC 15.504

TickIT

6-SIGMA

Orientación a Procesos

TPI/TMAP

Orientación a Producto

ISO/IEC 14.598

SCRUM

SwTQM

ISO 9000

XP DSDM

ITMark

ISO/IEC 25.000

AUP

“Quality Principle: The quality of a product is determined by the quality of the process used to develop it”. (Humphrey, W. H. 2005) 15

Mejora de los Procesos de Desarrollo Software Mejora de la calidad de los procesos (1) ORGANIZACIÓN INMADURA

ORGANIZACIÓN MADURA

 Formada por héroes y apagafuegos

 Procesos definidos y gestionados

 Con altibajos en la productividad

 Mejora en la detección temprana de errores

 Fuerte rotación de recursos  Con planificaciones y estimaciones poco realistas

 Reducción de errores en los productos desarrollados (poco mantenimiento)  Planificaciones y estimaciones realistas

 Dedicación de mucho esfuerzo en mantenimiento

 Cumplimiento de plazos y presupuestos

 Incumplimiento de plazos y presupuestos

 Incremento de la productividad

 Baja calidad de los productos desarrollados

 Calidad de los productos desarrollados (satisfacción del cliente)

16

Mejora de los Procesos de Desarrollo Software Mejora de la calidad de los procesos (2)

Mejora de la Calidad de los Procesos Modelos (de Referencia) de Procesos

CMMI-DEV

ISO/IEC 12.207

Modelos de Evaluación de Procesos

SCAMPI

ISO/IEC 15.504

17

Mejora de los Procesos de Desarrollo Software CMMI-DEV - SCAMPI CMMI-DEV: Modelo de Procesos  Modelo propietario del SEI (Software Engineering Institute)  Evolución de CMM (finales de los 80). Actualmente: CMMI-DEV v1.2  Tres constelaciones del modelo: CMMIDEV, CMMI-ACQ y CMMI-SVC  Dos representaciones: 1. Escalonada (por etapas), cinco niveles de madurez organizacional, 2. Continua, capacidad de los procesos  No existe un proceso de certificación (no es una norma)

SCAMPI: Método de Evaluación  Lead Appraisers: profesionales reconocidos por el SEI que evalúan frente al Modelo de Procesos (CMMI-DEV)  ARC (Appraisal Requirements for CMMI): documento de principios de evaluación  SCAMPISM (Standard CMMI Appraisal Method for Process Improvement): documento de definición del método  Tipos de revisiones bajo SCAMPI: clase A, clase B y clase C.  Puntuación de implementación de prácticas: FI, LI, PI y NI.

18

Mejora de los Procesos de Desarrollo Software ISO/IEC 12.207 – ISO/IEC 15.504 ISO/IEC 12.207: Modelo Procesos

ISO/IEC 15.504: Modelo Evaluación

 Norma internacional. Última versión ISO/IEC 12.207: 2008: modelo de procesos para el ciclo de vida del SW.

 Norma internacional compuesta por 7 partes: normativas (1, 2 y 7) y no normativas (3, 4, 5 y 6).

 Dos grupos de procesos:  Contexto del Sistema (4 subgrupos): procesos de acuerdo, procesos organizacionales de proyecto, procesos de proyecto y procesos técnicos.  Específicos del Software (3 subgrupos): procesos de implementación del software, procesos de soporte del software y procesos de reutilización del software.

 Actualmente en desarrollo las partes 8, 9 y 10 y la evolución de la norma a la familia de normas 33.xxx.

 Alineada con ISO/IEC 15.288: 2008: procesos del ciclo de vida del Sistema.

 Tipos de evaluaciones:  Niveles de capacidad, a nivel de proceso (6 niveles): incompleto, realizado, gestionado, establecido, predecible y optimizado.  Niveles de madurez, a nivel de organización (6 niveles): inmadura, básica, gestionada, establecida, predecible y optimizando. 19

Mejora de los Procesos de Desarrollo Software CMMI-DEV vs ISO/IEC 15.504  Popularidad: CMMI-DEV es más popular (a nivel nacional) que ISO/IEC 15.504.  Adaptabilidad: Constelaciones CMMI (CMMI-DEV, CMMI-ACQ y CMMI-SVC, 16 áreas de proceso comunes) – Áreas de aplicación de ISO/IEC 15.504 (SPICE-AUTOMATIVE, medicina, banca, etc.)  Dinamismo: CMMI-DEV propiedad del SEI, adaptaciones rápidas. ISO/IEC 15.504, norma internacional, las modificaciones son aprobadas a nivel internacional (comités, subcomités y grupos de trabajo), evolución de la norma hacia la familia de normas 33.xxx – 2011.  Idioma: CMMI-DEV v1.2 en castellano. ISO/IEC 15.504, no existe versión en castellano (de forma oficial, como norma UNE). Propuesta del AEN/CTN71/SC7/GT7 a AENOR para la traducción de ISO/IEC 12.207:2008 (existen versiones en varios países iberoamericanos).  Propiedad: CMMI no está avalado por una organización internacional como ISO (no es un estándar internacional), es un estándar de facto de uso internacional.  Equivalencia: Las áreas de proceso de CMMI-DEV e ISO/IEC 15.504 no son 100% equivalentes, pero es posible llevar a cabo procesos de adaptación para alinear ambos modelos. 20

Mejora de los Procesos de Desarrollo Software Modelos orientados a PYME – A nivel internacional (1) PROSOFT (México)  Programa para el Desarrollo de la Industria del Software (Secretaría de Economía).  Modelo de Referencia de Procesos (MoProSoft) y Método de Evaluación de Procesos (EvalProSoft), basado en ISO/IEC 15.504-2.

PBQP-Software (Brasil)  Programa PBQP-Software – Proyecto MPS.BR (Melhoria do Processo de Software Brasileiro).  Modelo de Referencia de Procesos (MR-MPS), Modelo de Evaluación de Procesos (MA-MPS), alineado con ISO/IEC 15.504-2 y Modelo de Negocio (MN-MPS).

SIMEP-SW (Colombia)  Marco de trabajo Agile-SPI: Modelo de Referencia de Procesos (Light Quality Model), Modelo de Evaluación de Procesos (Light Evaluation Model) y Modelo de Medidas de Proceso (Light Metrics Model)

Características comunes Objetivo final: adaptabilidad a la PYME 21

Mejora de los Procesos de Desarrollo Software Modelos orientados a PYME – A nivel internacional (2)

IPSS (Improving Processes in Small Setting)  Consorcio Internacional de Investigación de Procesos (IPRC)  Mejora de Procesos en Small Settings: proyectos pequeños (< 20 personas), pequeñas organizaciones (< 50 personas) y pequeñas empresas (< 100 personas).

ISO/IEC 29110 (Lifecycle Profiles for Very Small Enterprises)  Grupo de trabajo ISO: SC7-WG24  Mejora de Procesos en Very Small Enterprises (< 25 personas)

Visión General – TR 29110-1 Perfiles ISP – ISP 29110-2, ISP 29110-4 Guías TR – TR 29110-3, TR 29110-5 22

Mejora de los Procesos de Desarrollo Software Modelos orientados a PYME – A nivel nacional ITMark (ESI)  Método que mejora de forma integrada los procesos de negocio, de desarrollo y de seguridad de la información de una organización.  Tres niveles de madurez: ITMark Básico, ITMark Premium e IT Mark Elite.

Guía de implementación de ISO/IEC 15.504 (AENOR)  Conforme con las partes normativas de la norma ISO/IEC 15.504 (partes 1, 2 y 7) y con la última versión del modelo de procesos ISO/IEC 12.207:2008.  Facilita la integración con otras normas ISO: ISO 9001, ISO/IEC 27001 e ISO/IEC 20000, está alineada con la futura norma ISO/IEC 29110 y cumple la norma ISO/IEC 17021.

23

Mejora de los Procesos de Desarrollo Software Caso de estudio: Proyecto COMPETISOFT (1) ISO/IEC 15.504-2

Normas/Modelos internacionales

Modelo Evaluación Procesos

MoProSoft

Modelo Mejora Procesos

Modelo Referencia Procesos

Agile SPI

COMPETISOFT

24

Mejora de los Procesos de Desarrollo Software Caso de estudio: Proyecto COMPETISOFT (2) Modelo Referencia Procesos

Alta Dirección

Gestión de Negocio

Gestión

Operación

Gestión de Procesos

Administración Proyecto

Gestión de C. Proyectos

Desarrollo Software

Gestión de Recursos

Mantenimiento Software

Gestión de RRHH Gestión de Bienes, Servicios e Infraestructura Gestión del Conocimiento 25

Índice  Parte 3: Proyecto de Mejora de los Procesos de Desarrollo Software  Necesidad de mejora – FAQ  Pasos hacia la mejora  Proyecto de mejora  Casos prácticos  Implantación de CMMI-DEV  Implantación en Proyecto COMPETISOFT

26

Proyecto Mejora Procesos de Desarrollo Software Necesidad de mejora - FAQ ¿Cómo puedo mejorar mi producto software? Evaluación / Certificación / Acreditación ¿Qué modelos existen en el mercado y cuál es el que más me conviene? Procesos / Producto ¿Qué pasos debo seguir? ¿qué debo invertir y qué mejoras puedo obtener implantando un modelo de calidad?

¿Quién me puede ayudar?

27

Proyecto Mejora Procesos de Desarrollo Software Pasos hacia la mejora

Evaluación (Certificación) Proyecto de mejora

Elección del modelo

28

Proyecto Mejora Procesos de Desarrollo Software Proyecto de mejora (1) Definición de objetivos

• Propósito • Factores de éxito • Restricciones y dependencias

Definición del alcance

• Alcance inicial • WBS (Work Breakdown Structure)

Fases y actividades Recursos Planes del proyecto

Procesos del proyecto

• Estimaciones • Cronograma • Hitos y entregables • Materiales • Personales • Plan de comunicación • Plan de riesgos • • • • •

Supervisión y control Gestión de cambios Aceptación del cliente Gestión de problemas Gestión documental 29

Proyecto Mejora Procesos de Desarrollo Software Proyecto de mejora (2)

Inicio del proyecto

Análisis de la situación

Definición del alcance

Plan de mejora

Implementación del plan de mejora

Registro de lecciones aprendidas

30

Proyecto Mejora Procesos de Desarrollo Software Proyecto de mejora (3)

Plan de mejora

Implementación del plan de mejora

Ciclo de mejora

Diagnóstico Procesos

Registro de lecciones aprendidas

Planificar Mejora

Iteraciones de mejora

Lecciones aprendidas

Implementar Mejora

?

?

31

Proyecto Mejora Procesos de Desarrollo Software Casos prácticos: Implantación de CMMI-DEV Beneficios Mejora en los procesos Planes de Mejora Evaluación (Certificación) Proyecto de mejora

Mejora estimación de proyectos Transparencia seguimiento/control proyectos

Elección del modelo

Definición de objetivos

• Crecimiento Mejoras control/seguimiento proyectos

Definición del alcance

• Áreas de proceso del Nivel 2 CMMI

Fases y actividades Recursos

• Planificación proyecto. Duración: 10 meses • Incremento RRHH. Metodología RUP

Planes del proyecto

• Riesgos del proyecto

Procesos del proyecto

• Gestión de cambios • Gestión de problemas 32

Proyecto Mejora Procesos de Desarrollo Software Casos prácticos: Implantación en Proyecto COMPETISOFT Ciclo de mejora

Diagnóstico Procesos

Planificar Mejora

3 Iteraciones de mejora

Lecciones aprendidas

Diagnóstico Procesos

Implementar Mejora

?

?

Planificación Valoración

Ejecución Valoración

Generación Resultados

Priorización Procesos

33

Fuentes / Contacto  CMMI-DEV  Página del SEI: http://www.sei.cmu.edu/

 ISO/IEC 15.504  Página en castellano: http://www.iso15504.es/

 Proyecto COMPETISOFT  Libro “COMPETISOFT: Mejora de Procesos Software para Pequeñas y Medianas Empresas y Proyectos”, RA-MA Editorial

 Calidad del Software  Guías Calidad del Software: https://www.inteco.es/Calidad_del_Software/descargas/guias/

Contacto: [email protected]

34

www.inteco.es

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.