SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
eXtreme Programing
            Alfredo Casado Bernardez
eXtreme Programming




                                  Indice

-   ¿Por qué XP?
-   ¿Qué es XP?, principios y practicas
-   Relación con otros métodos ágiles
-   Evolución                 Importancia de profesionalidad y método
-   Quiero saber más!         frente a un framework o tecnología pasajera.

                                     Esto te puede cambiar la vida, profesional
                                     claro. No es ninguna exageración.

                                     A mi me la ha cambiado, para mejor
                                     obviamente!.
Alfredo Casado Bernardez
eXtreme Programming



                                       Waterfall




                           No funcionan:
                            - demasiada documentación
                            - demasiada burocracia.
                            - separación de roles. gestores, arquitectos,
                            programadores, testers, operaciones/sistemas...
                            - rigidez, el cambio es un problema.
Alfredo Casado Bernardez    - ciclo en cascada claramente no sirve.
eXtreme Programming



                                       Waterfall




                        No funcionan:
                         - demasiada documentación
                         - demasiada burocracia.
                         - separación 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




Alfredo Casado Bernardez
eXtreme Programming



                           Waterfall




Alfredo Casado Bernardez
eXtreme Programming



                           Waterfall




Alfredo Casado Bernardez
eXtreme Programming



                           Waterfall




Alfredo Casado Bernardez
eXtreme Programming



                           Waterfall




Alfredo Casado Bernardez
eXtreme Programming



                           Waterfall




Alfredo Casado Bernardez
eXtreme Programming



                                            Waterfall
Consecuencias, dos posibilidades:                       Y lo peor no es esto, lo peor es
  - Organizaciones grandes intentan seguir métodos      cuando hay que hacer cambios!!
  clasicos, el resultado son desarrollos que no
  satisfacen a nadie.

  - Organizaciones más pequeñas 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.




      Alfredo Casado Bernardez
eXtreme Programming



            Kent Beck, el padre de eXtreme programming
                           Documentación -> la necesaria

                           Separación de roles -> whole team y comunicación
                                          "..the problem [with software           projects]
                           Mucho tiempo isn'tla primera versión -> se, because una
                                          hasta change, per primera versión en change is
                           semana, dos como mucho.to happen; the problem, rather,
                                          going
                                          is the con el cambio, topromueve with change
                           XP no sólo es permisiva inability xp cope el cambio. El
                                          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.



Alfredo Casado Bernardez
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. Diseño simple de kent beck:

                           - pasan los test.
                           - código revela sus intenciones.
                           - eliminar TODA duplicación.
                           - reducir el número de elementos.




Alfredo Casado Bernardez
eXtreme Programming



                              Valores de xp, comunicación

                           Un proyecto soft ware siempre se realiza en equipo, es
                           fundamental que los canales de comunicación sean de
                           banda ancha.

                           Comunicación entre:

                           cliente y equipo de desarrollo
                           entres miembros del equipo
                           entre programadores y testers
                           entre programadores y qa

                           Se trata de eliminar barreras y favorecer la
                           comunicación directa


Alfredo Casado Bernardez
eXtreme Programming



                               Valores de xp, feedback

                      Feedback continuo y temprano.

                      El cliente como parte del equipo esta constantemente
                      viendo el producto y dando feedback.

                      Los programadores que usan TDD tienen
                      constantemente feedback de que su trabajo es
                      correcto

                      La integración continua ofrece feedback constante de
                      que el código de todos se integra correctamente.

                      Se hacen iteraciones cortas, se obtiene feedback
                      después de cada iteración.

Alfredo Casado Bernardez
eXtreme Programming



                                    Valores de xp, coraje

                           Hay que echarle huevos al asunto, así de claro. Nadie
                           dijo que esto fuera a ser fácil. nadie da duros a peseta.
                           Los grandes beneficios sólo se obtienen a través de
                           grandes esfuerzos.




Alfredo Casado Bernardez
eXtreme Programming



                                   Practicas XP
  Feedback                  Continuous            Shared         Wellfare

      TDD                        CI         Simple design
Planing Game                                    System
                               Design         Metaphor          Sustainable
Whole Team                  Improvement       Collective           Pace
                               Small          ownership
    Pair
