Desarrollo de software innovador con métodos ágiles

Slides:



Advertisements
Presentaciones similares
¿De qué vamos a hablar hoy? Estrategia ágil vs. estrategia tradicional Scrum: ciclo de proyecto, roles Planificación ágil Seguimiento de un proyecto.
Advertisements

Scrum Juan Palacio Bañeres.
Administrado y desarrollado utilizando Scrum
Aplicación de la metodología ágil “Scrum”
Presentación Inicial Grupo 3 Fondato, Rodrigo Cieri, Juan Cristian
Scrum Master: Gabriel Bongianino
DISEÑO ORIENTADO AL OBJETO
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.
UNIVERSITARIO: DOCENTE Federman Correa Oviedo Ing. JORGE OSPINA
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Metodología de Trabajo Aperio: SCRUM Aperio Inducción
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.
IMPLANTACIÓN DE HERRAMIENTAS DE EVALUACIÓN EN LA PLATAFORMA VIRTUAL MOODLE DE LA ESPE EXTENSIÓN LATACUNGA.   Autores: Barrionuevo Lozada Carlos H. Director:
MARCO METODOLOGICO.
Una Introducción a Scrum
Alexis Masson Nicolás Fetter
Sistema de Administración de Subastas Inversas
Taller de Desarrollo de Proyectos II 2do cuatrimestre 2010
CheckIn4Android.
Modelo de Desarrollo XP
Ingeniería de Software Procesos Ágiles - SCRUM
PROCESO O REUNIONES EN SCRUM BENEFICIOS DE UTILIZAR SCRUM
4/14/2015Teoría y Métodos de la Ingeniería de Software 1 COSAS QUE SIEMPRE HACEMOS: LOS ESPACIOS DE ACTIVIDAD Carlos Mario Zapata J.
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Programación Extrema eXtreme Programming (XP)
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Metodologías Ágiles - Scrum
Por: Niels Amador Cerda
 1. Presentación Marta Padilla  2. Scrum Master en una multinacional europea  3. Scrum Master: Análisis de pros y contras  4. Scrum Master: Trucos.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Scrum Images goes here …y prácticas ágiles para desarrollo de software.
El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
Scrum - Product Owner y Planificación Juan Gabardini Facultad de Ingeniería – UBA1er Cuatrimestre 2008 jgabardini bip computer bip org.
Entornos de Desarrollo
Aplicación de metodología ágil SCRUM software de consultas de resultados de la “Carrera Nacional de Carros”
Junio I Jornadas de trabajo META Subproyecto METAMETHOD - Soporte a la Especificación de Metodologías de Desarrollo mediante Técnicas MDD -
Tema 1: Introducción al análisis y diseño de aplicaciones software
EDUAR 2.0 Sistema de Explotación de Información Educativa 10/05/2011.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
2.- Planificación Básica DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Programación Extrema Leonardo Ramírez Z.. Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso.
Implementando Scrum ALM Sessions ’12 #almsessions12
Ingeniería de Software
Diseño E Implementación En Delphi Del Caso De Posicionamiento 2D
UNIVERSITARIO: DAVID MAMANI EL ALTO – LA PAZ – BOLIVIA 2009 CARRERA: ING. DE SISTEMAS MATERIA: INGENIERIA DE SOFTWARE.
Gestión Ágil de Proyectos Colaborador: Anónimo
Scrum Una Alternativa Ágil para el desarrollo de Software
1 Motor de Generación de Formularios para Infocorp Presentación del Proceso.
Introducción al proceso de verificación y validación.
 Capacidad para adaptar el curso del desarrollo a la evolución de los requisitos y a las circunstancias del entorno de los proyectos.
Republica Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Universidad Gran Mariscal De Ayacucho Cátedra: Dirección De Operaciones.
F ÉLIX FLORES F ERNÁNDEZ -- L ÍDER -- P RUEBA Y ESENIA G UTIÉRREZ R ODRÍGUEZ – A NALISTA S IRENIA F ERNÁNDEZ P ERIAÑEZ – D ISEÑADORA A LONSO M ONTIEL J.
NOTIFICANDOTE Fernando Figueroa Daniel Labra. INTRODUCCIÓN La comunicación no sería posible si no se tuvieran las herramientas para comunicarse, en donde.
Taller de desarrollo de proyectos II Presentación Inicial.
Taller de Desarrollo de Proyectos II Taller de Desarrollo de Proyectos II.
Scrum Ciclo Profesor: Ing. José Díaz
CURSO DE SCRUM Y METODOS AGILES 13 y 14 de octubre, 2015 Sala Mercado Hotel Four Points – Sheraton Montevideo, Uruguay Docentes:Fernando Guigou Gabriel.
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Metodologías de Programación II UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 1 3 Clase Clase 6 Scrum (Parte 2)
Ingeniería de Software Facultad de Ingeniería Septiembre 2010 Fernando Alsuyet Ariel Illio Matias Baldini.
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
Clase 7 Kanban y Scrumban.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Scrum: Mejorando las prácticas Anabel Ruth Berenstein Año 2012.
Sistemas de calidad en el desarrollo de software.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Metodologías de Desarrollo Ágil
Transcripción de la presentación:

Desarrollo de software innovador con métodos ágiles

