1.2 manifiesto ágil - dccia.ua.es€¢ muchas propuestas previas alternativas al modelo de cascada...

13
Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante, 2014-15 1.2 Manifiesto ágil Tema 1: Fundamentos de las metodologías ágiles

Upload: hoangtruc

Post on 16-Apr-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

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

1.2 Manifiesto ágilTema 1: Fundamentos de las metodologías ágiles

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

Manifiesto ágil

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Año: 2001• El manifesto ágil no representa la invención de las metologías ágiles, sino su “presentación en sociedad”

• Muchas propuestas previas alternativas al modelo de cascada• Desarrollo en espiral, 1984• Rapid Aplication Development (RAD), 1991• Rational Unified Process (UP), 1994• Scrum, 1995• Extreme Programming, 1996

• Reunión previa en 2000 en un workshop organizado por Kent Beck para hablar de XP

• En febrero de 2001 un grupo de 17 desarrolladores muy activos en estas nuevas metodologías denominadas ligeras (lightweight) se reunieron en el resort de Snowbird (Utah), convocados por Bob Martin, Martin Fowler y Alistair Cockburn

• La idea inicial era entender mejor los enfoques de cada uno, pero Bob Martin preparó un borrador de documento (manifiesto) que se discutió entre todos. Se acordó el apartado de los “valores” y se encontró un nombre “paraguas” para este conjunto de técnicas: ágiles.

3

Manifiesto ágilMetodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15

Autores

• Kent Beck (Twitter, Web)• Mike Beedle• Arie van Bennekum• Alistair Cockburn (Twitter, Web)• Ward Cunningham (Twitter)• Martin Fowler (Twitter, Web)• James Grenning• Jim Highsmith• Andrew Hunt (Pragmatic Programmer)

• Ron Jeffries (Twitter, Web)• Jon Kern• Brian Marick • Robert C. Martin (Twitter)• Steve Mellor• Ken Schwaber (Scrum.org)• Jeff Sutherland (Scrum.org)• Dave Thomas (Pragmatic Programmer)

4

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Valores, principios y prácticas (1)• Las prácticas tienen sentido en el marco de un conjunto

de valores y principios• Las metodologías ágiles no son dogmáticas, responden a

unos principios y valores que son los que hay que tratar de conseguir

• Si se intenta copiar las prácticas sin aplicar los principios subyacentes se caerá en la repetición vacía y en “rituales ágiles” que son cualquier cosa menos ágiles• Daily scrum zombies (Henrik Kniberg)• Tableros de Kanban con tareas vacías que se eternizan• Un principio fundamental de estas prácticas: mejorar

la transparencia (qué ha hecho quién)• Para que las prácticas sean efectivas, los principios y

valores deben ser compartidos por toda la organización, no sólo por el equipo de desarrollo de software

5

Brodzinski - Values, Principles, Practices

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Valores, principios y prácticas (2)• Los valores y principios son generales y se pueden

aplicar a múltiples situaciones, las prácticas sonconcretas y se aplican en contextos restringidos• Valor: interacción y comunicación• Prácticas: demostración del producto, reuniones diarias,

pair programming

• Tan malo es prácticas sin valores como valores sin prácticas: hay quienes hablan de Ágil (con mayúsculas) como si se tratara de una religión, pero no terminan de aplicar ni definir ninguna práctica

• Para ser un buen jardinero hay que dominar las prácticas de la jardinería (plantar, podar, regar, …) y entender el funcionamiento profundo de un jardín (los valores)

6

Kent Beck - Extreme Programming Explained, 2004

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Los 4 valores del manifiesto ágilValoramos:

1. Individuos e interacciones sobre procesos y herramientas

2.Software que funciona sobre documentación exahustiva

3.Colaboración con el cliente frente a negociación del contrato

4.Responder al cambio frente a seguir un plan

Aunque los ítems de la derecha tienen valor, valoramos más los de la izquierda.

7

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Actividad (15 minutos)• Grupos de 4 personas: repartimos los valores de forma que cada grupo tenga un valor del

manifiesto (pueden estar repetidos). Cada grupo:• Escribe 3 ejemplos de prácticas asociadas a cada uno de los valores• Escribe alguna anécdota o ejemplo concreto del mundo del desarrollo de software en el

que no se haya cumplido el valore

• Puesta en común

8

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Los 12 principios del manifiesto ágil• Los leemos en voz alta, y explicamos lo que entendemos por ese principio, poniendo algún

ejemplo de alguna práctica basada en él

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

9

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Los 12 principios del manifiesto ágil6. The most efficient and effective method of conveying information to and within a

development team is face-to-face conversation.

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity--the art of maximizing the amount of work not done--is essential.

10

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Los 12 principios del manifiesto ágil11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

11

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Actividad• Grupos de 4 personas, cada persona vota en secreto a 4 principios, se suman los votos y se

eligen los 2 principios con más votos

• El portavoz del grupo explica el resultado y las razones

12

Metodologías Ágiles de Desarrollo de SoftwareDomingo Gallardo, DCCIA, Univ. Alicante, 2014-15 Manifiesto ágil

Referencias y bibliografía avanzada• Varios autores - Manifesto for Agile Software Develpment• Martin Fowler - The new methodology• Martin Fowler - Writing the Agile Manifesto• Robert Martin - The Founding of the Agile Alliance• Kent Beck - Extreme Programming Explained Second Edition, cap. 3 y 4• Jeff Sutherland - Agile Principles and Values

13