Nuevos Paradigmas del Desarrollo: Metodologías Ágiles, Team Foundation Server y CMMI. Pablo...

Post on 03-Jan-2015

21 views 0 download

Transcript of Nuevos Paradigmas del Desarrollo: Metodologías Ágiles, Team Foundation Server y CMMI. Pablo...

Nuevos Paradigmas del Desarrollo: Metodologías Ágiles, Team Foundation Server y CMMI.

Pablo HerraizConsultor Calidad y Procesoswww.caelum.eswww.calidaddelsofware.com

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS 2010− MSF- Agile− MSF- CMMI− Plan Avanza

Visión tradicional: Metodologías pesadas− Métrica 3− Ciclo de Vida: Cascada− Rigurosas y Poco Flexibles− Orientadas a Proyectos Grandes y Complejos− Mucha Documentación

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS2010− MSF- Agile− MSF- CMMI− Plan Avanza

Nuevos Paradigmas: Metodologías Ligeras− Manifiesto Agil− XP, SCRUM− Ciclo de Vida: Iterativo Incremental− Adaptación al Cambio− Poca Documentación

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS2010: MSF y TFS− MSF- Agile− MSF- CMMI− Plan Avanza

Procesos

Los procesos son necesarios para mejorar

Mejora Continua

¿Qué es CMMI?

CMMI es un modelo de referencia para evaluar de la madurez de los procesos de desarrollo de software de una organización

ARTE

INDUSTRIA

Proporciona guía en el camino de la mejora

Es un modelo de buenas prácticas no prescriptivo.

Basado en el CMM, introducido por el SEI y patrocinado por el Departamento de Defensa (DoD).

Se utiliza para:

Asesorar los procesos internamente

Evaluar la madurez de proveedores

Detectar problemas

Iniciar Mejora

Comparar con la industria

Beneficios en el día a día

−Cada uno sabe lo que tiene que hacer−Mayor organización y control del caos−Mayor fiabilidad para asumir

compromisos−Visibilidad para la toma de decisiones−Estandarización y posible mejora a

través de procesos−Participación de los equipos en la mejora−Mejora de ambiente y menor rotación−Mayor capacidad para afrontar la

rotación

Beneficios en el día a día

−Mejor comunicación con los proveedores

−Mayor satisfacción de los usuarios con los productos

−Industrialización de la producción−Satisfacción de los objetivos de negocio−Competitividad−Retorno de inversión−Etc.

BeneficiosReducción de costes por defectosSource: CMI/SEI-96-HB-002

Req’ts. Design Code FunctionalTest

SystemTest

FieldUse

Where Defectsare Introduced

10% 40% 50%

Relative Costto Fix

$1 $1 $1 $6 $12 $100

RelativeCostfor100

Fixes

Level1

0% 0% 2% 15% 50% 33% $4,000

WhereDefects

Level2

0% 0% 3% 30% 50% 17% $2,500

AreDetected

Level3

0% 2% 20% 38% 32% 8% $1,400

Level4

3% 12% 30% 30% 20% 5% $1,000

Level5

5% 20% 40% 20% 10% <5% $800

Representaciones

Madurez de los procesos de la organización

Perfiles más flexibles en la determinación de objetivosRepresentació

n Escalonada

5 Optimizado

4 Gest. Cuantitativamente

3 Definido

2 Gestionado

1 Realizado

0 Incompleto

Bondad de la implementación de la área de proceso

Niveles de Capacidad

Representación Continua

Áreas de procesos de Ingeniería

VER

RD PI

VAL

CLIENTETS

REQMRequisitos

Necesidades del cliente

Requisitos de producto & Componente de producto

Componentes

Producto

Soluciones

Alternativas

Requisitos

Producto

REQMREQM

RD

Componentes de producto, productos del trabajo, Informes de verificación y validación

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS 2010− MSF- Agile− MSF- CMMI− Plan Avanza

Herramienta sí, herramienta no

Plan

SeguimientoDatos

Estimación

Pruebas

Versiones

Requisitos

Solución técnica

CronogramaEsfuerzos

Incidencias, Riesgos, RHH

Gestión de cambios

Captura de requisitos

CálculoTécnica

GestiónConfiguración

Criterios

PruebasAutomáticas

Planes

Criterios de fin

DiseñoProgramación

Solución

Visual Studio 2010Visual Studio 2010

− VS diseñado para gestionar procesos de ciclo de VS diseñado para gestionar procesos de ciclo de vida del softwarevida del software

− Alto nivel de flexibilidadAlto nivel de flexibilidad− Los pasos del proceso están controlados por la Los pasos del proceso están controlados por la

herramientaherramienta− Las “Plantillas de Metodologías” definen los Las “Plantillas de Metodologías” definen los

procesos soportados en VSprocesos soportados en VS− Se pueden definir nuevas plantillas, modificarlas Se pueden definir nuevas plantillas, modificarlas

o adquirir plantillas de terceroso adquirir plantillas de terceros

