¿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
|
|
|