¿Por qué?
|
|
|
Si no vas a velocidad límite, alguien lo hará y se comerá tu comida
eXtreme Programming
¿Cuándo? ¿Dónde? ¿Quién?
| Comunidad de Smalltalk (GUI, OO+herencia, MVC, patrones, …) | ||
|---|---|---|
Ward Cunningham y Kent Beck |
Kent Beck |
|
Origen, finales de los 80 |
Desarrollo, en los 90 |
Creación, 1993-1997 |
|
|
|
| Primera edición: 2000 | Segunda edición: 2005 |
|---|---|
Hay cambios significativos entre ambas ediciones, que reflejan la evolución de XP y su maduración, incorporando algunas prácticas de otras metodologías |
|
|
|
¿Qué?
Es un método ligero, eficiente, de bajo riesgo, predecible, científica y divertido para que equipos de tamaño mediano a pequeño (de 10 a 2 programadores) desarrollen software frente a requisitos imprecisos y muy cambiantes
eXtreme Programmig
| Conservadora | Niveles extremos | Novedad |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Asegurar todas las practicas tan minuciosamente como sea posible y que las prácticas se apoyan unas a otras en el mayor grado posible |
||
¿Para qué?
|
|
|
| A los programadores | A los clientes y directivos | Al proyecto |
|---|---|---|
|
|
|
Tenemos éxito cuando tengamos un estilo que reúna un conjunto consistente de valores que sirvan tanto a las necesidades humanas como a las comerciales
— Kent Beck
eXtreme programming |
||
¿Cómo?
Roles
| Cliente/Usuario | Gestor | Programadores |
|---|
Un equipo que trabaja de un modo eficiente “como una unidad” puede mejorar la productividad en todas y cada una de las etapas del desarrollo del software |
|
|
|
Clientes/Usuarios |
Gestores |
Programadores |
|
|
|
XP fija el coste y el tiempo y la calidad (siempre alta) y se negocia el alcance entre cliente/usuario y programadores |
||
|
|
|
Actividades
| Escuchar | Probar | Codificar | Diseñar |
|---|---|---|---|
Queremos hacer cualquier cosa que debamos hacer para tener un desarrollo software estable y predecible. Pero no tenemos tiempo para hacer horas extras. Las cuatro actividades básicas del desarrollo son : codificar, probar, escuchar y diseñar
— Kent Beck
eXtreme Programming |
|||
|
|
|
|
| Valores | Principios |
|---|---|
las buenas prácticas no son suficientes por sí mismas, tienen que entenderse bajo un conjunto de valores y principios que permiten al equipo comportarse como una unidad con un objetivo común
— Kent Beck
eXtreme Programming |
|
|
|
| Valores | Principios | Buenas prácticas |
|---|---|---|
|
|
|
Valores
| Sencillez | Comunicación | Realimentación | Coraje | Respeto |
|---|
Sencillez
| KISS, Keep it simple, stupid! | BDUF, Big design up front | YAGNI, You aren’t gonna need it |
|---|---|---|
|
|
|
|
|
|
Comunicación
| Comunicación con el cliente | Comunicación con el equipo | Comunicación técnica |
|---|---|---|
|
||
|
|
|
Realimentación
| Realimentación del sistema | Realimentación del cliente | Realimentación del equipo |
|---|---|---|
|
||
|
|
|
Coraje
|
|
Respeto
|
||
|
|
|
|
||
Principios
De los cuatro valores deducimos una docena de principios básicos para guiar nuestro nuevo estilo
eXtreme Programming
Humanidad |
Economía |
Beneficio mutuo |
Auto-similaridad |
Mejora continua |
Diversidad |
Reflexión |
Flujo |
Oportunidad |
Redundancia |
Fallo |
Calidad |
Baby steps |
Responsabilidad aceptada |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Practicas
Confiaremos en las sinergias entre prácticas sencillas, prácticas que a menudo fueron abandonadas décadas atrás como impracticables o ingenuas
eXtreme Programming
|
|
| Edición 2000 | Edición 2005 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Las prácticas se apoyan entre sí. La debilidad de una se cubre con los puntos fuertes de las otras.
eXtreme Programming
Estrategias de Desarrollo
| - Estándares de Codificación | - El equipo como una unidad |
|---|---|
|
|
| - Propiedad colectiva | - Propiedad compartida del código |
|---|---|
|
|
| - Integración continua | - Integración continua |
|---|---|
|
|
| - Programación por Parejas | - Programa por pares |
|---|---|
|
|
Estrategia de Diseño
| - Diseño sencillo | - Diseño emergente y sencillo |
|---|---|
|
|
| - Refactoring | - Código de calidad |
|---|---|
|
|
| - Metáfora | |
|---|---|
|
Estrategia de Pruebas
| - Hacer Pruebas | - Programación dirigida por pruebas |
|---|---|
|
|
Estrategia de Planificación
| - Usa radiadores de información | |
|---|---|
|
| - 40 horas semanales | - Trabaja las horas razonables para ser productivo |
|---|---|
|
|
Sintesis
Bibliografía
| Obra, Autor y Editor | Portada | Obra, Autor y Editor | Portada |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ponente
|
|
|
















