introducción a la asignatura mads-1 - dccia.ua.es · • fundamentos de kanban: visualización,...

18
Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante Introducción a la asignatura MADS-1.0 Sesión 1

Upload: duongque

Post on 18-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Introducción a la asignaturaMADS-1.0Sesión 1

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Datos de la asignatura

• Grado en Ingeniería Informática (4º curso)• Especialidad: Ingeniería del Software• Ficha de la asignatura• Departamento de Ciencia de la Computación e Inteligencia Artificial• Optativa, 6 créditos ECTS = 150 h. de trabajo

• Cada semana: 4 h. de clases presenciales + 5 h. de trabajo en casa• ~7,5 h. de estudio para cada parcial

• Contenidos según el plan de estudios: “Principios y prácticas ágiles. Historias de usuario. Modelado ágil. Integraciones continuas. Desarrollo dirigido por las pruebas. Ejemplos de metodologías ágiles: Programación extrema, Scrum, UP. Lenguajes y entornos de programación ágiles.”

Profesor: Domingo Gallardoe-mail: [email protected]: @domingogallardo

2

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

¿Qué sabéis de metodologías ágiles?

• ¿Conceptos aprendidos en otras asignaturas?• ¿Experiencia, trabajo, prácticas en empresa?• ¿Lenguajes y frameworks ágiles?• ¿Herramientas de integración y entrega continua?

3

Metodologías Ágiles de Desarrollo de Software, 2013-14Domingo Gallardo, DCCIA, Universidad de Alicante

Temario de teoría

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 1: Valores y principios ágiles

2 semanas

• Desarrollo del software, características y modelos, aceptación del cambio

• Manifiesto ágil, repercusión del manifiesto en las metodologías de desarrollo

• Orígenes y fundamentos de las metodologías ágiles

• Valores y prácticas XP

5

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 2: Metodologías ágiles: Scrum y Kanban (I)

2 semanas

• Repaso de la metodología Scrum• Fundamentos de Kanban:

visualización, ítems de trabajo, trabajo en progreso, flujo, mejora continua, límite en el WIP

• Kanban vs. Scrum

6

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 3: Modelado ágil

1 semana

• Principios y prácticas de modelado ágil

• Técnicas iterativas de modelado y documentación

• Técnicas de ORM• NoSQL: Bases de datos no

relacionales

7

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 4: Desarrollo Dirigido por los Tests y Pruebas ágiles

2 semanas

• Repaso del Desarrollo Dirigido por los Tests: filosofía, herramientas

• Principios y prácticas de pruebas ágiles

• Pruebas en las distintas fases de un proyecto ágil

8

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 5: Integración y entrega continua

2 semanas

• Principios de la entrega continua de software

• Gestión de configuraciones, sistemas de control de versiones distribuidos

• Herramientas de integración continua, scripts de construcción y despliegue, infraestructura y entornos de integración, cloud

9

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 6: Historias de usuario

1 semana

• Características de buenas historias de usuario

• Tests de aceptación• Historias de usuario en Scrum y

Kanban

10

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Tema 7: Metodologías ágiles: Scrum y Kanban (II)

2 semanas

• Estimación y planificación ágil• Kanban: evaluación, métricas• Integración de Scrum y Kanban• Estrategias para el cambio: cómo

pasar de no ágil a ágil

11

Metodologías Ágiles de Desarrollo de Software, 2013-14Domingo Gallardo, DCCIA, Universidad de Alicante

Prácticas

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Play Framework

• Framework de desarrollo rápido de aplicaciones web• Basado en Scala (también hay versión Java)• Arquitectura basada en acciones que responden a peticiones HTTP y

generan vistas basadas en plantillas• Modelo de datos y acceso a BD con Anorm (Scala)• Integra la gestión de dependencias usando sbt (similar a Maven)• Desarrollado y mantenido por TypeSafe• Otras herramientas: Git, Bitbucket, Heroku

13

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Temas y prácticas

• Tema 1: Play Framework en Scala (4 semanas, 2 prácticas)• Tema 2: Prácticas de Modelado ágil (2 semanas, 1 práctica)• Tema 3: Prácticas de TDD y Pruebas ágiles (2 semanas, 1 práctica)• Tema 4: Prácticas de entrega continua (2 semanas, 1 práctica)• Tema 5: Caso práctico de desarrollo de un proyecto (4 semanas, 1

práctica)

• Total: 5 prácticas individuales (10 semanas) y 1 práctica en grupo (4 semanas)

14

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Evaluación

• Prácticas 1 a 5 (individuales): 20 % (No recuperable julio)• Práctica en grupo: 10 % (No recuperable julio)• Parcial 1 de teoría (temas 1, 2 y 3): 20 % • Parcial 1 de prácticas (temas 1 y 2): 10 %• Parcial 2 de teoría (temas 4, 5, 6 y 7): 30 %• Parcial 2 de prácticas (temas 3, 4 y 5): 10 %

15

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

Bibliografía

• Lecturas obligatorias en todos los temas

• Manuales básicos sobre metodologías ágiles, Scrum, XP y Kanban:• Henrik Kniberg: Scrum and XP from the Trenches• Henrik Kniberg: Lean from the Trenches• David J. Anderson: Kanban

• Bibliografía de ampliación:• Kent Beck: Extreme Programming Explained (2 Edición)• Kent Beck: Test Driven Development• Scott Ambler: Agile Modeling• Mike Cohn: User Stories Applied• Mike Cohn: Succeeding with Agile• Kenneth S. Rubin: Essential Scrum• Jez Humble y David Farley: Continuous delivery• Lisa Crispin: Agile Testing

16

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante

MADS-1.0Primer año de la asignatura

• Seguro que va a haber fallos• Todos estamos aquí para aprender, vamos a intentar mejorar la

asignatura entre todos• “Perfection is a direction, not a place”, Henrik Kniberg• El mejor proceso es el que promueve la mejora continua

17

Metodologías Ágiles de Desarrollo de Software, 2013-14Domingo Gallardo, DCCIA, Universidad de Alicante

Empecemos jugando(ver transparencias Sesión 1b)