Taller de Metodologas giles de Desarrollo de Software CC62V - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Taller de Metodologas giles de Desarrollo de Software CC62V

Description:

Due o de una empresa de multimedia (QEPD) (1998-2001) ... Obteniendo retroalimentaci n exacta y precisa del avance de un proyecto ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 29
Provided by: Admin659
Category:

less

Transcript and Presenter's Notes

Title: Taller de Metodologas giles de Desarrollo de Software CC62V


1
Taller de Metodologías Ágiles de Desarrollo de
SoftwareCC62V
  • 1ª y 2ª Sesiones Motivación del
    cursoFundamentos de XP
  • Agustín Villena M.
  • avillena_at_acm.org

2
Quién soy
  • Ex-alumno del DCC
  • Titulado en 1998
  • Dueño de una empresa de multimedia (QEPD)
    (1998-2001)
  • Líder de un proyecto de Informática Educativa,
    apoyado por la Incubadora AccessNova

3
Quién soyExperiencia Profesional
  • Sistema CERTIFICA DICTUC (1998-2000)
    Arquitecto del sistema y desarrollador
  • CD VTR Banda Ancha
  • CD CEPECH PAA2000 Creador y desarrollador
  • Asesor organizacional
  • Fundación Hogar Catequístico
  • Corporación de Educación de San Bernardo
  • Tutor de Proyecto de Software (CC61A)

4
Objetivos del Curso
  • General
  • Evaluar en la práctica metodologías ágiles de
    desarrollo de software, en particular la
    metodología Extreme Programming (XP)
  • Específicos
  • Identificar los conceptos en los que se basan
    dichas metodologías
  • Experimentar la metodología XP a través del
    desarrollo de un software
  • Evaluar las distintas prácticas y reglas
    promovidas por XP, según se efectividad y
    pertinencia a la realidad nacional

5
Reglas del juego
  • Se evaluarán 3 aspectos
  • Desarrollo realizado (50)
  • Proceso (20)
  • Cumplimiento de tareas asumidas
  • Co-evaluación
  • Experimental Investigar y evaluar los valores y
    prácticas XP (30)
  • Papers mensuales, individuales, con opinión
    personal
  • Presentación final, grupal
  • Todos los aspectos deben tener nota gt 4.0

6
Motivación
  • Problemas comunes al desarrollar software?...
  • Caos
  • Falta de un método sistemático de trabajo, que se
    sigue a veces
  • La dura realidad Code like hell
  • Una solución UML y el Rational Unified Process
    (RUP), CMM.
  • Completísimo y apoyado por muchas herramientas
  • Tan grande, que nadie lo usa completamente ?
  • Y si además tengo pocos recursos? Y necesito el
    trabajo para sobrevivir?
  • Puedo gastar tiempo en documentar más allá de lo
    necesario?
  • Las herramientas, pueden ser más importantes que
    el objetivo

7
Fundamentos de XP
  • Problema fundamental del desarrollo del software
  • Lidiar con el Riesgo
  • Causa del Riesgo?
  • La incertidumbre
  • La única certeza?
  • El cambio

8
Fundamentos de XPCómo disminuir la incertidumbre
  • Obteniendo retroalimentación exacta y precisa del
    avance de un proyecto
  • Invirtiendo los menos recursos posibles al
    comienzo
  • Ofreciendo la oportunidad de ir más rápido
  • Permitiendo cambiar drásticamente los
    requerimientos

9
Fundamentos de XPLas variables de todo proyecto
de software
  • Tiempo, Costo, Alcance, Calidad
  • Por lo regular se fijan las 3 primeras variables
  • Hazme un administrador de estas tablas de la
    base de datos, en una semana, con dos
    programadores
  • Entonces la variable que sufre es la calidad
  • Pero la calidad no es algo realmente negociable
    (A quién le gusta hacer un mal trabajo?)
  • Y si lo variable fuera el Alcance?

10
Fundamentos de XPLos costos del cambio en el
alcance de un proyecto de software
Y si fuera así?
  • Visión tradicional

11
Fundamentos de XPCómo aplanar la curva de costos
  • No sucede mágicamente
  • Hay tecnologías que son más amigables con el
    cambio
  • Programación Orientada a Objetos
  • Bases de Datos Orientadas a Objetos
  • Pero la tecnología sola no sirve
  • Prácticas útiles
  • Un diseño simple del sistema, sin áreas
    desiertas (código que no se usa)
  • Un sistema automático de Pruebas
  • Permite hacer cambios y comprobar la coherencia
    del sistema
  • Mucha práctica en cambiar diseños de sistemas

12
Fundamentos de XPEl valor entregado del proyecto
en su tiempo de desarrollo
Y si fuera así?
  • Tradicionalmente

13
Fundamentos de XPEl valor entregado del proyecto
en su tiempo de desarrollo (cont)
  • Ventajas de la nueva curva
  • El sistema tiene una utilidad promedio superior
  • Al fin de cada iteración del desarrollo, se tiene
    un sistema funcional y útil
  • Cómo se logra?
  • El cliente decide qué funcionalidad se implementa
    primero, según su valor
  • El desarrollo se realiza en incrementos pequeños
  • Continuamente se integran los cambios en el
    sistema

14
Fundamentos de XPPero esta innovación exige
valores comunes
  • Valores Comunes son los que permiten que las
    personas trabajen por el beneficio común antes
    que el propio
  • Y en definitiva, el desarrollo de software es una
    actividad humana
  • Es afectada por la motivación, creencias y los
    instintos de las personas