Programming                   releases          Coding
                                               Standard
 Alfredo Casado Bernardez
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 más
                     polémico sin duda de xp (junto con PP quiza).

                     En scrum se relaja un poco, el clienete o product owner en
                     terminología 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 posición
                     del cliente).

                     KB es más 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



                           Planning Game y Small releases

                           En este punto nos reunimos con el cliente y decidimos
                           las historias de usuario que van a entrar en la primera
                           iteración/release.

                           poner fotillo de nuestro tablon.

                           La idea es tener lo más rapido algo que funcione para
                           poder obtener feedback lo antes posible, todo lo
                           contrario de lo que sucedia en proyectos clásicos.

                           A veces se usan practicas de scrum o kanban/lean
                           mezcladas con xp en esta fase.



Alfredo Casado Bernardez
eXtreme Programming



                     System metaphor y walking skeleton

                           Consiste en empezar el desarrollo con un esqueleto
                           andante que cubra todos los puntos de la arquitectura
                           end-to-end. desde el UI hasta la bd por ejemplo en una
                           aplicación web típica.

                           El termino WS me parece mucho más acertado,
                           pertenece a alistair cockburn que lo definió como
                           parte de su metodología crystal. (este hombre también
                           se invento lo de la deuda técnica, un crack de las
                           buenas metaforas :P )




Alfredo Casado Bernardez
eXtreme Programming



                                      pair programming

                           Ya tenemos la planificación de lo que vamos ha hacer y
                           una metáfora para construir la arquitectura.

                           El siguiente paso es ponernos ha hacer el trabajo, pero
                           eso si, no nos ponemos solos!.

                           Cuatro ojos ven más que dos. PP es revisión de código
                           llevado al extremo. Práctica polemica pero que da
                           grandes resultados en algunos contextos.

                           ayuda a la visión compartida
                           ayuda a miembros nuevos del equipo
                           evita relajaciones, hacer PP es cansado.
                           d
Alfredo Casado Bernardez
eXtreme Programming



                                  TDD y simple design



                           Mi practica favorita, la que más 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 código.

                           Algunos mitos:

                           - consume mucho tiempo
                           - es muy difícil
                           - no se pueden probar todos los casos
                           - no me dejan hacer test

Alfredo Casado Bernardez   Superado el periodo de aprendizaje desaparecen los mitos
eXtreme Programming



                                   Integración Continua

                           Práctica fundamental en combinación con tdd.

                           Si integrar frecuentemente es bueno integrar
                           continuamente es mejor. lógica 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



                              Collective Code Ownership

                           El codigo es de todos, no existen islas de conocimiento,
                           cualquiera puede hacer cualquier tarea.

                           Una práctica curiosa, poner las tarjetas al reves en la
                           pared y se escojen a boleo, evita que la gente tienda a
                           quedarse en su zona de conform.

                           reduce el factor camion, ¿cuantos miembros de tu equipo
                           tienen que ser atropellados por un camión para que tu
                           proyecto se vaya al garete?




Alfredo Casado Bernardez
eXtreme Programming



                                    Design Improvement
                       La regla de los boy scout. deja el campo más limpio de
                       como lo encontraste.

                       Recuerda, el código es de todos, no vale eso de “esto esta
                       fatal lo hizo fulanito”, no amigo, ese código es tuyo, si no
                       te gusta lo arreglas.

                       Hace falta coraje.




                              Boy Scout rule:
               Always leave a place cleaner than you found it
Alfredo Casado Bernardez
eXtreme Programming



                                       Sustainable pace

                           Las 40 horas.

                           No se puede realizar un trabajo que exige un alto de
                           concentración 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 más para resolver un problema ten una
                           cosa clara, tienes un problema que no se resuelve con más
                           horas!!.
Alfredo Casado Bernardez
eXtreme Programming


                                 Nadie dijo que fuera fácil
                                  Cuidado con el DIP!

                       Hay que superar la etapa de aprendizaje para
                       realmene sacarle beneficio, lo más importante es no
                       desanimarse.

                           Los beneficios que obtengas son normalmente
                           proporcionales al esfuerzo que dedicas en algo.
                           Exceptuando que te toque la loteria claro!.

                       Es importante contar con coraje para salir del bache.
                       Otras opciones es buscar ayuda mediante coaching
                       para pasar esta fase.

                       Los beneficios de verdad llegarán despues y merecen la
                       pena el esfuerzo
