Metodologas giles Magister en Ingeniera de Software UNSL
- Slides: 56
Metodologías Ágiles Magister en Ingeniería de Software UNSL iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Este curso • Se basa en el análisis critico de metodologías y procesos de desarrollo • Trata detalladamente dos metodologías Ágiles • Quizas el mayor desafío que Ustedes tienen es formar una opinión basada en evidencia acerca de las metodologías ágiles y rigurosas iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Aprobación • 15 % : Participación en clase • 25 % : Trabajos Prácticos • 60% : Trabajo de investigación + Presentación iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Objetivos de este modulo • Tener una interpretación propia basada en evidencia acerca de por qué surgieron las metodologías ágiles • Identificar fortalezas, debilidades, tendencias y preferencias en las metodologías robustas y ágiles iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Contenidos • • • Los inicios de la ingeniería de software La crisis del software Los procesos y modelos robustos Los procesos y modelos ágiles La gente iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Advertencia • Algunos puntos estarán interpretados, y Uds. son libres de tener una visión diferente • Esta presentación no es “completa” • La forma en que algunos temas se presentan pueden cuestionar algunos dogmas de la ingeniería de software iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
El principio (sin ingeniería) iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Contexto histórico • La NATO declara la crisis del software en 1968, luego de crear el término Ingeniería de Software un año antes • Deming, procesos, calidad en el resto de la industria • Bill Curtis sobre variación entre programadores • Fred Brooks “The mythical man-month” • Gerald Weinberg “The psichology og programming” iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Contexto histórico • Evidencia de sectores no-software de una relación directa entre mejore procesos mejores productos • Clean-pipe & Dirty water • Una de las premisas de CMM iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Contexto histórico • Contratos multimillonarios con el Do. D • Necesidad de “certificar” proveedores iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Breve paréntesis • Durante Semana Santa, escuché una excelente interpretación del Requiem, de Mozart por parte de la Sinfónica de Córdoba. • Obviamente, la variación de cada uno de los individuos, o algunos en particular, con miembros de la Sinfónica de Londres, eran notables iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Breve paréntesis • El resultado final, sin embargo, era altamente comparable. Las diferencias se fundían en una excelente presentación, que dejó satisfechos a los aún mas exigentes • Era tan descabellado pensar que un equipo de desarrollo de 400 personas podía funcionar como una orquesta? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
CMM • Carneggie Mellon (por qué no el MIT? O Cal Tech? ) • Bill Curtis • Mark Paulk • Watts Humphrey iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
El modelo del SEI • Modelo IDEAL de process improvement • Ciclo clásico al estilo Demming, con una fase inicial de diagnóstico contra un modelo de referencia • CMM es el modelo de referencia • Los niveles, y el término madurez, son extraídos de Crosby (“Quality is Free”) iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Quality is free • La calidad se mide por el costo de reparar errores • Niveles de Crosby: – Uncertainty – Awakening – Enlightment – Wisdom – Certainty iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Estructura de CMM • Se pueden encontrar muchos tutoriales • 500 páginas de recomendaciones, aunque el modelo podría explicarse en 20 • Breve debate: El nombre de los niveles (Inicial, Repetible, Definido, Gerenciado, Optimizado) • Assessments de CMM (no auditorías, ni certificaciones) iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Otros modelos • Bajo la sombrilla de SPI (software process improvement) surgieron otros modelos • SPICE • ISO 9001 • El espíritu de CMM se desmerece en una certificación. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Que se entiende por nivel Definido? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Seriamente • CMM no es normativo, pero. . . • Características de un proceso robusto – Upfront planning – Requirements Management, en un sentido tradicional – Ciclos de vida waterfall, V-model – Métricas iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
CMM y Producción en masa – Stock – Hand-off – Proceso con nivel decreciente en la necesidad de habilidades de los desarrolladores – Responsabilidad diluida en la organización iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Estructura de un Proceso de SW • Pipeline de fases ETVX • Cada fase tiene un entregable físico: documento de análisis, documento de diseño, etc • Planes detallados para las actividades de cada fase iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los problemas de las metodologías rigurosas • Tolvanen, 1998 – overhead de proceso – métodos difíciles de usar y aprender – ambigüedad iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los problemas de las metodologías rigurosas • Baskerville, Travis &Treux, 1992 – métodos orientados a proyectos grandes (realmente grandes) – falta de adaptabilidad iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los problemas de las metodologías rigurosas • De. Marco & Lister, 1987 – la gente puede centrarse mas en la documentación que en el desarrollo real – no se asigna suficiente responsabilidad a los desarrolladores – falta de motivación iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los problemas de las metodologías rigurosas • Bohem (2002) – enfoques rigurosos mas apropiados para sistemas críticos. La “inercia” de un enfoque rigurosos no es apropiada para ambientes de cambio y velocidad. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Desarrollo ágil de SW (Agile) • Un compromiso útil entre nada de proceso y demasiado proceso (Fowler, 2001) iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Lean thinking • El modelo de manufactura en el que se baso Crosby, y luego inspirara CMM y otros procesos rigurososos, evolucionó • Conceptos como: – Just in time – Satisfacción del cliente – Eliminación de pasos innecesarios iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Ejemplo de empresas “Lean” • Toyota – Los trabajadores pueden detener la línea si detectan un defecto • e. Bay, Amazon, Fed. Ex – Eliminación de las órdenes y tracking innecesario. Just-in-time. Envíos sin stock. • Chrysler – Acuerdos de colaboración con proveedores iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Principios de producción Lean • • Toda tarea debe agregar valor al producto Focalizarse en la gente que agrega valor Agregar valor basado en demanda Optimizar entre organizaciones iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Gastos en producción Lean • • Producción en exceso Stock Pasos extra en el proceso Búsqueda de información Defectos Esperas Transportes iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Agile Alliance • 17 representantes de metodologías alternativas (XP, Scrum, Crystal. . . ) reunidos en un hotel de Utah en 2001 • Companías que competían en un mismo mercado, intentando una “suma positiva” iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Agile Manifesto • declaración de principios • muy buena aceptación (debate Bohem) iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los cuatro valores • Individuos e interacciones por sobre procesos y herramientas • Software funcionando por sobre documentación detallada • Colaboración por sobre negociación con el cliente • Responder a cambios por sobre seguir un plan iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Individuos e Interacciones • La suposición de los roles intercambiables iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Software por sobre documentación • foco en la implementación por sobre el modelado • no significa que no se documenten requerimientos, diseño, etc. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Debate • UML, es Agile? • Como sé que mi proyecto tiene suficiente/demasiada documentación? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Colaboración del Cliente • algunas metodologías un poco extremas • el espíritu es no “extorsionar” al cliente con un contrato. Estar dispuesto al cambio, y cerca del cliente para predecirlo. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Responder al cambio • requirements emergence • cambios a los requerimientos originales pueden tener mayor valor que los relevados inicialmente iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los 12 principios del Manifesto 1 - La prioridad es satisfacer al cliente a través de releases tempranos y frecuentes 2 - Recibir cambios de requerimientos, aun en etapas finales 3 - Releases frecuentes (2 semanas a un mes) 4 - Técnicos y no técnicos trabajando juntos TODO el proyecto iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los 12 principios del Manifesto 5 - Hacer proyectos con individuos motivados 6 - El medio de comunicación por excelencia es cara a cara 7 - La mejor métrica de progreso es la cantidad de software funcionando 8 - El ritmo de desarrollo es sostenible en el tiempo iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Los 12 principios del Manifesto 9 - Atención continua a la excelencia técnica 10 - Simplicidad - Maximización del trabajo no hecho 11 - Las mejores arquitecturas, diseños y requerimientos emergen de equipos autoorganizados 12 - A intervalos regulares, el equipo evalúa su desempeño y ajusta la manera de trabajar iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
1. Satisfacción del cliente como prioridad uno • Basado en los releases frecuentes y en etapas tempranas • Glass (2001) Cuidado con el manejo de expectativas del cliente iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
2 - Cambios son bienvenidos • • Brooks (1987) ya identificó el problema “stabilize and synchronize” de Microsoft requiremennts emergence Como se factura esto? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
3 - Entregas frecuentes • la psicología del programador (Weinberg): Objetivos próximos y distantes • mejor manejo de requerimientos (Cockburn, 2000) • evolución del modelo en espiral iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
4 - Técnicos y desarrolladores trabajando juntos “En mi trabajo, tengo los usuarios mas estúpidos del mundo” • Microsoft: managers escriben código • Reducción del gap comunicacional iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
5 - Motivación • people factor • la gente es la mejor oportunidad para mejorar la productividad (Bohem, 1981) • el Principio de Dilbert iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
6 - Comunicación cara a cara • No es necesariamente informal • el espacio físico debe favorecer la comunicación • frecuentemente confundido con una reducción en la documentación iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
7 - Software es la mejor medida de progreso • no significa que las metodologías ágiles no colecten otras métricas • no confundir funcionalidad con “cantidad de software” • la mayoría de las métricas tradicionales son un epifenómeno de software entregado iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
8 - Ritmo de desarrollo sostenible • De. Marco & Lister (1987) : Mas de 40 horas por semana no es sostenible en el tiempo • responsabilidad social + efectividad ($) • una de las características de “venta” de CMM a desarrolladores es, de hecho, la disminución del overtime iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
9 - Excelencia técnica • revisión continua de la arquitectura/diseño • mejora continua del producto • peer reviews iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
10 - Maximizar el trabajo no hecho (o Simplicidad) • no implementar mas de lo acordado • no debe confundirse con relegar diseño y saltar a la codificación • Refactoring • No es “good enough quality” • Cómo se alinea este principio con la forma de ser del desarrollador argentino? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
11 - Equipos auto-organizados • • sinergia (De. Marco & Lister) es un principio que apunta a la organización proceso de reclutamiento objetivos - motivación - satisfacción con el trabajo • preservar los equipos de un proyecto a otro iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
12 - Autoevaluación • mejora continua del proceso • conocimiento organizacional • los cambios pueden ser un poco erráticos si no se aplica un criterio cuantitativo iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Práctico #1 1 - Fundamentar reducciones en el costo de cambio de requerimientos en una metodología que cumple los principios de Agile. Comenzar con la curva clásica, de cualquier libro de ingeniería de software. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Práctico #1 2 - Evaluar el costo de cambios desde una perspectiva del cliente. Es similar la necesidad del cliente si se usa una metodología tradicional? iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
Práctico #1 3 - Si vemos un libro de requerimientos como una orden de trabajo, y las correspondientes estimaciones como el presupuesto, el contrato de la empresa de software con su cliente es bastante directo. Bosqueje como sería un contrato usando una metodología ágil que implemente la misma aplicación. iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL
- Ilias unsl
- Aprendizaje situado
- Metodologas
- Ingenieramédicaprogramadoraperiodistahijastra
- Sharpdevelop
- Universidad nacional de ingeniera
- Dr alison giles
- Howard giles communication accommodation theory
- Nick giles
- Giles elrington
- Quotes from elizabeth proctor in the crucible
- Chalfont st giles parish council
- The crucible resolution
- Rosie giles
- Thomas putnam character traits
- Tolerates no challenge to his authority
- Giles fisher waitrose
- Glenn giles
- Meredith giles
- Tawag sa teorya ni howard giles
- Giles county animal shelter
- Shattering glass gail giles summary
- No avives giles que se te vuelven en contra
- Iain giles cibc
- Testify definition
- Is giles corey static or dynamic
- C lee giles
- Act three the crucible
- Farmer giles farm
- Novum magister
- Magister mediacollege
- Fred van horzen
- Magister lyceum ypenburg
- School of litterator
- Klaas willemsen
- Pridjevi
- Magister de breul
- Magister declension
- Sigma chi preparation for brotherhood
- Gelar sh spn
- Kkni level 8
- Mhh betekenis
- Colegio magister rancagua
- Ave magister
- Magister deklinacija
- Magister deklinacija
- Magister borstel
- Magister weredi
- Ma a kasse selvbetjening
- Den hulster aanmelden
- Magister
- Magister project management
- Magister project management
- Magister project management
- Magister desain
- Magister manajemen unri
- Jpt magister