MetodologÍas Y Procesos De Desarrollo

40
Metodologías en procesos de Metodologías en procesos de desarrollo desarrollo Aurelio Porras Aurelio Porras

description

Metodologías Y Procesos De Desarrollo

Transcript of MetodologÍas Y Procesos De Desarrollo

Page 1: MetodologÍas Y Procesos De Desarrollo

Metodologías en procesos de desarrolloMetodologías en procesos de desarrollo

Aurelio PorrasAurelio Porras

Page 2: MetodologÍas Y Procesos De Desarrollo

AgendaAgenda

Introducción: Metodologías y Introducción: Metodologías y ProcesosProcesos

Metodologías Ágiles y SCRUMMetodologías Ágiles y SCRUM

Café Café

Metodologías Formales y CMMIMetodologías Formales y CMMI

Team Foundation ServerTeam Foundation Server

Plantillas de ProcesosPlantillas de Procesos

Page 3: MetodologÍas Y Procesos De Desarrollo

METODOLOGÍAS Y METODOLOGÍAS Y PROCESOSPROCESOS

Page 4: MetodologÍas Y Procesos De Desarrollo

El éxito es raroEl éxito es raro

2000 28%23% 49%

ExistososProblemáticosFallidos

Fuente: The Standish Group International, “Extreme Chaos”, 2004

Se pasan en coste: 45%Se pasan en tiempo: 63%No llegan a la funcionalidad: 67%

2004 34%15% 51%

Page 5: MetodologÍas Y Procesos De Desarrollo

El Problema con el El Problema con el ProcesoProceso PredeciblePredecible

RepetibleRepetibleProductivoProductivo

• ComplejoComplejo• DesconectadoDesconectado• DifícilDifícil

Page 6: MetodologÍas Y Procesos De Desarrollo

Gestión de Proyectos del Siglo Gestión de Proyectos del Siglo XXXX

Funcionalidad

Tiempo

Recursos

Calidad

““El triángulo de El triángulo de Hierro”Hierro”

(Tetraedro más bien?)(Tetraedro más bien?)

Imagen copyright de Tetra Pak

Page 7: MetodologÍas Y Procesos De Desarrollo

““Mantra” del Siglo XXIMantra” del Siglo XXI

Hacer más con Hacer más con menos!menos!Pero si tus únicas variables son:Pero si tus únicas variables son:

FuncionalidadFuncionalidad

RecursosRecursos

TiempoTiempo

Calidad Calidad

… … entonces cómo vamos a hacerlo? entonces cómo vamos a hacerlo?

Page 8: MetodologÍas Y Procesos De Desarrollo

Dos Paradigmas de Dos Paradigmas de ProcesoProceso

El tradicional: descomponemos tareas y medimos su grado de completitud

Filosofía: “Contabilidad de Costes”

El alternativo: contabilizamos el valor para el cliente y lo vamos entregando incrementalmente Filosofía: “Lean Manufactoring” y “Teoría de las Restricciones”

Page 9: MetodologÍas Y Procesos De Desarrollo

Dos Paradigmas de Dos Paradigmas de ProcesoProceso Work-down

Sacar trabajo adelante

Value-upIncrementar valor

Planificación y gestión del cambio

Get planning and design right up front

El cambio ocurre, acostúmbrate

Medida principal Finalización de tarea Sólo entregables que cuentan para el cliente

Definición de calidad

Conformidad con la especificación

Valor para el cliente

Tolerancia a la variabilidad

Las tareas se pueden identificar y estimar determinísticamente

La variabilidad es parte de todos los flujos del proceso

Productos intermedios

Documentos, modelos y otros artefactos

Solo lo suficiente para minimizar la incertidumbre

Aproximación a la resolución de desviaciones

Ajustar tiempo, recurso, funcionalidad, y/o calidad

Detectar y eliminar cuellos de botella

Aproximación a la confianza

Monitorizar y medir; rendimiento relativo al plan

Orgullo del equipo humano y del trabajo colaborativo

Page 10: MetodologÍas Y Procesos De Desarrollo

Work-Down vs. Value-UpWork-Down vs. Value-Up

Work-Down es un caso especialWork-Down es un caso especialSimilar a la Física: Newton vs. EinsteinSimilar a la Física: Newton vs. Einstein

En generalEn generalEl proceso no fluye suavemente, hay El proceso no fluye suavemente, hay bloqueos y marchas atrásbloqueos y marchas atrás