Gestión de tareasGestión de tareas

− Todos los proyectos están compuestos de Todos los proyectos están compuestos de tareas.tareas.

− Es necesario un mecanismo de control Es necesario un mecanismo de control integrado.integrado.

− Cada persona del proyecto usa herramientas Cada persona del proyecto usa herramientas distintas, Ej.: Microsoft Project, Excel, Visual distintas, Ej.: Microsoft Project, Excel, Visual Studio.Studio.

− Es necesario tener las tareas integradas en la Es necesario tener las tareas integradas en la herramienta.herramienta.

Los Work ItemsLos Work Items

− Los Work Items son “unidades de trabajo”.Los Work Items son “unidades de trabajo”.− Representan tareas, bugs, escenarios, riesgos, Representan tareas, bugs, escenarios, riesgos,

requisitos, … requisitos, … − Los tipos y sus campos dependen de la plantilla Los tipos y sus campos dependen de la plantilla

de proyecto.de proyecto.− Se pueden crear/actualizar desde Visual Studio, Se pueden crear/actualizar desde Visual Studio,

Excel, Project, portal web, herramientas de Excel, Project, portal web, herramientas de terceros …terceros …

− Nos permiten llevar el control de las tareas.Nos permiten llevar el control de las tareas.

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS2010− MSF- Agile− MSF- CMMI− Plan Avanza

MSF Agile es…MSF Agile es…

− Un Proceso Agil de Desarrollo de Software− Un proceso disciplinado de desarrollo de

software− Una Marco de Trabajo para implementar

procesos propios de desarrollo de software (Extensibilidad)

Principios de MSF-AgilePrincipios de MSF-Agile

− Potenciar todos los miembros de un equipo− Potencias las Comunicaciones entre el equipo y

con el cliente− Establecer una Visión compartida de los valores

de negocio del proyecto− Asegurar una contabilización clara de las

responsabilidades compartidas− Mantenerse ‘Agiles’, esperar cambios− Aprender de las experiencias

RolesRoles

Agenda

− Visión tradicional: Metodologías pesadas− Nuevos paradigmas: Metodologías ligeras− CMMI− VS2010− MSF- Agile− MSF- CMMI− Plan Avanza

MSF CMMIMSF CMMI

− Primer proceso ágil de CMMIPrimer proceso ágil de CMMI− Ayuda a las organizaciones a operar con CMMI Ayuda a las organizaciones a operar con CMMI

hasta el nivel 3, según el estándar del SEI.hasta el nivel 3, según el estándar del SEI.− Elaborado a partir MSF Agile:Elaborado a partir MSF Agile:

− Más work itemsMás work items− Informes más extensivosInformes más extensivos

MSF Agile y MSF CMMIMSF Agile y MSF CMMI

MSF for CMMI

AprobacionesPeticiones de cambio

Revisiones formales

Actividades de mejora del proceso

Análisis de requisitos

MSF for Agile

IterativoArquitectura

Testing funcional

Test Driven Development

− Pretende cubrir 20 áreas de procesoPretende cubrir 20 áreas de proceso− Sólo un 150% más grande queSólo un 150% más grande que

MSF for Agile DevelopmentMSF for Agile Development− Aproximadamente 200 actividadesAproximadamente 200 actividades− Sólo 50 documentos (work products)Sólo 50 documentos (work products)− Se apoya en alrededor de 50 consultas Se apoya en alrededor de 50 consultas

automatizadas e informesautomatizadas e informes− Valido para Metodologías Ligeras: SCRUMValido para Metodologías Ligeras: SCRUM− Aplicable a Metodologías Pesadas: Métrica 3Aplicable a Metodologías Pesadas: Métrica 3

MSF for CMMIMSF for CMMI

MSF for CMMiMSF for CMMi

Las columnas I y J muestran las evidencias SCAMPI usadas para valorar la capacidad y madurez en una meta especifica

Ejemplo áreas de proceso MSF-Ejemplo áreas de proceso MSF-CMMICMMI

Agenda

− Visión Tradicional: Metodologías Pesadas− Nuevos Paradigmas: Metodologías Ligeras− CMMI− VS2010− MSF- Agile− MSF- CMMI− Plan Avanza

Plan Avanza

− Caelum:− Kit de Procesos− Implantación +- 12 meses− Formación CMMI oficial y no oficial− Lead Appraiser propio

− Grupo Empresas Plan Avanza:− Financiación del proyecto− Abaratamiento de costes− Colaboración

Plan Avanza

− Grupo Empresas Plan Avanza Microsoft:− Colaboración con Microsoft− Visual Studio y MSF-CMMI− Fácil Adaptación− Menos Tiempo− Menos Coste− Formación

− Mas Información− www.calidaddelsoftware.com− www.caelum.es

¿Preguntas?

Muchas gracias

Pablo HerraizConsultor Calidad y ProcesosE-mail: pherraiz@caelum.esUrl: www.caelum.esUrl:www.calidaddelsofware.com