Alfredo Casado Bernardez
eXtreme Programming



                      Relación con otros métodos ágiles

                           ver com encaja xp con otras metodologias como scrum
                           o las ideas de lean.

                           No estoy muy seguro si poner esto o no, simplemente
                           un dibujo, o algo contando que xp es el core de las
                           practicas de ingeniería y que las practicas de gestión
                           de proyecto se suelen realizar utilizando ideas de
                           scrum o kanban/lean.




Alfredo Casado Bernardez
eXtreme Programming


                           En 10 años pasan muchas cosas...
                                 Continuous delivery
                            10 años son mucho tiempo:

                              - BDD
                              - Continuous delivery
                              - DevOps
                              - Craftmanship




Alfredo Casado Bernardez
eXtreme Programming


                   En 10 años pasan muchas cosas...
                    Behavior Driven Development




Nombre Apellidos
eXtreme Programming



                   Quiero más!, sobre XP




Nombre Apellidos
eXtreme Programming



                   Quiero más!, TDD/BDD




Nombre Apellidos
eXtreme Programming



                   Quiero más!, CI/CD




Nombre Apellidos
eXtreme Programming



                   Quiero más!, profesion




Nombre Apellidos
eXtreme Programming



   Quiero más!, estándares codificación y buenas prácticas




Nombre Apellidos
eXtreme Programming




         MUCHAS GRACIAS!!!!
           Alfredo Casado Bernardez


twitter: @AlfredoCasado
blog: http://weblogs.javahispano.org/artesanodeprimera/

Weitere ähnliche Inhalte

Was ist angesagt?

Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
Johita Guerrero
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
gmjuan
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
Deisy Sapaico
 

Was ist angesagt? (20)

Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Pst metodologia xp
Pst metodologia xpPst metodologia xp
Pst metodologia xp
 
Metodologia XP
Metodologia XPMetodologia XP
Metodologia XP
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
Programacion extrema_WR
Programacion extrema_WRProgramacion extrema_WR
Programacion extrema_WR
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
METODOLOGIAS XP
METODOLOGIAS XPMETODOLOGIAS XP
METODOLOGIAS XP
 

Ähnlich wie Presentación Extreme Programming

Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidad
Leonardo Soto
 

Ähnlich wie Presentación Extreme Programming (20)

Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Xp
XpXp
Xp
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Manual 02
Manual 02Manual 02
Manual 02
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
No hay bala de plata
No hay bala de plataNo hay bala de plata
No hay bala de plata
 
Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidad
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Clase 01 agilidad
Clase 01 agilidadClase 01 agilidad
Clase 01 agilidad
 
La programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xpLa programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xp
 
XPDay2009: Nameaction
XPDay2009: NameactionXPDay2009: Nameaction
XPDay2009: Nameaction
 
Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp
 
Exposicion 5
Exposicion 5Exposicion 5
Exposicion 5
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Clase 03 XP
Clase 03 XPClase 03 XP
Clase 03 XP
 
Crocodrile
CrocodrileCrocodrile
Crocodrile
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Xp
XpXp
Xp
 

Mehr von ADWE Team

Introduccion html5
Introduccion html5Introduccion html5
Introduccion html5
ADWE Team
 
Ponencia seo para el èxito con google 2011 copia
Ponencia seo para el èxito con google 2011   copiaPonencia seo para el èxito con google 2011   copia
Ponencia seo para el èxito con google 2011 copia
ADWE Team
 
Presentacion de Fran Moreno para adwe
Presentacion de Fran Moreno para adwePresentacion de Fran Moreno para adwe
Presentacion de Fran Moreno para adwe
ADWE Team
 
Rompiendo moldes
Rompiendo moldesRompiendo moldes
Rompiendo moldes
ADWE Team
 
Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murcia
ADWE Team
 
5 tips de diseñadores a maquetadores... y viceversa
5 tips de diseñadores a maquetadores... y viceversa5 tips de diseñadores a maquetadores... y viceversa
5 tips de diseñadores a maquetadores... y viceversa
ADWE Team
 
