Programación Extrema Ing. Sebastian Priolo. Metodologías Ágiles Menos orientadas a los documentos. Orientadas al código. El cambio es bienvenido. Procesos.

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Metodologías ágiles.
Metodologías Ágiles Patricio Letelier
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
METODOLOGIAS AGILES DE CONSTRUCCION DE SOFWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Una explicación de la programación extrema XP
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Ingeniería de Software
Programación Extrema eXtreme Programming (XP)
CARRERA ING.DE SISTEMAS INTEGRANTE: DANIEL SORIA MURILLO DOCENTE: ING. ERVIN FLORES MATERIA: INGENIERIA DE SOFTWARE GESTION 2009.
Metodologías Ágiles.
¿Cómo surge? Metodologías ágiles de desarrollo de software Se entiende como Desarrollo ágil de Software a un paradigma de Desarrollo de Software basado.
Gestión y modelos para la eficiencia en empresas de desarrollo de software Juan Palacio
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Metodologías Ágiles en VFP de las Historias de Usuario al código
Ingeniería de Software
METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Scrum Una Alternativa Ágil para el desarrollo de Software
 Capacidad para adaptar el curso del desarrollo a la evolución de los requisitos y a las circunstancias del entorno de los proyectos.
Desarrollar un buen software depende de un gran número de actividades y etapas, donde el impacto de elegir la metodología para un equipo en un determinado.
Universidad “Gran Mariscal de Ayacucho” Ingeniería de Sistemas Dirección de Operaciones I Participantes: Montes, Kimberlys Mosquera, Johanbert Suarez,
Metodologías de Desarrollo en Empresas que no Comercializan Software A.S. ADRIAN ESTEBAN MELESI UNIVERSIDAD DE PALERMO - TRABAJO FINAL DE GRADO TUTOR:
Metodologías de Desarrollo Ágil
METODOLOGIA AGIL ASD (DESARROLLO DE SOFTWARE ADAPTABLE) ESTUDIANTE: MARITZA HUARACHI MATERIA: INGENIERIA DE SOFTWARE DOCENTE: Lic. ERVIN FLORES JULIO-2009.
RUP Vs. XP Sandra Lorena Anaya. Introducción ● Calidad del SW ● Transparencia y control sobre el proceso ● Producir lo esperado en el tiempo esperado.
Integrantes:  Laqui Vilca, Jhower  Mallco Ceferino, Nerio  Mamani Larico, Guido.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
Programación Extrema (XP) Alan Quirino Eder Ramírez Edgar García Alberto Borrell Raúl Bribiesca
Proceso de Implantación y Aceptación del Sistema de Información (IAS)
Ingeniería de Software: Metodologías
Gestión de Proyectos.
Gestión de Proyectos Ágiles
SEMINARIO DE INDUCCIÓN
Metodología de Sistemas Unidad IV: MÉTODOS ÁGILES
APRENDIZAJE BASADO EN PROYECTOS
APRENDIZAJE BASADO EN PROYECTOS
MOPROSOFT.
Programación orientada a objetos
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
SEMINARIO DE INDUCCIÓN
Blue Watch: Un método balanceado para el desarrollo de software
Metodología del software xp
“PROYECTO TECNOLOGICO”.
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Ciclo de vida del Software
- Metodologías de Software a la medida - - Metodologías de Software a la medida - Dime qué desarrollas y te diré que metodología usar Autores: Kiberley.
Planeamiento: un plan incremental para que la ingeniería web produzca resultados. La ingeniería web es un área que abarca procesos, técnicas y modelos.
METODOLOGIAS AGILES VS TRADICIONALES SCRUM - RUP FABIO ARNOBY BEJARANO Q. UNIREMINGTON BUGA (V) INGENIERIA DE SOFTWARE II SEPTIEMBRE 2018.
Tabla de contenidos 1ª Parte: Equipo: Integrantes y roles
PRESENTADO POR: JUAN DAVID GODOY ING. ELECTRÓNICA II
Presentación de seguimiento del proyecto Equipo LSI 02
TALLER DE PROGRAMACIÓN ORIENTADA A OBJETOS
Presentación de seguimiento del proyecto Equipo LSI 02
METODOLOGIA AGIL XP LIC. ROXANA LAUREL R.. INTRODUCCION  Proceso : conjunto de actividades ordenadas para lograr una serie de objetivos  Proceso Pesado.
Metodología de Desarrollo de Sistemas II Ingeniería de Software  DEFINICIÓN La ingeniería del software es el establecimiento y uso de principios de.
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos” Trabajo de título presentado.
ASIGNATURA: REINGENIERÍA DEL SOFTWARE CUATRIMESTRE: I DOCENTE: ING. IRENE MARTÍNEZ MEJÍA CORREO: Managua, 26 de Enero 2019
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Desarrollo de Software Ágil Agenda Introducción (planteamiento del problema) Metodologías Ágiles (solución) Ejemplos de Metodologías (XP, Scrum y Lean)
Ingeniería de Software: Metodologías
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos” Trabajo de título presentado.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
Sistema de Gestión de Almacenes (SGA)
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
PLANIFICACION Diego Hernández.
METODOLOGÍ A SCRUM Ing. Carlos diaz gantu Concepto Metodología de desarrollo ágil utilizada en el desarrollo diferentes productos, entre ellos, el desarrollo.
ICI 502 Procesos de Software
Transcripción de la presentación:

