Professional Documents
Culture Documents
eXtreme Programming
Indice
Por qu XP? Qu es XP?, principios y practicas Relacin con otros mtodos giles Evolucin Importancia de profesionalidad y mtodo Quiero saber ms! frente a un framework o tecnologa pasajera.
Esto te puede cambiar la vida, profesional claro. No es ninguna exageracin. A mi me la ha cambiado, para mejor obviamente!.
Alfredo Casado Bernardez
eXtreme Programming
Waterfall
No funcionan: - demasiada documentacin - demasiada burocracia. - separacin de roles. gestores, arquitectos, programadores, testers, operaciones/sistemas... - rigidez, el cambio es un problema. - ciclo en cascada claramente no sirve.
eXtreme Programming
Waterfall
No funcionan: - demasiada documentacin - demasiada burocracia. - separacin de roles. gestores, arquitectos, Alfredo Casado Bernardez programadores, testers, operaciones/sistemas... - rigidez, el cambio es un problema. - ciclo en cascada claramente no sir ve.
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
eXtreme Programming
Waterfall
Consecuencias, dos posibilidades: - Organizaciones grandes intentan seguir mtodos clasicos, el resultado son desarrollos que no satisfacen a nadie. - Organizaciones ms pequeas que no pueden permitirse el gasto optan por no seguir estas metodologias. El resultado es ASM/caos que de nuevo no deja satisfecho a nadie. Y lo peor no es esto, lo peor es cuando hay que hacer cambios!!
eXtreme Programming
projects] Mucho tiempo isn'tla primera versin -> se, because una hasta change, per primera versin en change is semana, dos como mucho.to happen; the problem, rather, going is the con el cambio, topromueve with change inability xp cope el cambio. El XP no slo es permisiva when it comes." cambio como beneficio no como problema.
Si usamos XP lo hacemos para producir soft ware que sirva mejor a las necesidades de nuestros clientes, nunca perder esto de vista, este es el objetivo.
eXtreme Programming
Valores, simplicidad
El mayor enemigo de cualquier sistema soft ware es la complejidad. en XP mantener las cosas simples es un objetivo prioritario. Diseo simple de kent beck: - pasan los test. - cdigo revela sus intenciones. - eliminar TODA duplicacin. - reducir el nmero de elementos.
eXtreme Programming
eXtreme Programming
eXtreme Programming
eXtreme Programming
Wellfare
Sustainable Pace
eXtreme Programming
Whole team
El equipo cuena con todas las habilidades necesarias para cumplir con su trabajo. El cliente forma parte del equipo de trabajo. Punto ms polmico sin duda de xp (junto con PP quiza). En scrum se relaja un poco, el clienete o product owner en terminologa scrum puede ser el propio cliente o un proxy de este (algo as como un analista funcional o alguien de nuestra empresa cuyo trabajo sea representar la posicin del cliente). KB es ms radical, si el cliente no quiere cederme a uno de sus trabajadores para que el proyecto pueda avanzar entonces no le interesa lo suficiente el proyecto, y en consecuencia a mi tampoco. (con dos cojo...)
Alfredo Casado Bernardez
eXtreme Programming
eXtreme Programming
eXtreme Programming
pair programming
Ya tenemos la planificacin de lo que vamos ha hacer y una metfora para construir la arquitectura. El siguiente paso es ponernos ha hacer el trabajo, pero eso si, no nos ponemos solos!. Cuatro ojos ven ms que dos. PP es revisin de cdigo llevado al extremo. Prctica polemica pero que da grandes resultados en algunos contextos. ayuda a la visin compartida ayuda a miembros nuevos del equipo evita relajaciones, hacer PP es cansado. d
Alfredo Casado Bernardez
eXtreme Programming
Mi practica favorita, la que ms me ha echo crecer como programador en mi carrera profesional. fundamental mezclar tdd con SD. En la fase refactor seguimos las reglas de SD para mejorar nuestro cdigo. Algunos mitos: - consume mucho tiempo - es muy difcil - no se pueden probar todos los casos - no me dejan hacer test
Alfredo Casado Bernardez
eXtreme Programming
Integracin Continua
Prctica fundamental en combinacin con tdd. Si integrar frecuentemente es bueno integrar continuamente es mejor. lgica aplastante... Cada vez que hago un commit se compila todo el proyecto y se pasan todos los test. Hacer commit frecuentes, si haces TDD puedes hacer commit cada vez que estes en verde. No hacer commit-and-run, romper el build es entorpecer al resto del equipo, se castiga con dureza (comprar chucherias en nuestro caso).
Alfredo Casado Bernardez
eXtreme Programming
eXtreme Programming
Design Improvement
La regla de los boy scout. deja el campo ms limpio de como lo encontraste. Recuerda, el cdigo es de todos, no vale eso de esto esta fatal lo hizo fulanito, no amigo, ese cdigo es tuyo, si no te gusta lo arreglas. Hace falta coraje.
Boy Scout rule: Always leave a place cleaner than you found it
eXtreme Programming
Sustainable pace
Las 40 horas. No se puede realizar un trabajo que exige un alto de concentracin y tiene un alto grado de complejidad sin estar a tope de tus facultades. En ocasiones puede ser razonable un esfuerzo extra, eso pasa siempre y seguira pasando. Lo que no es razonable es que ese esfuerzo extra se convierta en norma. Decia KB, si llevas varias semanas haciendo horas de ms para resolver un problema ten una cosa clara, tienes un problema que no se resuelve con ms horas!!.
Alfredo Casado Bernardez
eXtreme Programming
eXtreme Programming
eXtreme Programming
eXtreme Programming
Nombre Apellidos
eXtreme Programming
Nombre Apellidos
eXtreme Programming
Nombre Apellidos
eXtreme Programming
Nombre Apellidos
eXtreme Programming
Nombre Apellidos
eXtreme Programming
Nombre Apellidos
eXtreme Programming
MUCHAS GRACIAS!!!!
Alfredo Casado Bernardez twitter: @AlfredoCasado blog: http://weblogs.javahispano.org/artesanodeprimera/