El momento del diseño, con Carlos Úbeda, de DNXGroup
 El momento del diseño, con Carlos Úbeda, de DNXGroup El momento del diseño, con Carlos Úbeda, de DNXGroup
El momento del diseño, con Carlos Úbeda, de DNXGroup
ADWE Team
 
Presentacion seo analisis
Presentacion seo analisisPresentacion seo analisis
Presentacion seo analisis
ADWE Team
 
Presentación de ACTO Framework parte I
Presentación de ACTO Framework parte IPresentación de ACTO Framework parte I
Presentación de ACTO Framework parte I
ADWE Team
 
Presentación de ACTO Framework parte II
Presentación de ACTO Framework parte IIPresentación de ACTO Framework parte II
Presentación de ACTO Framework parte II
ADWE Team
 

Mehr von ADWE Team (20)

Frameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesFrameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móviles
 
HTML5 + CSS3 + Wordpress = Responsive Web
HTML5 + CSS3 + Wordpress = Responsive WebHTML5 + CSS3 + Wordpress = Responsive Web
HTML5 + CSS3 + Wordpress = Responsive Web
 
HTML5 dia de internet 2012
HTML5 dia de internet 2012HTML5 dia de internet 2012
HTML5 dia de internet 2012
 
Significado y usos de RSS
Significado y usos de RSSSignificado y usos de RSS
Significado y usos de RSS
 
Responsive web y Wordpress
Responsive web y WordpressResponsive web y Wordpress
Responsive web y Wordpress
 
Git git hub
Git git hubGit git hub
Git git hub
 
Introduccion html5
Introduccion html5Introduccion html5
Introduccion html5
 
Ponencia seo para el èxito con google 2011 copia
Ponencia seo para el èxito con google 2011   copiaPonencia seo para el èxito con google 2011   copia
Ponencia seo para el èxito con google 2011 copia
 
Diseñar para dispositivos móviles
Diseñar para dispositivos móvilesDiseñar para dispositivos móviles
Diseñar para dispositivos móviles
 
Potenciando tu web con APIs de Miquel Camps para ADWE Madrid
Potenciando tu web con APIs de Miquel Camps para ADWE MadridPotenciando tu web con APIs de Miquel Camps para ADWE Madrid
Potenciando tu web con APIs de Miquel Camps para ADWE Madrid
 
Presentacion de Fran Moreno para adwe
Presentacion de Fran Moreno para adwePresentacion de Fran Moreno para adwe
Presentacion de Fran Moreno para adwe
 
Rompiendo moldes
Rompiendo moldesRompiendo moldes
Rompiendo moldes
 
Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murcia
 
5 tips de diseñadores a maquetadores... y viceversa
5 tips de diseñadores a maquetadores... y viceversa5 tips de diseñadores a maquetadores... y viceversa
5 tips de diseñadores a maquetadores... y viceversa
 
Presentación Framework CodeIgniter
Presentación Framework CodeIgniter Presentación Framework CodeIgniter
Presentación Framework CodeIgniter
 
El momento del diseño, con Carlos Úbeda, de DNXGroup
 El momento del diseño, con Carlos Úbeda, de DNXGroup El momento del diseño, con Carlos Úbeda, de DNXGroup
El momento del diseño, con Carlos Úbeda, de DNXGroup
 
Presentacion seo analisis
Presentacion seo analisisPresentacion seo analisis
Presentacion seo analisis
 
Presentación de ACTO Framework parte I
Presentación de ACTO Framework parte IPresentación de ACTO Framework parte I
Presentación de ACTO Framework parte I
 
Presentación de ACTO Framework parte II
Presentación de ACTO Framework parte IIPresentación de ACTO Framework parte II
Presentación de ACTO Framework parte II
 
