1 / 31

MÉTODOS Y PRÁCTICAS

MÉTODOS Y PRÁCTICAS. Carlos Mario Zapata J. DEFINICIONES. Un método es la composición de un Núcleo y un conjunto de Prácticas para cumplir un propósito específico.

Download Presentation

MÉTODOS Y PRÁCTICAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MÉTODOS Y PRÁCTICAS Carlos Mario Zapata J. Teoría y Métodos de la Ingeniería de Software

  2. DEFINICIONES • Un método es la composición de un Núcleo y un conjunto de Prácticas para cumplir un propósito específico. • Un método de un equipo actúa como una descripción de la forma de trabajo del equipo y provee ayuda y lineamientos al equipo mientras realiza su tarea. • Una práctica es una descripción de como manejar un aspecto específico de un esfuerzo en ingeniería de software. • Una práctica provee una forma sistemática y verificable de tratar un aspecto particular del trabajo que se está haciendo. Tiene una meta clara que se expresa en términos de los resultados que su aplicación logrará. Provee lineamientos para ayudar y guiar a los practicantes en lo que se debe hacer para lograr la meta y también para asegurar que se entiende la meta y para verificar que se está logrando. Teoría y Métodos de la Ingeniería de Software

  3. Trabajo basado en prácticas: Un comienzo novedoso Un nuevoenfoquequeguía y rige el desarrollo de software que: • Le ayuda a proveer un conjunto de prácticas de maneraescalable, atractiva, flexible y fácil de usar. • Asume un enfoquenovedosoparapresentar y entregarrecomendaciones. • Proveeuna forma de trabajoágil, iterativa y livianaparaayudar al inicio del proyecto. • Preserva lo queya se hacebien, mientrasque introduce nuevasprácticasque le ayudan a mejorar. • Habilita la mejora continua y a largo plazo en el rendimiento Las prácticas de la Esenciaconstituyen la forma másinteligente de cambiar la forma de trabajo Teoría y Métodos de la Ingeniería de Software

  4. Cómo lo aplica MunichRE “Paqueteinicial” Conjunto de prácticas Definalascombinacionesfrecuentes PM para iteraciones Esenciales de expe-riencia de usuario Esenciales de modelado Esenciales de casos de uso Esenciales arquitectónicos Adopción de métodocuando se lanza el proyecto Esenciales de compo-nentes Esenciales iterativos Esenciales de equipos Fundamentación 1 2 Forma de trabajo individual del proyecto Los proyectosindividualespuedenagregarprácticasadicionales a su Forma de trabajo Teoría y Métodos de la Ingeniería de Software

  5. Ejemplo: Rule Financial Se ensambla en Se ensambla en Proyecto: rulebook™ - un conjunto flexible de práctica ágiles y lean para procesos livianos, ajustadas a sus necesidades (véase www.rulefinancial.com). Teoría y Métodos de la Ingeniería de Software

  6. El enfoque es práctico • Se usa el núcleo como terreno común • Se usa el núcleo para definir las prácticas • Los métodos son composiciones de prácticas opportunity stakeholders provide helps to address focuses use and consume demand Prácticas softwaresystem set up to address software system requirements support fulfils updates and changes Iteración Caso de uso Componente Scopes and constrains produces Arquitectura Núcleo work team performs and plans applies guides way of working Teoría y Métodos de la Ingeniería de Software

  7. Hay cientos de prácticas en la Industria … Ciclo de vida del proceso unificado Casos de uso para servicios Arquitectura dirigida por modelos Componentes para reutili- zación Componentes para la Red Scrum deScrum Prácticas Técnicas … Esenciales iterativos Esenciales de Scrum Esenciales de casos de uso Historias de usuario Esenciales arquitectó-nicos Esenciales de compo-nentes Desarrollo basado en pruebas Esenciales de asegura-miento de calidad … Esenciales de procesos Modelado ágil Esenciales sobre equi- pos Esenciales mediciones PSP Prácticas sociales y otras transver-sales … OrgProcessImp Cosecha de prácticas Esenciales de UML Equipos distribuidos Equipos virtuales Práctica aceptada Extensión Convenciones: Teoría y Métodos de la Ingeniería de Software

  8. Su forma de trabajo es sólo una colección de prácticas … Ciclo de vida del proceso unificado Casos de uso para servicios Arquitectura dirigida por modelos Componentes para reutili- zación Componentes para la Red Scrum deScrum Prácticas Técnicas … Esenciales iterativos Esenciales de Scrum Esenciales de casos de uso Historias de usuario Esenciales arquitectó-nicos Esenciales de compo-nentes Desarrollo basado en pruebas Esenciales de asegura-miento de calidad … Esenciales de procesos Modelado ágil Esenciales sobre equi- pos Esenciales mediciones PSP Prácticas sociales y otras transver-sales … OrgProcessImp Cosecha de prácticas Esenciales de UML Equipos distribuidos Equipos virtuales Práctica aceptada Extensión Convenciones: Teoría y Métodos de la Ingeniería de Software

  9. Que la gente ajusta para atender sus necesidades Mi enfoque de taller Mis planti- llas de casos de uso Mi guía de estilo de casos de uso Esenciales de casos de uso Mis ejemplos Mis inno- vaciones en casos de uso … y capturar sus experiencias Teoría y Métodos de la Ingeniería de Software

  10. La separación de prácticas tiene muchos beneficios: Se pueden aprender prácticas individualmente Se pueden aplicar prácticas separadamente Se pueden adoptar las prácticas que uno quiera, cuando quiera y de forma personalizada Se pueden mezclar y encontrar prácticas de cualquier fuente Sólo se tendrían que reemplazar las prácticas que no estén funcionando Separación de Prácticas: La clave para la mejora exitosa y duradera del rendimiento Teoría y Métodos de la Ingeniería de Software

  11. Necesitamos la habilidad de compartir prácticas… • Práctica: un enfoque repetitivo para hacer algo con un propósito específico en mente. Cosas para hacer Cosas para producir Compentencias y habilidades Lineamientos y ejemplos Una práctica …y combinarlas para crear una forma de trabajo novedosa. Teoría y Métodos de la Ingeniería de Software

  12. Necesitamos la habilidad de compartir prácticas… • Práctica: un enfoque repetitivo para hacer algo con un propósito específico en mente. Esto tiene que ver con hacer que las prácticas de todos trabajen juntas. No se trata de prácticas nuevas o “mejores” ni de la creación de más y más métodos. Cosas para hacer Cosas para producir Compentencias y habilidades Lineamientos y ejemplos Una práctica …y combinarlas para crear una forma de trabajo novedosa. Teoría y Métodos de la Ingeniería de Software

  13. Una práctica trata un asunto particular provee un conjunto de actividades y productos de trabajo para dar un valor específico a los interesados particulares promueve “agilidad” con el nivel CORRECTO de formalismo provee un pequeño conjunto de lineamientos para satisfacer una necesidad específica Mínima información y documentación: sólo lo necesario se puede presentar como un simple mazo de cartas Iterativo What is a practice? Teoría y Métodos de la Ingeniería de Software

  14. Las prácticas definen las reglas de juegoSe complementan con tácticas y trucos del contexto SUGERENCIAS • Plantillas • Herramientas • Pistas y consejos • Reglas de oro • Combinaciones de roles • Patrones • Elementos del contexto REGLAS • Cosasesencialesparahacer • Cosasesencialesparaproducir • Competenciasesenciales • Comportamientosesenciales Teoría y Métodos de la Ingeniería de Software

  15. Si se captura la esencia, ¡se pueden hacer las cosas como los expertos! Teoría y Métodos de la Ingeniería de Software

  16. Práctica 1 Al igual que la gente, las prácticas necesitan un terreno común para trabajar juntas Terrenocomún Práctica 3 Práctica 2 Práctica 4 Teoría y Métodos de la Ingeniería de Software

  17. La idea clave es la existencia de un núcleo • El núcleoes un pequeñoconjunto de elementostomado de un gran número de métodosexistentes • Contienecasillasvacíasparacosasquetienecada forma de trabajo.Casillaspara • Competencias, comoanálisis, desarrollo, capacidad de prueba • Cosas con quétrabajarcomorequisitos, sistema, equipo • Cosasparahacer, comoimplementar el sistema y probar el sistema • El núcleoesindependiente de lasprácticas y de los métodos Núcleo El núcleo provee el terreno común que permite que las prácticas y la gente se unan Teoría y Métodos de la Ingeniería de Software

  18. La construcción de una forma de trabajo se inicia con el núcleo • Captura las cosas con las que el equipo de desarrollo de software debe lidiar • No todo, sino los elementos comunes a todo • Describe el proceso de desarrollo de software independientemente de las prácticas • Actúa como un marco para la definición y aplicación de prácticas específicas • Le permite usar tantas prácticas como desee • Permite alinear y comparar proyectos • Provee un modelo de referencia para controlar proyectos y alinear sus formas de trabajo Kernel Se capturan los esenciales del desarrollo de software de manera independiente de las prácticas Teoría y Métodos de la Ingeniería de Software

  19. El núcleo reúne todas las prácticas Una “casilla” de práctica en el núcleo común Núcleo Define una pequeña forma de trabajo “vacía” Forma de trabajo Práctica Contiene las especificidades para agregar al núcleo Teoría y Métodos de la Ingeniería de Software

  20. Cambie la forma de comenzar el proyecto cosechando las mejores prácticas de su propio método + Sus propias mejores prácticas Núcleo Teoría y Métodos de la Ingeniería de Software

  21. Cambie la forma de comenzar el proyecto cosechando las mejores prácticas de su propio método + Sus propias mejores prácticas Núcleo que usted puede ajustar para satisfacer necesidades locales Teoría y Métodos de la Ingeniería de Software

  22. Mejore su método agregando otras prácticas ya probadas Casos de uso PLA + + +++ iterativo Arquitectura Componentes Equipo Núcleo Sus propias mejores prácticas Otras prácticas de muchas fuentes Teoría y Métodos de la Ingeniería de Software

  23. Ayude a otros compartiendo sus prácticas y contribuyendo al intercambio de prácticas Se trata de compartir y no de imponer • Siembre el intercambio de prácticas usando las prácticas existentes • Mejore con prácticas locales • Para que el cambio sea sostenible, convierta sus prácticas en formato estándar antes de compartirlas con la comunidad Intercambio de prácticas Proyecto completo No. 1 Librería de prácticas Community • El rigor y el aseguramiento de la calidad requieren la calidad en las buenas prácticas Teoría y Métodos de la Ingeniería de Software

  24. Las prácticas permiten que los proyectos funcionen de la manera que necesitan Proyecto A Iterativo Historias de usuario Cascada Proyecto B Requisitos declarativos Casos de uso Arquitectura Componentes Arquitectura Proyecto C Componentes Scrum La forma de trabajo del equipo se compone de lasprácticasqueseleccionen Teoría y Métodos de la Ingeniería de Software

  25. El núcleo provee un marco de referencia compartido Proyecto A Proyecto B Proyecto C El núcleo le permite a los equipos usar las prácticas que necesitan dentro de un marco de rigor compartido Teoría y Métodos de la Ingeniería de Software

  26. Panorama General Las actualizanmuchos (usualmenteingenieros senior experimentados) y a menudo. Por lo general se almacenan en herramientas locales (Wikis or presentaciones). Tácticas y trucos Se capturancomoconjuntos de prácticas en uso Las actualizanpocos (agentes de cambio o ingenieros de procesos) y frecuentemente. Incluyenprototipos con herramientas locales (Wikis o presentaciones) y se publican paracompartirusandoherramientasespecializadas de “autoría de procesos. Reglas de juego Se capturancomoconjuntos de prácticascomplementarias de acción, ciclo de vida, inspección y soporte Lo actualizanmuypocosocasionalmente. Se publicaparacompartirusandoherramientasespecializadas de “autoría de procesos” El terrenocomún Los conceptosbásicosaplicables a todo y que se capturan en el núcleo Teoría y Métodos de la Ingeniería de Software

  27. SEMAT promueve el ensamblaje de métodos usando prácticas reutilizables El núcleo contiene los elementos esenciales de la ingeniería de software Cosas con las cuales trabajar Teoría y Métodos de la Ingeniería de Software

  28. El núcleo de la Esencia y otras Formas de Trabajo El núcleo trabaja con cualquier método E.g. Scrum, XP, Kanban, DAD, Safe, DSDM, TSP, RUP, Crystal, etc. No prescriptivo y agnóstico del método El núcleo de la Esencia Los fundamentos 10/30/2014 Teoría y Métodos de la Ingeniería de Software 28

  29. Tópicos avanzados ¿Cómo se puede obtener valor agregado? • Apalancandolasprácticas en el núcleo • Apalancandootrasfacetas en el núcleo • Apalancandolasextensiones del núcleo • Extendiendo la definición del núcleoparasatisfacerlasnecesidadesespecíficas de los proyectos Espacios de actividad Competencias Subalfas 10/30/2014 Teoría y Métodos de la Ingeniería de Software 29

  30. Panorama general: núcleo, métodos, prácticas • Control del progreso • Reflexión del equipo • Gestión del riesgo • Dirección de proyectos Método adaptado (compuesto de prácticas) Método adaptado M Prácticas Generalmente aceptadas Núcleo de la Esencia (Los fundamentos) 10/30/2014 Teoría y Métodos de la Ingeniería de Software 30

  31. ENTREGABLE 2 Representación de, al menos, dos prácticas del método seleccionado incluyendo 1. Diagrama de métodos y prácticas 2. Digrama de prácticas, alfas, productos de trabajo y roles 3. Diagrama de prácticas, espacios de actividad, actividades y fases 4. Diagrama de roles, productos de trabajo y competencias 5. Tarjetas de los productos de trabajo 6. Tarjetas de las actividades 7. Tarjetas de las competencias 8. Tarjetas de los patrones Teoría y Métodos de la Ingeniería de Software

More Related