La productividad de los recursos no se La productividad de los recursos no se distribuye uniformemente a lo largo del distribuye uniformemente a lo largo del tiempotiempo

Hay varianza en la efectividad a la hora de Hay varianza en la efectividad a la hora de completar tareascompletar tareas

Sólo en proyectos de bajo riesgo, Sólo en proyectos de bajo riesgo, funciona el paradigma funciona el paradigma work-downwork-down ya ya que se puede repetir el procesoque se puede repetir el proceso

Page 11: MetodologÍas Y Procesos De Desarrollo

Transparencia en ProyectosTransparencia en Proyectos

Informes en tiempo real de data warehouseInformes en tiempo real de data warehouse

Seguimiento para conformidadSeguimiento para conformidad

Mejora la predictibilidad y reduce el riesgoMejora la predictibilidad y reduce el riesgo

Requisitos de Requisitos de NegocioNegocio

Requisitos de Requisitos de Calidad deCalidad de

ServicioServicio

ResultadosResultadosPredeciblesPredecibles

Informes en tiempo realInformes en tiempo real

PlanificacióPlanificaciónn

DiseñoDiseñoDesarrolloDesarrolloPruebasPruebas

DespliegueDespliegue

Page 12: MetodologÍas Y Procesos De Desarrollo

Cómo se registran las Cómo se registran las métricasmétricas

TransparencTransparencia: se ia: se registra todo registra todo el trabajo el trabajo del equipo del equipo según se según se sigue el sigue el proceso proceso metodológicmetodológico escogido o escogido para el para el proyectoproyecto

Page 13: MetodologÍas Y Procesos De Desarrollo

Reports

SQL Server 2005 Analysis Services OLAP Cube

(TFSWarehouse)

SQL Server 2005 Relational Database

(TFSWarehouse)

Common Structures

Team Foundation Build

Work Item Tracking

Team Foundation Version Control

Operational Stores Adapters

3rd Party Adapters and Stores

Test Results

12

34

5

Cómo se registran las Cómo se registran las métricasmétricasComponentes de la ArquitecturaComponentes de la Arquitectura

Page 14: MetodologÍas Y Procesos De Desarrollo

Cómo se registran las Cómo se registran las métricasmétricas

Los datos que se incluyen en el cubo OLAP Los datos que se incluyen en el cubo OLAP están especificados en la Plantilla de están especificados en la Plantilla de ProcesoProceso

Atributo “Reportable” en la definición del Atributo “Reportable” en la definición del campo del elemento de trabajo que campo del elemento de trabajo que queremos incluirqueremos incluir

Como “Measure”: Cantidad que se puede Como “Measure”: Cantidad que se puede sumarizarsumarizar

Como “Dimension”: Campo para sumarizar Como “Dimension”: Campo para sumarizar medidasmedidas

Como “Detail”: Dato inque se incluye en la Como “Detail”: Dato inque se incluye en la base de datos pero no en el cubobase de datos pero no en el cubo

Page 15: MetodologÍas Y Procesos De Desarrollo

Cómo extraigo estado del Cómo extraigo estado del proyectoproyecto

A través de informesA través de informesInformes por defecto según el proceso escogidoInformes por defecto según el proceso escogido

CMMI Process ImprovementCMMI Process ImprovementAgile DevelopmentAgile Development

Informes a medida que desarrollo e incorporo a Informes a medida que desarrollo e incorporo a los informes y a los documentos del proyectolos informes y a los documentos del proyecto

Visualización de informes desdeVisualización de informes desdeTeam Explorer, en visor HTMLTeam Explorer, en visor HTMLPortal de Proyecto, en visor HTML o en WebPart Portal de Proyecto, en visor HTML o en WebPart de SQL Reporting Servicesde SQL Reporting ServicesPortal de Reporting Services, desde Team Portal de Reporting Services, desde Team ExplorerExplorer

Análisis de datos desdeAnálisis de datos desdeExcel, accediendo directamente al cubo OLAPExcel, accediendo directamente al cubo OLAP

Page 16: MetodologÍas Y Procesos De Desarrollo

METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES

Page 17: MetodologÍas Y Procesos De Desarrollo

El manifiesto ágilEl manifiesto ágilhttp://www.agilemanifesto.orghttp://www.agilemanifesto.org

““Preferimos…”Preferimos…”