Programación Extrema Ing. Sebastian Priolo

Metodologías Ágiles Menos orientadas a los documentos. Orientadas al código. El cambio es bienvenido. Procesos que cambian NO son predictivos Son adaptables

Ejemplos Programación Extrema Scrum Crystal Evolutionary Project Management (Evo) Feature Driven Development (FDD) Adaptive Software Development (ASD) Lean Development (LD) Lean Software Development (LSD)

Manifiesto Ágil

Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham En marzo de 2001, 17 críticos de los modelos de mejora basados en procesos, convocados por Kent Beck, se reunieron en Salt Lake City para discutir sobre el desarrollo de software. Se acuñó el término “Métodos Ágiles”.

Manifiesto ágil Estamos descubriendo mejores maneras de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de esta experiencia hemos aprendido a valorar:

Manifiesto Ágil Individuos e interacciones sobre procesos y herramientas Software que funciona sobre documentación exhaustiva Colaboración con el cliente sobre negociación de contratos Responder ante el cambio sobre seguimiento de un plan

Manifiesto Ágil Esto es, aunque los elementos a la derecha tienen valor, nosotros valoramos por encima de ellos los que están a la izquierda.

Individuos e interacciones sobre procesos y herramientas Conocimiento Adaptar procesos a las personas Creatividad e innovación

Software que funciona sobre documentación exhaustiva Ver y actuar sobre prototipos Feedback Generar ideas Nuevas posibilidades Documentos < Comunicación Documentos = Barricadas

Colaboración con el cliente sobre negociación de contratos el cliente es un miembro más del equipo se integra y colabora grupo de trabajo. Los modelos de contrato por obra no encajan

Responder ante el cambio sobre seguimiento de un plan Entornos inestables factor inherente el cambio y la evolución más valiosa la capacidad de respuesta

Valores de gestión Ágil Anticipación y la adaptación gestión de proyectos ortodoxa: planificación y control para evitar desviaciones sobre el plan.

Principios ágiles

Conclusiones En software la construcción es tan barata que es casi gratis. En software todo el esfuerzo está en el diseño, de modo que requiere de personas creativas y talentosas. Los procesos creativos no se planean fácilmente, de modo que la previsibilidad bien puede ser una meta imposible. Debemos ser muy cautos al usar la metáfora de la ingeniería tradicional para construir software. Es un tipo diferente de actividad y por ende requiere un proceso diferente.

Programación Extrema Kent Beck, Conjunto de valores, practicas y actividades. Presenta distintos escenarios

Un día en un desarrollo XP Desarroll ar Las Pruebas Diseñar Implement ar Requerimient o de Usuario Correr las Pruebas Integrar Buscar un par

Valores XP Comunicación: Crear software requiere de sistemas comunicados. Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí. Retroalimentacion: Del sistema, del cliente, y del equipo. Valentia: Programa para hoy y no para mañana. Respeto: El equipo debe trabajar como uno, sin hacer desiciones repentinas

Practicas XP Conjunto de practicas: Retroalimentación a escala fina Proceso contínuo en lugar de por lotes Entendimiento compartido Bienestar del programador

Retroalimentación a escala fina Desarrollo Guiado por Pruebas Juego de planificación Cliente presente Programación en pares

Proceso contínuo en lugar de por lotes Integración continua Refactorar sin piedad Liberación pequeña