Desarrollo de software tradicional (en cascada) Definir requerimientos de clientes, dirección y alcance del Producto Investigar, definir visión del Producto Planificación Vender el producto y darle soporte Obtener feedback de los clientes http://ww Diseño Release Diseñar del Producto Escribir especificaciones técnicas detalladas, definir fechas para las siguientes fases “Crear” el producto Programación Corregir bugs Preparar el producto para su release Implementación Estabilización Desarrollo de software tradicional (en cascada)

La mayoría de los proyectos de desarrollo de software son COMPLEJOS . . . Fuente: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Lejos de Acuerdo Anarquía Complejo Requerimientos the vertical axis traces requirements complexity, and the horizontal axis traces technology complexity. The third dimension of complexity is the people developing the software. They all have different skills, intelligence levels, experience, viewpoints, attitudes, and prejudices. I believe that the last “simple” project occurred in 1969, when one person from order processing at Sears Roebuck asked me to sort some cards and generate a report on an IBM 360/20. Since then, things have only gotten messier. Scrum addresses the complexity of software development projects by implementing the inspection, adaptation, and visibility requirements of empirical process control with a set of simple practices and rules Complicado Simple Cerca de Acuerdo Tecnología utilizada Cerca de Certeza Lejos de Certeza

. . . y las personas contribuimos a que esa complejidad aumente. Lejos de Acuerdo Requerimientos Cerca de Acuerdo Tecnología utilizada Cerca de Certeza Lejos de Certeza Seres Humanos

Experiencia, observación, experimentación Podemos adoptar con éxito un modelo pre-definido para controlar un proceso cuando entendemos bien los mecanismos subyacentes de ese proceso Pero el proceso de desarrollar software innovador es muy complejo y generalmente desconocido al comienzo de los proyectos “. . . cuando un proceso es muy complejo, la mejor elección es aplicar conceptos y controles empíricos. “ Fuente: B. A. Ogunnaike and W. H. Ray, Process Dynamics, Modeling, and Control Experiencia, observación, experimentación

Control Empírico de Procesos Visibilidad Inspección Adaptación Control Empírico de Procesos

Control Empírico de Procesos Visibilidad Inspección Adaptación Ejemplo: Code Review Se hacen ajustes según los comentarios recibidos Codificadores experimentados revisan Control Empírico de Procesos Varios programadores codifican, conociendo los estándares de la industria

Manifiesto Agil Individuos e interacción Software en funcionamiento Mas que procesos y herramientas Software en funcionamiento Mas que documentación Colaboración con y del Cliente Mas que negociación de contrato Responder al cambio Mas que seguir un plan

Scrum Scrum es un proceso ágil que nos permite centrarnos en ofrecer el más alto valor de negocio en el menor tiempo. Nos permite rápidamente y en repetidas ocasiones inspeccionar software real de trabajo (cada dos semanas o un mes). El negocio fija las prioridades. Los equipos se auto-organizan a fin de determinar la mejor manera de entregar las funcionalidades de más alta prioridad. Cada dos semanas o un mes, cualquiera puede ver el software real funcionando y decidir si liberarlo o seguir mejorandolo en otro sprint.

Características de Scrum Equipos auto-organizados El producto avanza en una serie de “Sprints" de dos semanas a un mes de duración No hay prácticas de ingeniería prescritas Pero sí reglas (pocas y muy claras) que se aplican con férrea disciplina Existe una lista priorizada de requerimientos (“Product Backlog”) Formato de user stories Ordenados por valor de negocios El “Team” define el cómo y estima los tiempos

Roles Product Owner ScrumMaster Team

Product Owner Define las funcionalidades del producto Decide sobre las fechas y contenidos de los releases Es responsable por la rentabilidad del producto (ROI) Prioriza funcionalidades de acuerdo al valor del mercado/negocio Ajusta funcionalidades y prioridades en cada iteración si es necesario 

ScrumMaster Representa a la gestión del proyecto Responsable de promover los valores y prácticas de Scrum Remueve impedimentos Se asegura de que el equipo es completamente funcional y productivo Permite la estrecha cooperación en todos los roles y funciones Escudo del equipo de interferencias externas

Team Típicamente de 5 a 9 personas Multi-funcional: Programadores, testers, analistas, diseñadores, etc. Integrantes full-time Puede haber excepciones Los equipos son auto-organizativos Idealmente, no existen títulos pero a veces se utilizan de acuerdo a la organización

Reuniones Planificación del Sprint Stand-up meeting (Daily Scrum) Qué hice ayer / Qué voy a hacer hoy / Impedimentos Sprint Demo (Review) Sprint Retrospective

Fuente: www.mountaingoatsoftware.com/scrum

Principios de Lean Software Development Eliminar el derroche Ampliar el Aprendizaje Retrasar los compromisos Liberar Rápido Facultar al equipo Construir Integridad Intrínseca Pensar en el todo

Trabajo práctico de métodos ágiles a) Investigar en Internet acerca de los siguientes métodos ágiles de desarrollo de software: Peer Programming (Programación de a pares) XP – Extreme Programming TDD – Test-Driven Development BDD – Business-Driven Development Kanban b) Para cada método ágil mencionado escribir una definición breve que permita explicarlo a otra persona en 2 minutos Test del elevador c) Elegir uno de los métodos y explicarlo a través de un dibujo, diagrama, infografía, foto, collage de imágenes, o similar.