Individuos e interacciónIndividuos e interacción a procesos y a procesos y herramientasherramientas

Software funcional Software funcional a documentación a documentación exahustivaexahustiva

Colaboración con el clienteColaboración con el cliente a a negociación de contratosnegociación de contratos

Respuesta ante los cambiosRespuesta ante los cambios al al seguimiento de un planseguimiento de un plan

Aunque hay valor en lo segundo, Aunque hay valor en lo segundo, preferimos lo primeropreferimos lo primero

Page 18: MetodologÍas Y Procesos De Desarrollo

Principios del manifiestoPrincipios del manifiesto

AdaptabilidadAdaptabilidad

ColaboraciónColaboración

Integración continuaIntegración continua

SimplicidadSimplicidad

Page 19: MetodologÍas Y Procesos De Desarrollo

AdaptabilidadAdaptabilidad

El análisis inicial es una guía, no una El análisis inicial es una guía, no una biblia intocablebiblia intocable

El cliente propondrá cambios que han El cliente propondrá cambios que han de introducirse en el desarrollode introducirse en el desarrollo

Los presupuestos han de contar con Los presupuestos han de contar con esos cambiosesos cambios

La métrica ha de reflejar el impacto La métrica ha de reflejar el impacto de los cambiosde los cambios

Se consigue un software más Se consigue un software más satisfactoriosatisfactorio

Page 20: MetodologÍas Y Procesos De Desarrollo

ColaboraciónColaboraciónEl equipo es importante, no los procesos El equipo es importante, no los procesos

Todo el mundo tiene algo que decirTodo el mundo tiene algo que decir

El equipo ha de estar motivadoEl equipo ha de estar motivadoImplicación de los desarrolladoresImplicación de los desarrolladores

Libertad de exploraciónLibertad de exploración

La visión general del proyecto es conocida La visión general del proyecto es conocida por todospor todos

Las reuniones son imprescindiblesLas reuniones son imprescindiblesCortas, concretas, pero frecuentesCortas, concretas, pero frecuentes

Se discute el estado del proyectoSe discute el estado del proyecto

La organización es dinámicaLa organización es dinámicaLiderar un equipo, no gestionarloLiderar un equipo, no gestionarlo

Page 21: MetodologÍas Y Procesos De Desarrollo

Integración continuaIntegración continua

El software se entrega por partesEl software se entrega por partes

Las diversas entregas han de ser Las diversas entregas han de ser ejecutablesejecutables

Cada integración supone una Cada integración supone una evualuación de la mismaevualuación de la misma

Eso permite corregir errores y cambiar Eso permite corregir errores y cambiar funcionalidadfuncionalidad

El cliente tiene un papel en la El cliente tiene un papel en la integración continuaintegración continua

Page 22: MetodologÍas Y Procesos De Desarrollo

SimplicidadSimplicidad

Lo simple es belloLo simple es bello

Mantener una estructura organizativa Mantener una estructura organizativa sencillasencilla

No complicar innecesariamente los No complicar innecesariamente los procesosprocesos

No saturar el proyecto con No saturar el proyecto con documentación superfluadocumentación superflua

Crear un sistema de comunicaciones Crear un sistema de comunicaciones rápido y ágilrápido y ágil

Page 23: MetodologÍas Y Procesos De Desarrollo

ConceptosConceptos

RolesRoles

ActividadesActividades

IteracionesIteraciones

Page 24: MetodologÍas Y Procesos De Desarrollo

RolesRoles

Un rol es una función dentro del Un rol es una función dentro del equipo de desarrolloequipo de desarrollo

Los roles pueden desempeñarse por Los roles pueden desempeñarse por más de una personamás de una persona

Una persona puede desempeñar más Una persona puede desempeñar más de un rolde un rol

Las actividades están asociadas a Las actividades están asociadas a rolesroles

Los roles pueden tener ciertos Los roles pueden tener ciertos permisos dentro de la organizaciónpermisos dentro de la organización

Page 25: MetodologÍas Y Procesos De Desarrollo

ActividadesActividades

Las tareas se definen como Las tareas se definen como actividadesactividades

Incluyen cualquier cosa que haya de Incluyen cualquier cosa que haya de hacerse durante el proyectohacerse durante el proyecto

Captura de requerimientos, testeo, Captura de requerimientos, testeo, codificación...codificación...

Una iteración será un conjunto de Una iteración será un conjunto de actividadesactividades