SEO ADWE Murcia
SEO ADWE MurciaSEO ADWE Murcia
SEO ADWE Murcia
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Presentación Extreme Programming

  • 1. eXtreme Programing Alfredo Casado Bernardez
  • 2. eXtreme Programming Indice - ¿Por qué XP? - ¿Qué es XP?, principios y practicas - Relación con otros métodos ágiles - Evolución Importancia de profesionalidad y método - Quiero saber más! frente a un framework o tecnología pasajera. Esto te puede cambiar la vida, profesional claro. No es ninguna exageración. A mi me la ha cambiado, para mejor obviamente!. Alfredo Casado Bernardez
  • 3. eXtreme Programming Waterfall No funcionan: - demasiada documentación - demasiada burocracia. - separación de roles. gestores, arquitectos, programadores, testers, operaciones/sistemas... - rigidez, el cambio es un problema. Alfredo Casado Bernardez - ciclo en cascada claramente no sirve.
  • 4. eXtreme Programming Waterfall No funcionan: - demasiada documentación - demasiada burocracia. - separación de roles. gestores, arquitectos, Alfredo Casado Bernardez programadores, testers, operaciones/sistemas... - rigidez, el cambio es un problema. - ciclo en cascada claramente no sir ve.
  • 5. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 6. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 7. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 8. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 9. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 10. eXtreme Programming Waterfall Alfredo Casado Bernardez
  • 11. eXtreme Programming Waterfall Consecuencias, dos posibilidades: Y lo peor no es esto, lo peor es - Organizaciones grandes intentan seguir métodos cuando hay que hacer cambios!! clasicos, el resultado son desarrollos que no satisfacen a nadie. - Organizaciones más pequeñas 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. Alfredo Casado Bernardez
  • 12. eXtreme Programming Kent Beck, el padre de eXtreme programming Documentación -> la necesaria Separación de roles -> whole team y comunicación "..the problem [with software projects] Mucho tiempo isn'tla primera versión -> se, because una hasta change, per primera versión en change is semana, dos como mucho.to happen; the problem, rather, going is the con el cambio, topromueve with change XP no sólo es permisiva inability xp cope el cambio. El 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. Alfredo Casado Bernardez
  • 13. 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. Diseño simple de kent beck: - pasan los test. - código revela sus intenciones. - eliminar TODA duplicación. - reducir el número de elementos. Alfredo Casado Bernardez
  • 14. eXtreme Programming Valores de xp, comunicación Un proyecto soft ware siempre se realiza en equipo, es fundamental que los canales de comunicación sean de banda ancha. Comunicación entre: cliente y equipo de desarrollo entres miembros del equipo entre programadores y testers entre programadores y qa Se trata de eliminar barreras y favorecer la comunicación directa Alfredo Casado Bernardez
  • 15. eXtreme Programming Valores de xp, feedback Feedback continuo y temprano. El cliente como parte del equipo esta constantemente viendo el producto y dando feedback. Los programadores que usan TDD tienen constantemente feedback de que su trabajo es correcto La integración continua ofrece feedback constante de que el código de todos se integra correctamente. Se hacen iteraciones cortas, se obtiene feedback después de cada iteración. Alfredo Casado Bernardez
  • 16. eXtreme Programming Valores de xp, coraje Hay que echarle huevos al asunto, así de claro. Nadie dijo que esto fuera a ser fácil. nadie da duros a peseta. Los grandes beneficios sólo se obtienen a través de grandes esfuerzos. Alfredo Casado Bernardez
  • 17. eXtreme Programming Practicas XP Feedback Continuous Shared Wellfare TDD CI Simple design Planing Game System Design Metaphor Sustainable Whole Team Improvement Collective Pace Small ownership Pair Programming releases Coding Standard Alfredo Casado Bernardez
  • 18. 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 más polémico sin duda de xp (junto con PP quiza). En scrum se relaja un poco, el clienete o product owner en terminología 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 posición del cliente). KB es más 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
  • 19. eXtreme Programming Planning Game y Small releases En este punto nos reunimos con el cliente y decidimos las historias de usuario que van a entrar en la primera iteración/release. poner fotillo de nuestro tablon. La idea es tener lo más rapido algo que funcione para poder obtener feedback lo antes posible, todo lo contrario de lo que sucedia en proyectos clásicos. A veces se usan practicas de scrum o kanban/lean mezcladas con xp en esta fase. Alfredo Casado Bernardez
  • 20. eXtreme Programming System metaphor y walking skeleton Consiste en empezar el desarrollo con un esqueleto andante que cubra todos los puntos de la arquitectura end-to-end. desde el UI hasta la bd por ejemplo en una aplicación web típica. El termino WS me parece mucho más acertado, pertenece a alistair cockburn que lo definió como parte de su metodología crystal. (este hombre también se invento lo de la deuda técnica, un crack de las buenas metaforas :P ) Alfredo Casado Bernardez
  • 21. eXtreme Programming pair programming Ya tenemos la planificación de lo que vamos ha hacer y una metáfora para construir la arquitectura. El siguiente paso es ponernos ha hacer el trabajo, pero eso si, no nos ponemos solos!. Cuatro ojos ven más que dos. PP es revisión de código llevado al extremo. Práctica polemica pero que da grandes resultados en algunos contextos. ayuda a la visión compartida ayuda a miembros nuevos del equipo evita relajaciones, hacer PP es cansado. d Alfredo Casado Bernardez
  • 22. eXtreme Programming TDD y simple design Mi practica favorita, la que más 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 código. Algunos mitos: - consume mucho tiempo - es muy difícil - no se pueden probar todos los casos - no me dejan hacer test Alfredo Casado Bernardez Superado el periodo de aprendizaje desaparecen los mitos
  • 23. eXtreme Programming Integración Continua Práctica fundamental en combinación con tdd. Si integrar frecuentemente es bueno integrar continuamente es mejor. lógica 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
  • 24. eXtreme Programming Collective Code Ownership El codigo es de todos, no existen islas de conocimiento, cualquiera puede hacer cualquier tarea. Una práctica curiosa, poner las tarjetas al reves en la pared y se escojen a boleo, evita que la gente tienda a quedarse en su zona de conform. reduce el factor camion, ¿cuantos miembros de tu equipo tienen que ser atropellados por un camión para que tu proyecto se vaya al garete? Alfredo Casado Bernardez
  • 25. eXtreme Programming Design Improvement La regla de los boy scout. deja el campo más limpio de como lo encontraste. Recuerda, el código es de todos, no vale eso de “esto esta fatal lo hizo fulanito”, no amigo, ese código es tuyo, si no te gusta lo arreglas. Hace falta coraje. Boy Scout rule: Always leave a place cleaner than you found it Alfredo Casado Bernardez
  • 26. eXtreme Programming Sustainable pace Las 40 horas. No se puede realizar un trabajo que exige un alto de concentración 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 más para resolver un problema ten una cosa clara, tienes un problema que no se resuelve con más horas!!. Alfredo Casado Bernardez
  • 27. eXtreme Programming Nadie dijo que fuera fácil Cuidado con el DIP! Hay que superar la etapa de aprendizaje para realmene sacarle beneficio, lo más importante es no desanimarse. Los beneficios que obtengas son normalmente proporcionales al esfuerzo que dedicas en algo. Exceptuando que te toque la loteria claro!. Es importante contar con coraje para salir del bache. Otras opciones es buscar ayuda mediante coaching para pasar esta fase. Los beneficios de verdad llegarán despues y merecen la pena el esfuerzo Alfredo Casado Bernardez
  • 28. eXtreme Programming Relación con otros métodos ágiles ver com encaja xp con otras metodologias como scrum o las ideas de lean. No estoy muy seguro si poner esto o no, simplemente un dibujo, o algo contando que xp es el core de las practicas de ingeniería y que las practicas de gestión de proyecto se suelen realizar utilizando ideas de scrum o kanban/lean. Alfredo Casado Bernardez
  • 29. eXtreme Programming En 10 años pasan muchas cosas... Continuous delivery 10 años son mucho tiempo: - BDD - Continuous delivery - DevOps - Craftmanship Alfredo Casado Bernardez
  • 30. eXtreme Programming En 10 años pasan muchas cosas... Behavior Driven Development Nombre Apellidos
  • 31. eXtreme Programming Quiero más!, sobre XP Nombre Apellidos
  • 32. eXtreme Programming Quiero más!, TDD/BDD Nombre Apellidos
  • 33. eXtreme Programming Quiero más!, CI/CD Nombre Apellidos
  • 34. eXtreme Programming Quiero más!, profesion Nombre Apellidos
  • 35. eXtreme Programming Quiero más!, estándares codificación y buenas prácticas Nombre Apellidos
  • 36. eXtreme Programming MUCHAS GRACIAS!!!! Alfredo Casado Bernardez twitter: @AlfredoCasado blog: http://weblogs.javahispano.org/artesanodeprimera/