2. Programación Extrema(XP)
La programación extrema(XP) es una
metodología de desarrollo de software,
la cual pertenece al grupo de
metodologías de procesos agiles.
A diferencia de las metodologías
tradicionales, XP es una metodología
capaz de adaptarse a los cambios en el
desarrollo de software.
3. XP parte del hecho de que los cambios
en los requisitos de un proyecto en
construcción son algo natural e
inevitable.
4. Características
Desarrollo iterativo e incremental
◦ Entregas parciales del proyecto.
◦ Mejoras una tras otra.
Pruebas unitarias continuas
◦ Las pruebas ayudan a mejorar la calidad
del producto.
◦ Las pruebas deben de ser escritas antes
de la codificación.
5. Desarrollo en parejas
◦ Se recomienda que los equipos de
trabajo sean conformados por 2
personas, ya que de esta manera es
posible discutir el código mientras se
escribe y ejecutar las pruebas unitarias
en tiempo real.
Integración Cliente-Equipo de
desarrollo
6. Refactorización de código
◦ Se debe de crear código mas compacto que
permita aumentar su legibilidad y mantenga
su mismo comportamiento.
◦ Las pruebas unitarias son una forma de
comprobar que durante la refactorización de
código no se introdujeron errores.
Corrección de errores
◦ Se deben de corregir todos los errores antes
de comenzar a construir una nueva
funcionalidad.
7. Código compartido
◦ Promueve que cualquier miembro del
equipo de desarrollo pueda extender o
corregir cualquier parte modular del
proyecto.
Simplicidad en el código
◦ Es mas sencillo hacer algo simple que
requiera un poco de trabajo extra para
cambiarlo en caso de ser necesario, que
realizar algo complicado y quizás nunca
8. Valores XP
XP se fundamenta en 5 valores para su
implementación.
Comunicación Retroalimentación
Coraje Respeto
Simplicidad
9. Simplicidad
El diseño debe ser sencillo para
agilizar su desarrollo y mantenimiento.
El código debe de ser
refactorizado/reducido.
El código debe de ser documentado.
10. Comunicación
El contacto con el cliente es lo mas
importante.
El cliente pasa a formar parte del
equipo de desarrollo.
Los desarrolladores se comunican
constantemente al estar trabajando en
parejas.
Para los desarrolladores el código
comunica mejor cuando mas simple y
claro sea.
11. Retroalimentación
El cliente al estar formando parte del
equipo, es capaz de dar su opinión
sobre el estado del proyecto en
tiempo real.
Al realizarse entregas parciales del
proyecto, se minimiza el problema de
tener que rehacer partes que no
cumplan con los requerimientos.
12. Coraje
El coraje permite a los desarrolladores
afrontar los cambios en las
tecnologías y requerimientos.
El desarrollador debe de estar
consiente de que su código puede
llegar a ser reconstruido en caso de
ser necesario.
13. Respeto
Debe de existir respeto mutuo entre
los miembros del equipo.
Los miembros del equipo deben de
respetar el trabajo del resto, no
haciendo menos a otros.
Un buen autoestima en el equipo
fomenta una mejor productividad.
15. Historias de usuario
Es la representación de un requerimiento
del usuario escrito en 1 o 2 frases
utilizando el lenguaje común del usuario.
Son una forma rápida de administrar los
requerimientos de los usuarios, evitando
tener que generar gran cantidad de
documentos formales que requieran de
mayor tiempo para administrarlos.
Deben de ser escritas por los clientes*.
16. Una historia de usuario debe de ser:
Independiente
Negociable
Valorada por el cliente
Estimable
Pequeña
Verificable
17. Tarjetas CRC
Las tarjetas CRC(Clase-
Responsabilidad-Colaborador) son
documentos que representan las
responsabilidades que tiene una clase
y que objetos colaboran con ella para
cumplir las responsabilidades.