2. Objetivo:
El objetivo principal es que un equipo de desarrollo pueda producir
software de mejor calidad, de forma constante, y a su vez busca
promover una buena calidad de vida para el equipo de trabajo.
“No soy un programado; solo soy un buen programador con buenos
hábitos”.
– Kent Beck.
3. Esta, es una metodología ágil y flexible utilizada para la
gestión de proyectos. Se centra en potenciar las
relaciones interpersonales del equipo de desarrollo como
clave del éxito y mediante el trabajo en equipo, el
aprendizaje continuo y el buen clima de trabajo
4. Características:
Metodología basada en prueba y error para tener un software que funcione
realmente.
Fundamentada en principios.
Está orientado hacia quien produce y usa software (El cliente participa muy
activamente).
Reduce el costo del cambio. En todas las etapas del ciclo del vida del sistema.
Cambia las que han demostrado ser las mejores practicas para el desarrollo del
software y las lleva al extremo.
Cliente bien definido.
Los requisitos pueden cambiar.
Grupo pequeño y muy bien integrado de 2 a 12 personas.
Grupo con formación elevada y capacidad para aprender.
5. Roles:
Cliente: responsable de definir y conducir el proyecto así
como sus objetivos.
Programadores: estiman tiempos de desarrollo de cada
actividad y programan el proyecto.
Tester: Encargado de Pruebas.
Tracker: Encargado de Seguimiento.
Coach: Entrenador. Su papel es guiar y orientar al equipo.
Big Boss: Gestor del proyecto, gerente del proyecto, debe
tener una idea general del proyecto y estar familiarizado con
su estado.
6.
7. Planificación:
Historias de usuarios, valores, criterios de prueba de adaptación, plan de
iteración.
Una historia de usuario es una explicación general e informal de una función de
software escrita desde la perspectiva del usuario final o cliente. El propósito de
una historia de usuario es articular cómo un elemento de trabajo entregará un
valor particular al cliente.
(Levantamiento de requerimientos)
8. Diseño:
se trabaja con un código sencillo, realizando lo mínimo
necesario para que funcione, se obtiene el prototipo. Luego para
el diseño del software si va orientado a objetos se generan
tarjetas CRC (Clase-Responsabilidad-Colaboración).
9. Codificación:
se hace a dos manos, es decir en parejas frente al mismo
ordenador, en algunos casos se intercambian las parejas, para
asegurar que el código sea más universal, de forma que
cualquier otro trabajador pueda trabajar en el y entenderlo.
Debe parecer que fue hecho por una sola persona, para que se
obtenga una programación organizada y planificada.
10. Pruebas:
deben ser automáticas y continuas, esto es clave para
proyectos a corto plazo. Incluso el mismo cliente puede hacer
pruebas, proponer pruebas nuevas y validar las mini
versiones.
11. Lanzamiento:
si se llega a este punto es porque se han probado todas las
historias de usuario o mini versiones y han tenido éxito,
ajustándose a los requerimientos del cliente. Generando un
software útil y que puede incorporarse en el producto.