Entendimiento compartido Diseño simple Metáfora del sistema Propiedad colectiva del código Convenciones del código

Bienestar del programador Paso sostenible

Actividades Básicas Codificar Hacer pruebas Escuchar Diseñar

Artefactos XP Historias del Usuario Tareas de Ingeniería Pruebas de Aceptación Pruebas Unitarias y de Integración Plan de la Entrega Código

Historia de Usuario Observaciones: Descripción: Se introducen los datos del artículo (título, fichero adjunto, resumen, tópicos) y de los autores (nombre, , afiliación). Uno de los autores debe indicarse como autor de contacto. El sistema confirma la correcta recepción del artículo enviando un al autor de contacto con un userid y password para que el autor pueda posteriormente acceder al artículo. Puntos Reales: Riesgo en Desarrollo: (Alto / Medio / Bajo) Puntos Estimados: Prioridad en Negocio: Alta (Alta / Media / Baja) Iteración Asignada: 2 Modificación de Historia Número: Usuario: Autor Nombre: Enviar artículo Número: 1 Historia de Usuario

Tarea de Ingeniería Descripción: Programador responsable: Fecha fin: Fecha inicio: Puntos estimados: Tipo de tarea : Desarrollo / Corrección / Mejora / Otra Nombre tarea: Número historia: Número tarea: Tarea

Prueba de Aceptación Evaluación: Resultado esperado: Entradas: Condiciones de ejecución: Descripción: Nombre Caso de Prueba: Número Historia de Usuario: Número Caso de Prueba: Caso de Prueba

Relación entre practicas

Escenarios en XP

Escenarios en XP : Exploración Priorida d Riesgo Esfuerzo (puntos) Spikes (Bosquejos) Definir Historias de Usuario Elabora r Spikes Historias de Usuario

Planificación de la Entrega Historias de Usuario Primera Iteració n Segunda Iteración Última Iteració n … N-ésima Iteració n Velocidad de Proyecto (VP) puntos/seman a 2 a 3 semana s Entrega <= 3 meses

Comenzar Iteración Historias de la Iteración Definir y ordenar Tareas de Ingenierí a Tareas de la iteración

Programación Pruebas de Aceptación de Historias de la iteración Programación en Parejas Tareas de Historias de la iteración Historias de la Iteración Versión del Producto Diseño Refactoring Programación Pruebas Unitarias Integración Pruebas de Integración Pruebas de Aceptación

Pruebas de Aceptación Definir Pruebas de Aceptación Aplicar Pruebas de Aceptación Corregir errores Definir nuevas Historias

Entorno y clima de trabajo

Herramientas

Xplanner Fitnesse MediaWiki Cruise Control Mantis

Resumen y conclusiones

Comparando Se espera que no ocurran cambios de gran impacto durante el proyectoSe esperan cambios durante el proyecto Basadas en normas provenientes de estándares seguidos por el entorno de desarrolloBasadas en heurísticas provenientes de prácticas de producción de código Énfasis en la definición del proceso: roles, actividades y artefactosÉnfasis en los aspectos humanos: el individuo y el trabajo en equipo Aplicables a proyectos de cualquier tamaño, pero suelen ser especialmente efectivas/usadas en proyectos grandes y con equipos posiblemente dispersosOrientada a proyectos pequeños. Corta duración (o entregas frecuentes), equipos pequeños (< 10 integrantes) y trabajando en el mismo sitio Se promueve que la arquitectura se defina tempranamente en el proyectoLa arquitectura se va definiendo y mejorando a lo largo del proyecto El cliente interactúa con el equipo de desarrollo mediante reunionesCliente es parte del equipo de desarrollo (además in-situ) Existe un contrato prefijadoNo existe un contrato tradicional, debe ser bastante flexible Más Roles, más específicosPocos Roles, más genéricos y flexibles Más Artefactos. El modelado es esencial, mantenimiento de modelosPocos Artefactos. El modelado es prescindible, modelos desechables. Metodología TradicionalMetodología Ágil

¿Cuándo utilizar una Metodología Ágil? ¿Tienes ya un proceso? No o existe pero no reacciona bien a los cambios o existe pero el equipo no está contento con él  Una Metodología Ágil puede ser una buena forma de empezar No involucra gran inversión A los programadores les (suele) gustar A los clientes les ofrece mayor visibilidad y menor riesgo en el proyecto

FIN