La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Metodologías Ágiles Magister en Ingeniería de Software UNSL.

Presentaciones similares


Presentación del tema: "Iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Metodologías Ágiles Magister en Ingeniería de Software UNSL."— Transcripción de la presentación:

1 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Metodologías Ágiles Magister en Ingeniería de Software UNSL

2 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

3 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

4 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

5 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

6 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

7 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL El principio (sin ingeniería)

8 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”

9 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

10 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Contexto histórico Contratos multimillonarios con el DoD Necesidad de “certificar” proveedores

11 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

12 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?

13 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

14 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”)

15 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

16 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)

17 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.

18 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Que se entiende por nivel Definido?

19 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

20 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

21 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

22 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

23 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

24 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Los problemas de las metodologías rigurosas DeMarco & 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

25 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.

26 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)

27 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

28 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 eBay, Amazon, FedEx –Eliminación de las órdenes y tracking innecesario. Just-in-time. Envíos sin stock. Chrysler –Acuerdos de colaboración con proveedores

29 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

30 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

31 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”

32 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)

33 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

34 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Individuos e Interacciones La suposición de los roles intercambiables

35 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.

36 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?

37 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.

38 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

39 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

40 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

41 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 auto- organizados 12 - A intervalos regulares, el equipo evalúa su desempeño y ajusta la manera de trabajar

42 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

43 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?

44 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

45 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

46 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

47 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

48 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

49 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL 8 - Ritmo de desarrollo sostenible DeMarco & 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

50 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

51 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?

52 iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL 11 - Equipos auto- organizados sinergia (DeMarco & 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

53 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

54 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.

55 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?

56 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.


Descargar ppt "Iridis group Metodologías Ágiles - Maestría en Ingeniería de Software -UNSL Metodologías Ágiles Magister en Ingeniería de Software UNSL."

Presentaciones similares


Anuncios Google