View
14.285
Download
2
Category
Preview:
DESCRIPTION
Metodologías Y Procesos De Desarrollo
Citation preview
Metodologías en procesos de desarrolloMetodologías en procesos de desarrollo
Aurelio PorrasAurelio Porras
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
METODOLOGÍAS Y METODOLOGÍAS Y PROCESOSPROCESOS
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%
El Problema con el El Problema con el ProcesoProceso PredeciblePredecible
RepetibleRepetibleProductivoProductivo
• ComplejoComplejo• DesconectadoDesconectado• DifícilDifícil
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
““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?
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”
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
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
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
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
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
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
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
METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES
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
Principios del manifiestoPrincipios del manifiesto
AdaptabilidadAdaptabilidad
ColaboraciónColaboración
Integración continuaIntegración continua
SimplicidadSimplicidad
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
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
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
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
ConceptosConceptos
RolesRoles
ActividadesActividades
IteracionesIteraciones
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
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
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
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
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
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)
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
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
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
METODOLOGÍAS METODOLOGÍAS FORMALES: CMMIFORMALES: CMMI
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
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
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
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
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
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.
Gracias por su atención
Recommended