15
Fundamentos de XPValores de XP
16
Fundamentos de XPY esta da origen a prácticas
  • 12 en total para las actividades
  • Planificación
  • Codificación
  • Diseño
  • Prueba
  • Algunas de las más destacadas
  • Programación de a pares
  • Entregas incrementales de software
  • Diseño a partir de pruebas
  • Refactorización de código
  • Propiedad colectiva de las fuentes del proyecto

17
Prácticas de XP
18
Cómo funciona XP
Plan de Entregas con Historias de Usuario
Reunión de Planificación de Entregas
Escribir código y Pruebas de Módulos
Refactorizar la iteración previa
El Cliente selecciona la lista de historias para
la iteración / mini-entrega
Pruebas de Aceptación
  • Mantenerse iterando para pasar las Pruebas de
    Aceptación
  • Pruebas de sistema (Bugs)
  • Pruebas de Módulos
  • Pruebas de usuario

Aprobación del cliente
Pruebas de aceptaciónOK?
Entregas pequeñas al cliente
19
Actores del desarrollo XP
  • Se abstraen las individualidades en dos bandos
  • Clientes (Bussiness)
  • Desarrolladores (Development)
  • Cada cual posee derechos y deberes

20
Actores del desarrollo XPDerechos del Cliente
  • Tiene el derecho y el deber de
  • Decidir qué será implementado (Alcance del
    proyecto), definiendo la prioridad, composiciones
    y fechas de las entregas
  • Siempre saber el estado actual y el progreso del
    proyecto.
  • Agregar, cambiar y remover requerimientos en
    cualquier momento.
  • Obtener el mayor valor de cada semana de
    desarrollo.
  • Tener un sistema funcional cada 3 o 4 meses
  • OJO La tecnología es una decisión del cliente

21
Actores del desarrollo XPDerechos del
Desarrollador
  • Tiene el derecho y el deber de
  • Decidir cómo se implementarán las cosas
  • Crear sistemas con la más alta calidad posible
  • Consultar al cliente aclaraciones a los
    requerimientos en cualquier momento
  • Estimar el el esfuerzo de implementar un sistema,
    y cambiar las estimaciones basado en nuevos
    descubrimientos
  • Definir las consecuencias técnicas de una
    decisión del cliente

22
Gestión de un proyecto XP
  • Cómo alcanzar el justo medio entre?
  • Gestión centralizada
  • Caos
  • Se definen dos roles
  • Coach (Entrenador)
  • Tracker (Medidor de avance)
  • pueden ser cumplidos por la misma persona

23
Rol del Entrenador
  • Ayudar al resto a hacer un trabajo aún mejor
  • Que todos tomen buenas decisiones
  • Estar disponible para ser socio de desarrollo (en
    especial de los novicios)
  • Vislumbrar objetivos de refactorización de gran
    escala, y promover las refactorizaciones pequeñas
    que ayuden
  • Ayudar a los programadores con destrezas
    individuales
  • Testing,
  • formateo de código
  • refactorización
  • Explicar el proceso a gerentes de mayor nivel
  • Proveer de juguetes y comida ?

24
Rol del Medidor de Avance
  • Usar métricas para medir el avance del proyecto
    (solo las indispensables)
  • Por ejemplo Tiempo de desarrollo / Tiempo
    calendario
  • Actualizarlas 2 vesce por semana máximo
  • Mostrar los valores en una Carta Grande y Visible
    para todo el equipo
  • Ayudar al Entrenador a
  • Motivar al cambio de una manera gentil y no
    coercitiva

25
Cómo interviene la gestión un proyecto XP
  • Es importante reaccionar ante los problemas
    apenas aparecen
  • Se reflexiona acerca de qué provoco el problema
  • Si hay que tomar medidas impopulares, hacerlo
    firme pero humildemente
  • Ejemplos de intervención
  • Cambios de personal
  • En las estrategias de desarrollo
  • Matar el proyecto

26
Primera Tarea
  • Ir a www.extremeprogramming.org/rules.html
  • Escoger una de las 12 prácticas.
  • Preparar una presentación SIMPLE
  • En qué consiste?
  • Fortalezas de la práctica
  • Debilidades de la práctica
  • La opiniones bien argumentadas son bievenidas
  • Inscribir en cc62v_at_dcc.uchile.cl qué práctica se
    desea exponer al curso. Ver disponibilidad en
    www.dcc.uchile.cl/cc62v
  • Las exposiciones se realizarán desde la semana
    próxima (jueves 8). 4 por clase

27
(Algunos) RecursosEnlaces de Internet
  • www.extremeprogramming.org
  • www.xprogramming.com
  • www.pairprogramming.com
  • rolemodelsoft.com/XP/index.htmpairProgrammingDotC
    om
  • www.xp123.com/xplor
  • www.xpuniverse.com/pastXpu
  • www.refactoring.com

28
(Algunos) RecursosBibliografía
  • Extreme Programming Explained Embrace
    ChangeKent Beck
  • Extreme Programming Installedby Ron Jeffries,
    Ann Anderson, Chet Hendrickson
  • Extreme Programming Applied Playing to Winby
    Ken Auer and Roy Miller
  • Extreme Programming in Practiceby Robert C.
    Martin, James W. Newkirk
Write a Comment
User Comments (0)
About PowerShow.com