Mejora Procesos Sw Universidad Sevilla

35
Instituto Nacional de Tecnologías de la Comunicación 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

description

Make it easier for other people to find your content by providing more information about it.AGREGAR MÁS ARCHIVOSArrastre los archivos de su equipo hasta esta área.

Transcript of Mejora Procesos Sw Universidad Sevilla

  • Instituto Nacionalde Tecnologas de la Comunicacin

    Mejora de los Procesos de Desarrollo Software

    Visin Prctica

    Mster Oficial en Ingeniera y Tecnologa del SoftwareUniversidad de Sevilla

  • 2ndice Presentacin

    Parte 1

    Introduccin Calidad del Software

    Parte 2

    Mejora de los Procesos de Desarrollo Software

    Parte 3

    Proyecto de Mejora de Procesos de Desarrollo Software

    Fuentes / Contacto

  • 3ndice Parte 1: Introduccin Calidad del Software

    Elementos que influyen en la calidad del software

    Niveles de gestin de la calidad

    Normas, modelos y metodologas

    Diagnstico de la calidad del software en Espaa

    Caso particular: La PYME en Espaa

    Situacin actual

  • 4Introduccin Calidad del SoftwareElementos que influyen en la calidad del software

    Calidad del Software

    Personas

    Herramientas Procesos

  • 5Introduccin Calidad del SoftwareNiveles de gestin de la calidad (1)

    A nivel de producto:Cuando nos centramos en el proceso de desarrollo de software y hacemos una serie de pruebas enparalelo 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 gestin de proyecto, implantandometodologas y mejores prcticas que aseguren la correcta gestin de las mismas.

    A nivel de proceso:Cuando nos centramos en gestionar todas las reas de proceso de una organizacin, mediante laimplantacin de una metodologa. As se consigue tener mayor informacin de los procesos demodo que puedan controlarse y mejorarse, y produzcan as un aumento de la calidad de losproductos y servicios relacionados con ellos.

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

  • 6Introduccin Calidad del SoftwareNiveles de gestin de la calidad (2)

  • 7Introduccin Calidad del SoftwareNormas, modelos y metodologas

    NORMAS, MODELOS Y METODOLOGAS

    Orientadas a Proceso

    Orientadas a Producto

    ISO 9000CMMI

    ISO/IEC 15504

    ITMark SwTQM

    ISO/IEC 9126TPI/TMAP

    RUP Mtrica 3

    Mtodos gilesOtros

    ISO/IEC 25000ISO/IEC 14598

  • 8Introduccin Calidad del SoftwareDiagnstico de la calidad del software en Espaa (1)

    La percepcin de la empresa espaola es que los modelos ms aplicables son CMMI, smbolo dela certificacin de calidad aplicada al software por excelencia, y SPICE, adoptado por ISO comoestndar 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 sealan CMMI como primera opcin a la hora de elegir unmodelo para su implantacin frente a un 23% que muestran inters por la ISO/IEC 15504.

    Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software en Espaa INTECO (2008)

  • 9Introduccin Calidad del SoftwareDiagnstico de la calidad del software en Espaa (2)

    De los resultados del estudio se deduce un gran desconocimiento de las propuestas metodolgicas 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 estndares, normas oficiales y metodologasorientadas a la calidad del software.

    Desde el punto de vista de la oferta, los profesionales de la microempresas y de la PYMEtienen un menor conocimiento de las metodologas, estndares y normas de calidad delsoftware, frente a los profesionales de las grandes empresas.

    Fuente: Estudio metodologas y herramientas empleadas en los proyectos software en Espaa y su repercusin sobre la calidad de los productos y servicios finales - INTECO (2008)

  • 10

    Introduccin Calidad del SoftwareCaso particular: La PYME (1)

    La PYME (especialmente las microempresas) tiene un peso especfico muy importante en elsector de desarrollo de software en Espaa.

    La estructura del sector software se compone en un 99,8% de PYME, de las que ms del 85%son microempresas de menos de 10 empleados.

    En Espaa existen en la actualidad 32.023 empresas dedicadas a actividades informticas.Un total de 31.905 (el 99,63% del total) son PYME.

    Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software en Espaa INTECO (2008)

  • 11

    Introduccin Calidad del SoftwareCaso 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 informacin.

    En caso de conocer los modelos, la sensacin de pionero en este campo provoca rechazar laposibilidad de certificacin (respuesta de un 65% de entrevistados).

    Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software en Espaa INTECO (2008)

  • 12

    Introduccin Calidad del SoftwareSituacin actual (1)

    MXICO: 68

    BRASIL: 117

    ESPAA: 155

    REINO UNIDO: 100

    FRANCIA: 153

    Fuente: Software Engineering Institute (SEI) 2009

  • 13

    Introduccin Calidad del SoftwareSituacin actual (2)

    2004 2005 2006 2007 2008

    PLAN AVANZA

    2009

    TOTAL NIVEL 1 NIVEL 2 NIVEL 3 NIVEL 4 NIVEL 5

    2004

    2005

    10 o MENOS

    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

  • 14

    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

  • 15

    Mejora de los Procesos de Desarrollo SoftwareModelos de calidad: procesos y productos

    Orientacin a Procesos

    CMMI-DEV

    ISO/IEC 15.504

    ISO 9000

    ITMark

    SwTQM

    TickIT

    Orientacin a Producto

    ISO/IEC 9126

    ISO/IEC 14.598

    ISO/IEC 25.000

    TPI/TMAP

    MTRICA v3

    RUP

    6-SIGMA

    MSF

    XP

    SCRUM

    DSDM

    AUP

    TSP/PSP

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

  • 16

    Mejora de los Procesos de Desarrollo SoftwareMejora de la calidad de los procesos (1)

    Formada por hroes y apagafuegos

    Con altibajos en la productividad

    Fuerte rotacin de recursos

    Con planificaciones y estimaciones poco realistas

    Dedicacin de mucho esfuerzo en mantenimiento

    Incumplimiento de plazos y presupuestos

    Baja calidad de los productos desarrollados

    ORGANIZACIN INMADURA

    Procesos definidos y gestionados

    Mejora en la deteccin temprana de errores

    Reduccin de errores en los productos desarrollados (poco mantenimiento)

    Planificaciones y estimaciones realistas

    Cumplimiento de plazos y presupuestos

    Incremento de la productividad

    Calidad de los productos desarrollados (satisfaccin del cliente)

    ORGANIZACIN MADURA

  • 17

    Mejora de los Procesos de Desarrollo SoftwareMejora 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 Evaluacin de

    Procesos

    SCAMPI ISO/IEC 15.504

  • 18

    Mejora de los Procesos de Desarrollo SoftwareCMMI-DEV - SCAMPI

    CMMI-DEV: Modelo de Procesos

    Modelo propietario del SEI (Software Engineering Institute)

    Evolucin de CMM (finales de los 80). Actualmente: CMMI-DEV v1.2

    Tres constelaciones del modelo: CMMI-DEV, 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 certificacin (no es una norma)

    SCAMPI: Mtodo de Evaluacin

    Lead Appraisers: profesionales reconocidos por el SEI que evalan frente al Modelo de Procesos (CMMI-DEV)

    ARC (Appraisal Requirements for CMMI): documento de principios de evaluacin

    SCAMPISM (Standard CMMI Appraisal Method for Process Improvement): documento de definicin del mtodo

    Tipos de revisiones bajo SCAMPI: clase A, clase B y clase C.

    Puntuacin de implementacin de prcticas: FI, LI, PI y NI.

  • 19

    Mejora de los Procesos de Desarrollo SoftwareISO/IEC 12.207 ISO/IEC 15.504

    Norma internacional. ltima versin ISO/IEC 12.207: 2008: modelo de procesos para el ciclo de vida del SW.

    Dos grupos de procesos: Contexto del Sistema (4 subgrupos):

    procesos de acuerdo, procesos organizacionales de proyecto, procesos de proyecto y procesos tcnicos.

    Especficos del Software (3 subgrupos): procesos de implementacin del software, procesos de soporte del software y procesos de reutilizacin del software.

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

    ISO/IEC 12.207: Modelo Procesos

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

    Actualmente en desarrollo las partes 8, 9 y 10 y la evolucin de la norma a la familia de normas 33.xxx.

    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 organizacin (6 niveles): inmadura, bsica, gestionada, establecida, predecible y optimizando.

    ISO/IEC 15.504: Modelo Evaluacin

  • 20

    Mejora de los Procesos de Desarrollo SoftwareCMMI-DEV vs ISO/IEC 15.504

    Popularidad: CMMI-DEV es ms 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 aplicacin de ISO/IEC 15.504 (SPICE-AUTOMATIVE, medicina, banca, etc.)

    Dinamismo: CMMI-DEV propiedad del SEI, adaptaciones rpidas. ISO/IEC 15.504, norma internacional, las modificaciones son aprobadas a nivel internacional (comits, subcomits y grupos de trabajo), evolucin de la norma hacia la familia de normas 33.xxx 2011.

    Idioma: CMMI-DEV v1.2 en castellano. ISO/IEC 15.504, no existe versin en castellano (de forma oficial, como norma UNE). Propuesta del AEN/CTN71/SC7/GT7 a AENOR para la traduccin de ISO/IEC 12.207:2008 (existen versiones en varios pases iberoamericanos).

    Propiedad: CMMI no est avalado por una organizacin internacional como ISO (no es un estndar internacional), es un estndar 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 adaptacin para alinear ambos modelos.

  • 21

    Mejora de los Procesos de Desarrollo SoftwareModelos orientados a PYME A nivel internacional (1)

    PROSOFT (Mxico) Programa para el Desarrollo de la Industria del Software (Secretara de Economa).Modelo de Referencia de Procesos (MoProSoft) y Mtodo de Evaluacin 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 Evaluacin 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 Evaluacin de Procesos (Light Evaluation Model) y Modelo de Medidas de Proceso (Light Metrics Model)

    Objetivo final: adaptabilidad a la PYME

    Caractersticas comunes

  • 22

    Mejora de los Procesos de Desarrollo SoftwareModelos orientados a PYME A nivel internacional (2)

    IPSS (Improving Processes in Small Setting)Consorcio Internacional de Investigacin de Procesos (IPRC)Mejora de Procesos en Small Settings: proyectos pequeos (< 20 personas), pequeas

    organizaciones (< 50 personas) y pequeas empresas (< 100 personas).

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

    Visin General TR 29110-1

    Perfiles ISP ISP 29110-2, ISP 29110-4

    Guas TR TR 29110-3, TR 29110-5

  • 23

    Mejora de los Procesos de Desarrollo SoftwareModelos orientados a PYME A nivel nacional

    ITMark (ESI)

    Mtodo que mejora de forma integrada los procesos de negocio, de desarrollo y de seguridad de la informacin de una organizacin.

    Tres niveles de madurez: ITMark Bsico, ITMark Premium e IT Mark Elite.

    Gua de implementacin 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 versin del modelo de procesos ISO/IEC 12.207:2008.

    Facilita la integracin 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.

  • 24

    Mejora de los Procesos de Desarrollo SoftwareCaso de estudio: Proyecto COMPETISOFT (1)

    COMPETISOFT

    Modelo Referencia Procesos

    Modelo Evaluacin Procesos

    Modelo Mejora

    ProcesosMoProSoft

    Normas/Modelos internacionales

    ISO/IEC 15.504-2

    Agile SPI

  • 25

    Mejora de los Procesos de Desarrollo SoftwareCaso de estudio: Proyecto COMPETISOFT (2)

    Modelo Referencia Procesos

    Alta Direccin Gestin Operacin

    Gestin de Negocio Gestin de Procesos

    Gestin de C. Proyectos

    Gestin de Recursos

    Gestin de RRHH

    Gestin de Bienes, Servicios e Infraestructura

    Gestin del Conocimiento

    Administracin Proyecto

    Desarrollo Software

    Mantenimiento Software

  • 26

    ndice Parte 3: Proyecto de Mejora de los Procesos de Desarrollo Software

    Necesidad de mejora FAQ

    Pasos hacia la mejora

    Proyecto de mejora

    Casos prcticos

    Implantacin de CMMI-DEV

    Implantacin en Proyecto COMPETISOFT

  • 27

    Proyecto Mejora Procesos de Desarrollo SoftwareNecesidad de mejora - FAQ

    Cmo puedo mejorar mi producto software?

    Qu modelos existen en el mercado y cul es el que ms me conviene?

    Qu pasos debo seguir? qu debo invertir y qu mejoras puedo obtener implantando un modelo de calidad?

    Quin me puede ayudar?

    Evaluacin / Certificacin / Acreditacin

    Procesos / Producto

  • 28

    Proyecto Mejora Procesos de Desarrollo SoftwarePasos hacia la mejora

    Eleccin del modelo

    Proyecto de mejora

    Evaluacin (Certificacin)

  • 29

    Proyecto Mejora Procesos de Desarrollo SoftwareProyecto de mejora (1)

    Propsito Factores de xito Restricciones y dependencias

    Definicin de objetivos

    Alcance inicial WBS (Work Breakdown Structure)Definicin del alcance

    Estimaciones Cronograma Hitos y entregables

    Fases y actividades

    Materiales PersonalesRecursos

    Plan de comunicacin Plan de riesgosPlanes del proyecto

    Supervisin y control Gestin de cambios Aceptacin del cliente Gestin de problemas Gestin documental

    Procesos del proyecto

  • 30

    Proyecto Mejora Procesos de Desarrollo SoftwareProyecto de mejora (2)

    Inicio del proyecto

    Anlisis de la situacin

    Definicin del alcance

    Plan de mejora

    Implementacin del plan de

    mejora

    Registro de lecciones

    aprendidas

  • 31

    Proyecto Mejora Procesos de Desarrollo SoftwareProyecto de mejora (3)

    Plan de mejora

    Implementacin del plan de mejora

    Registro de lecciones

    aprendidas

    Iteraciones de mejora

    Ciclo de mejora

    Diagnstico Procesos

    Planificar Mejora

    Implementar Mejora

    ?

    ?Lecciones aprendidas

  • 32

    Proyecto Mejora Procesos de Desarrollo SoftwareCasos prcticos: Implantacin de CMMI-DEV

    Eleccin del

    modelo

    Proyecto de mejora

    Evaluacin (Certificacin)

    Crecimiento Mejoras control/seguimiento proyectosDefinicin de objetivos

    reas de proceso del Nivel 2 CMMIDefinicin del alcance

    Planificacin proyecto. Duracin: 10 mesesFases y actividades

    Incremento RRHH. Metodologa RUPRecursos

    Riesgos del proyectoPlanes del proyecto

    Gestin de cambios Gestin de problemasProcesos del proyecto

    Beneficios

    Mejora en los procesos

    Mejora estimacin de proyectos

    Transparencia seguimiento/control proyectos

    Planes de Mejora

  • 33

    Proyecto Mejora Procesos de Desarrollo SoftwareCasos prcticos: Implantacin en Proyecto COMPETISOFT

    3 Iteraciones de mejora

    Ciclo de mejora

    Diagnstico Procesos

    Planificar Mejora

    Implementar Mejora

    ?

    ?Lecciones aprendidas

    Diagnstico Procesos

    Ejecucin Valoracin

    Generacin Resultados

    Priorizacin Procesos

    Planificacin Valoracin

  • 34

    Fuentes / Contacto CMMI-DEV

    Pgina del SEI: http://www.sei.cmu.edu/

    ISO/IEC 15.504

    Pgina en castellano: http://www.iso15504.es/

    Proyecto COMPETISOFT

    Libro COMPETISOFT: Mejora de Procesos Software para Pequeas y Medianas Empresas y Proyectos, RA-MA Editorial

    Calidad del Software

    Guas Calidad del Software: https://www.inteco.es/Calidad_del_Software/descargas/guias/

    Contacto: [email protected]

  • www.inteco.es

    Mejora de los Procesos de Desarrollo SoftwareVisin PrcticandicendiceIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwareIntroduccin Calidad del SoftwarendiceMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwareMejora de los Procesos de Desarrollo SoftwarendiceProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareProyecto Mejora Procesos de Desarrollo SoftwareFuentes / ContactoNmero de diapositiva 35