Las actividades se asignan a Las actividades se asignan a personas que pertenecen a rolespersonas que pertenecen a roles

Es deseable monitorizar las Es deseable monitorizar las actividadesactividades

Page 26: MetodologÍas Y Procesos De Desarrollo

IteracionesIteraciones

Ciclos de desarrollo cortosCiclos de desarrollo cortosSuelen ser de un mesSuelen ser de un mes

Al principio se decide que Al principio se decide que actividadaes incluirá cada iteraciónactividadaes incluirá cada iteración

Al final se obtiene software instalable Al final se obtiene software instalable y ejecutabley ejecutable

Integración continuaIntegración continua

Durante la iteración las reuniones Durante la iteración las reuniones han de permitir controlar el estado de han de permitir controlar el estado de la iteraciónla iteración

Las iteraciones son revisablesLas iteraciones son revisables

Page 27: MetodologÍas Y Procesos De Desarrollo

MSF For AgileMSF For Agile

MSF For Agile implementa una MSF For Agile implementa una versión de metodología ágilversión de metodología ágil

TFS incluye MSF For Agile como TFS incluye MSF For Agile como plantilla de procesosplantilla de procesos

Define roles, WorkItems, Define roles, WorkItems, documentación básica...documentación básica...

Incluye métricas del proyectoIncluye métricas del proyecto

Incluye un portal de colaboración con Incluye un portal de colaboración con la guía de procesosla guía de procesos

Page 28: MetodologÍas Y Procesos De Desarrollo

SCRUMSCRUM

Es una Es una implementación de implementación de metodología ágilmetodología ágil

Creada por Creada por Hirotaka Takeuchi Hirotaka Takeuchi e Ikujiro Nonaka en e Ikujiro Nonaka en 19861986

Page 29: MetodologÍas Y Procesos De Desarrollo

Principios de SCRUMPrincipios de SCRUM

Equipo muy simpleEquipo muy simple

Pila de funcionalidades (Backlog)Pila de funcionalidades (Backlog)

Reuniones diarias (Scrums)Reuniones diarias (Scrums)

Iteraciones (Sprints)Iteraciones (Sprints)

Page 30: MetodologÍas Y Procesos De Desarrollo

EquipoEquipo

Propietario del productoPropietario del productoDa los requerimientosDa los requerimientos

¡Paga!¡Paga!

EquipoEquipoAutogestionadoAutogestionado

MultidisciplinarMultidisciplinar

Scrum ManagerScrum ManagerSupervisa y coordina los rolesSupervisa y coordina los roles

Comprueba las tareasComprueba las tareas

Page 31: MetodologÍas Y Procesos De Desarrollo

BacklogsBacklogs

Listado de requisitosListado de requisitos

Recopilado por el propietario del Recopilado por el propietario del productoproducto

Es una lista dinámicaEs una lista dinámica

Se subdivide en los diferentes sprintsSe subdivide en los diferentes sprints

Page 32: MetodologÍas Y Procesos De Desarrollo

SprintsSprints

Representan iteracionesRepresentan iteracionesPor lo general de un mesPor lo general de un mes

Cada sprint posee una pila extraida Cada sprint posee una pila extraida del backlog de productodel backlog de producto

Los sprints se revisan al final para Los sprints se revisan al final para evaluarlos (retrospectivas)evaluarlos (retrospectivas)

Cada día se realiza una reunión para Cada día se realiza una reunión para realizar el seguimiento del sprint realizar el seguimiento del sprint (SCRUM)(SCRUM)

Reuniones cortas (15 minutos)Reuniones cortas (15 minutos)

Sólo hablan los implicadosSólo hablan los implicados

Page 33: MetodologÍas Y Procesos De Desarrollo

METODOLOGÍAS METODOLOGÍAS FORMALES: CMMIFORMALES: CMMI

Page 34: MetodologÍas Y Procesos De Desarrollo

CMMICMMI

Capability Model Maturity IntegrationCapability Model Maturity IntegrationCarnegie Mellon Software Engineering Carnegie Mellon Software Engineering Institute (www.sei.cmu.edu/cmmi)Institute (www.sei.cmu.edu/cmmi)

Diseñado originalmente para contratos Diseñado originalmente para contratos del gobierno de USAdel gobierno de USA

Fuertemente basado en el diseño de Fuertemente basado en el diseño de procesos de producciónprocesos de producción

Muy auditable, con multitud de Muy auditable, con multitud de métricasmétricas

Mucha documentacionMucha documentacion

Page 35: MetodologÍas Y Procesos De Desarrollo

Niveles de madurezNiveles de madurezNivel 0: Proceso incompletoNivel 0: Proceso incompleto

Nivel 1: Proceso realizadoNivel 1: Proceso realizado

No hay control de proceso. El resultado no es predecible. No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Muchas variaciones especiales. No hay planificación.

Nivel 2: Proceso gestionadoNivel 2: Proceso gestionado

Se satisfacen los requisitos del proyecto. Hay una Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente planificación y cada trabajo es realizado por la gente correspondiente.correspondiente.

Nivel 3: Proceso definidoNivel 3: Proceso definido

Se desarrollan un cierto número de procesos que cubren Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollolas priincipales áreas de desarrollo

Nivel 4: Proceso gestionado cuantitativamenteNivel 4: Proceso gestionado cuantitativamenteTodos los aspectos de un proceso poseen métricas que Todos los aspectos de un proceso poseen métricas que permiten controlarlopermiten controlarlo

Nivel 5: Proceso optimizadoNivel 5: Proceso optimizadoMejora continua de los procesosMejora continua de los procesos

Page 36: MetodologÍas Y Procesos De Desarrollo

Cobertura de CMMI en TFSCobertura de CMMI en TFSNivel 0: Proceso incompletoNivel 0: Proceso incompleto

Nivel 1: Proceso realizadoNivel 1: Proceso realizado

No hay control de proceso. El resultado no es predecible. No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Muchas variaciones especiales. No hay planificación.

Nivel 2: Proceso gestionadoNivel 2: Proceso gestionado

Se satisfacen los requisitos del proyecto. Hay una Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente planificación y cada trabajo es realizado por la gente correspondiente.correspondiente.

Nivel 3: Proceso definidoNivel 3: Proceso definido

Se desarrollan un cierto número de procesos que cubren Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollolas priincipales áreas de desarrollo

Nivel 4: Proceso gestionado cuantitativamenteNivel 4: Proceso gestionado cuantitativamenteTodos los aspectos de un proceso poseen métricas que Todos los aspectos de un proceso poseen métricas que permiten controlarlopermiten controlarlo

Nivel 5: Proceso optimizadoNivel 5: Proceso optimizadoMejora continua de los procesosMejora continua de los procesos

Page 37: MetodologÍas Y Procesos De Desarrollo

Nivel 2

Planificación de ProyectoMonitorización y controlMedidas y análisisGestión de requisitosGestión de configuraciónControl de Calidad del productoGestión de conformancia con el proveedor

Nivel 3Gestión integradaGestión de riesgosIntegración del equipoDesarrollo de requisitosSolución técnicaIntegración del productoVerificaciónValidaciónResolución de análisisDefinición organizativaEntorno de integraciónOrganización del procesoFormación organizadaGestión del proveedor integrada

Omitido

50% cobertura

20% cobertura

Page 38: MetodologÍas Y Procesos De Desarrollo

ValoraciónValoración

Cada práctica tiene un cierto número Cada práctica tiene un cierto número de subprácticasde subprácticas

La valoración del conjunto La valoración del conjunto proporciona una métrica sobre la proporciona una métrica sobre la calidad del procesocalidad del proceso

SCAMPI (SCAMPI (Standard CMMI Appraisal Standard CMMI Appraisal Method for Process ImprovementMethod for Process Improvement))

Proporciona un modelo de valoraciónProporciona un modelo de valoración

Cada subpráctica requiere evidencias Cada subpráctica requiere evidencias directas e indirectasdirectas e indirectas

Basado en la documentaciónBasado en la documentación

Page 39: MetodologÍas Y Procesos De Desarrollo

MSF For CMMIMSF For CMMI

Es una interpretación “ágil” de CMMIEs una interpretación “ágil” de CMMI

Incluye ciertas características de Incluye ciertas características de AgileAgile

Menos documentaciónMenos documentación

Utiliza el mismo paradigmaUtiliza el mismo paradigmaWorkItems, Iteraciones, roles...WorkItems, Iteraciones, roles...

Los informes proporcionan las Los informes proporcionan las métricas necesarias para valorar el métricas necesarias para valorar el estado del proyecto.estado del proyecto.

Page 40: MetodologÍas Y Procesos De Desarrollo

Gracias por su atención