SlideShare une entreprise Scribd logo
1  sur  119
Métodos ágiles-Scrum y XP

   Object-Oriented Technology Training
   Dr. Ricardo R. Quintero Meza
1
                       Métodos Ágiles-Scrum y XP




                       El Desarrollo Iterativo y
                       Evolutivo: Scrum y XP


                       Tema 1: Iterativo y Evolutivo
                       (Dr. Ricardo Quintero)




                                                          1




                       Repositorio en línea de Material
                       Adicional

                          http://tinyurl.com/cursoagil




                                                          2




Dr. Ricardo Quintero                                              1
2
                       Métodos Ágiles-Scrum y XP




                        Temas
                           Motivación
                           Desarrollo Iterativo
                           Planeación iterativa dirigida por los
                            riesgos y por el cliente
                           El principio de “Time boxing”
                           Desarrollo evolutivo y adaptativo
                           Entrega incremental
                           Entrega evolutiva
                           Los errores más comunes

                                                                                    3




                        Desarrollo y construcción “predecible”




                         Al construir un teléfono celular es posible definir, sin
                            ambigüedades, sus especificaciones y pasos de
                                              construcción.
                         Después de alguna experiencia en la construcción de
                       teléfonos es posible hacer estimaciones confiables de
                           costo y tiempo de futuros teléfonos a construir.

                                                                                    4




Dr. Ricardo Quintero                                                                        2
3
                       Métodos Ágiles-Scrum y XP


                        Desarrollo y construcción “no
                        predecible”




                       Suponga una persona que desea construir una casa “a la
                          medida”. Se quieren utilizar materiales y métodos
                       ecológicos, pero no se está seguro al 100% de lo que
                                              se desea.
                         Cambia o clarifica sus decisiones conforme pasa el
                                 tiempo al ver la casa y sus costos.

                                                                                                   5




                        Desarrollar Software es “Desarrollar
                        nuevos productos”

                         +                      Predictibilidad de proyectos                   -



                                                                             Desarrollo de nuevos
                   Manufactura en masa o                                  productos o proyectos con
                   Manufactura predecible:                                  alto nivel de inventiva:
                  Niveles bajos de cambio o                                 Alto grado de novedad,
                 novedad con altos niveles de                              creatividad y cambio sin
                   creación idéntica o casi                                  experiencia previa de
                           idéntica                                       casos idénticos a partir de
                                                                              los cuales estimar o
                                                                           derivar planes confiables


                                                                                                   6




Dr. Ricardo Quintero                                                                                        3
4
                       Métodos Ágiles-Scrum y XP




                       Proyectos predecibles y no predecibles
                       P. Predecibles                         P. No predecibles

                       Al principio es posible definir sus    Raramente es posible crear una
                       especificaciones y después             especificación detallada y no
                       construir                              cambiante
                       Al inicio, se puede estimar de forma   Al principio no es posible. Conforme
                       confiable el esfuerzo y el costo       van surgiendo datos empíricos,
                                                              incrementalmente va siendo posible
                                                              planear y estimar
                       Es posible identificar, definir,       Al principio, no es posible. Se
                       calendarizar y establecer              requieren pasos adaptativos
                       detalladamente el orden de todas       conducidos por ciclos construir-
                       las actividades                        retroalimentar
                       La adaptación al cambio no             La adaptación creativa para los
                       predecible no es la norma y la         cambios no previstos es la norma.
                       razón de cambio es relativamente       La razón de cambio es alta.
                       baja


                                                                                                  7




                       ¿En que categoría cae el software?

                            Desarrollar software no es un
                          problema de manufactura en masa
                                     o predecible.

                       El desarrollo de software cae en la
                           categoría de desarrollo de un
                                 producto nuevo.



                                                                                                  8




Dr. Ricardo Quintero                                                                                      4
5
                       Métodos Ágiles-Scrum y XP




                        Si esto no convence …




                  Muchos proyectos utilizan tecnologías nuevas (y no sencillas) que
                     incrementan el grado de novedad y no predictibilidad.
               Estas tecnologías llevan a un inexperto a situaciones semejantes a las de la
                construcción de un nuevo producto, aún cuando tenga experiencia previa
                                                                                      9




                        Por lo tanto …

                           Debido a que el paradigma de
                            manufactura predecible es el
                            incorrecto para desarrollar software
                            entonces …

                         Las prácticas y valores que tienen
                              sus raíces en el mismo no
                                    resultan útiles.


                                                                                     10




Dr. Ricardo Quintero                                                                              5
6
                       Métodos Ágiles-Scrum y XP




                       Considere el “enfoque de cascada”

                          Especificación predictiva de las
                           especificaciones.
                          Estimaciones y planes especulativos
                           aplicables a la manufactura predecible,
                           incorrectamente se han aplicado a los
                           proyectos de software, un dominio que
                           requiere trabajo inventivo, de alta razón
                           de cambio y novedad.




                                                                       11




                       Ejercicio: ¿Por qué estimaciones
                       predictivas fallan?

                          Usando el artículo de Parnas y
                           Clemens (1986) realice el ejercicio
                           ¿Porqué las estimaciones
                           predictivas fallan?




                                                                       12




Dr. Ricardo Quintero                                                            6
7
                       Métodos Ágiles-Scrum y XP


                       ¿Por qué las estimaciones predictivas
                       fallan?

                          Parnas y Clemens (1986) nos dan
                           razones:
                              Los clientes o usuarios suelen no estar
                               seguros (de forma precisa) lo que
                               quieren.
                              Les resulta difícil establecer todo lo que
                               quieren y desean.
                              Muchos de los detalles de lo que
                               realmente quieren solamente se revela
                               al momento del desarrollo.


                                                                           13




                       ¿Por qué estas estimaciones
                       predictivas de estimación fallan?

                          (cont..)Parnas y Clemens (1986) nos dan
                           razones:
                              Para las personas los detalles son
                               abrumadoramente complejos.
                              Conforme van viendo el producto desarrollado,
                               van cambiando su mente (lo que desean).
                              Factores externos (como el producto de un
                               competidor o servicio) dirigen los cambios o
                               extensiones en las solicitudes.




                                                                           14




Dr. Ricardo Quintero                                                                7
8
                       Métodos Ágiles-Scrum y XP




                       La motivación de los métodos ágiles

                          La motivación principal para los
                           métodos ágiles e iterativos
                           subyace en la apreciación de que:

                       La actividad de construir software
                          es compleja, con alto nivel de
                           cambio y con naturaleza no
                                    predecible


                                                               15




                       Pero también son motivados por el
                       deseo de competir y ganar

                          Los métodos ágiles e iterativos
                           impulsan flexibilidad y
                           maniobrabilidad: ventajas
                           competitivas.




                                                               16




Dr. Ricardo Quintero                                                    8
9
                       Métodos Ágiles-Scrum y XP


                       Pero también son motivados por el
                       deseo de competir y ganar
                          Goldman y Preiss en su
                           libro Agile competitors and
                           Virtual Organizations:
                           Strategies for Enriching the
                           Customer nos enseñan:

                           “Agilidad es acerca de
                            éxito y triunfo: éxito
                             en salir triunfante en
                                   las arenas
                            competitivas; triunfo
                               en predicciones y
                             clientes, en el centro
                                de las tormentas
                                competitivas que
                               muchas empresas
                              actuales enfrentan”


                                                           17




                       Recursos Web

                          www.agilealliance.com
                          www.cetus-links.org
                          www.bradapp.net
                          alistair.cockburn.us
                          www.martinfowler.com




                                                           18




Dr. Ricardo Quintero                                                9
10
                       Métodos Ágiles-Scrum y XP




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                     19




                       Desarrollo iterativo
                          Los métodos ágiles son un subconjunto
                           de los métodos iterativos y evolutivos.
                          Es un enfoque para construir software (o
                           cualquier cosa) en el cual el ciclo de vida
                           se compone por varias iteraciones en
                           secuencia.
                          Cada iteración es un mini-proyecto
                           auto-contenido compuesto por
                           actividades como análisis de requisitos,
                           diseño, programación y pruebas.

                                                                     20




Dr. Ricardo Quintero                                                           10
11
                       Métodos Ágiles-Scrum y XP




                        Desarrollo iterativo
                            El objetivo final de una iteración es
                             obtener un release de iteración: un
                             sistema parcial estable, integrado y
                             probado.
                            Es decir: Todo el software a través de
                             todos los equipos de desarrollo se integra
                             en un release en cada iteración.
                            Los release pueden ser internos (para el
                             equipo de desarrollo) o externos (para
                             el cliente).

                                                                                                     21




                        Desarrollo iterativo e incremental
                        (IID)
                             La retroalimentación (feedback) de la iteración N dirige el
                            refinamiento y adaptación de los requisitos y el diseño en la
                                                   iteración N+1

                                         feedback                        feedback

                    Se construye para               Se construye para               Se construye para
                    algunos requisitos              algunos requisitos              algunos requisitos




                                                     El Sistema crece
               Una iteración de 3                    incrementalmente                 RELEASE AL
               semanas                                                                 CLIENTE


                                                                                                     22




Dr. Ricardo Quintero                                                                                           11
12
                       Métodos Ágiles-Scrum y XP




                       Longitud de las iteraciones

                          Muchos proyectos tienen al menos
                           tres iteraciones antes de un release
                           público final.
                          En los métodos modernos:

                            La longitud recomendada de
                           una iteración oscila entre 1 y 6
                                      semanas.


                                                                 23




                       Disciplinas a través de las iteraciones




                                                                 24




Dr. Ricardo Quintero                                                       12
13
                       Métodos Ágiles-Scrum y XP




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                   25




                       Planeación iterativa dirigida por el
                       cliente y por el riesgo

                          ¿Qué hacer en cada iteración?
                             Los métodos IID promueven una
                              combinación de prioridades dirigida por
                              el cliente y por los riesgos.




                                                                   26




Dr. Ricardo Quintero                                                         13
14
                       Métodos Ágiles-Scrum y XP


                       Planeación iterativa dirigida por el
                       cliente y por el riesgo

                          Desarrollo iterativo dirigido por
                           los riesgos:
                             Seleccione los elementos más
                              riesgosos y difíciles para las
                              primeras iteraciones.

                          Ej.- Un cliente podría decir: “Deseo que las
                           páginas Web sean en color verde y que el sistema
                           maneje 5,000 transacciones simultáneas”
                           El color verde puede esperar por tanto se
                           buscaría resolver primero el volumen de
                           transacciones
                                                                            27




                       Planeación iterativa dirigida por el
                       cliente y por el riesgo
                          Desarrollo iterativo dirigido por el cliente:
                             La elección de características para cada
                              iteración debe venir del cliente –cualquiera que
                              sea lo que él considera de mayor valor.




                              De esta forma el cliente conduce el proyecto,
                               iteración por iteración, solicitando las
                               características que en ese momento
                               considera de mayor valor para el negocio.


                                                                            28




Dr. Ricardo Quintero                                                                  14
15
                       Métodos Ágiles-Scrum y XP


                       Planeación iterativa dirigida por el
                       cliente y por el riesgo

                          Desarrollo iterativo dirigido por el
                           cliente (cont…):
                              De esta forma el cliente adaptativamente
                               planea la selección para la siguiente iteración,
                               brevemente antes de iniciarla, basado en la
                               experiencia adquirida en la iteración previa,
                               más que de forma especulativa al inicio del
                               proyecto.
                              Conforme nueva información va surgiendo el
                               cliente va percibiendo control y capacidad
                               de decisión.


                                                                              29




                       Planeación iterativa dirigida por el
                       cliente y por el riesgo

                          Aplique ambas técnicas…
                              Porque:
                                 Los clientes no siempre son capaces de
                                  percibir lo que técnicamente es más
                                  difícil o riesgoso.
                                 Los desarrolladores no siempre aprecian
                                  lo que es de más alto valor para el
                                  negocio.




                                                                              30




Dr. Ricardo Quintero                                                                    15
16
                       Métodos Ágiles-Scrum y XP




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                   31




                       Ejercicio-El principio de Timeboxing

                          Lea el artículo Time boxing for top
                           team performance.
                          Resuelva el ejercicio El principio de
                           Timeboxing.




                                                                   32




Dr. Ricardo Quintero                                                         16
17
                       Métodos Ágiles-Scrum y XP




                       El principio de TimeBoxing
                          Timeboxing:
                              Es la práctica de mantener fija la fecha final
                               de la iteración y no permitir cambios.
                              Este principio debería aplicar también para la
                               fecha final de todo el proyecto.
                          Si eventualmente sucediera que las solicitudes hechas
                           (alcance) para una iteración no pueden satisfacerse
                           dentro del timebox, entonces en lugar de cambiar la
                           fecha final, el alcance se reduce (colocando las
                           prioridades de más bajo riesgo al final de la lista de
                           “deseos”).




                                                                                33




                       El principio de TimeBoxing

                          Esto con el fin de que se obtenga
                           un sistema parcial (pero
                           creciente) en un estado estable y
                           probado.
                         Es importante que el Timeboxing no se
                        utilice para presionar a los desarrolladores
                       para que trabajen largas horas para cumplir
                       con la inminente fecha de terminación. Si el
                          paso normal de trabajo es insuficiente,
                                        haga menos.

                                                                                34




Dr. Ricardo Quintero                                                                      17
18
                       Métodos Ágiles-Scrum y XP




                       Longitud del TimeBox

                          No todos los Time-box necesitan ser
                           iguales:
                              La primer iteración puede ser 4
                               semanas.
                              La segunda iteración 3 semanas, etc.
                          Como ya mencionamos la longitud
                           recomendada es: 1 a 6 semanas.



                                                                      35




                       Longitud del TimeBox
                          Se ha demostrado que Pasos cortos
                           poseen:
                              Menor complejidad.
                              Menor riesgo.
                              Mejor retroalimentación.
                              Más alta productividad.
                              Mayor razón de éxito.
                          Todos los métodos modernos (incluyendo
                           Scrum o XP o UP) requieren o
                           recomiendan aplicar Timeboxing a las
                           iteraciones.

                                                                      36




Dr. Ricardo Quintero                                                            18
19
                       Métodos Ágiles-Scrum y XP




                       TimeBoxing

                         Construye para            feedback         Construye para                  En Timeboxing,
                       algunos requisitos                         algunos requisitos                   la variable
                                                                                                    tiempo en cada
                                                                                                      iteración se
                                                                                                     mantiene fija

                     1 iteración de 3 semanas                    1 iteración de 2 semanas
                  “timeboxed”. La fecha final no              “timeboxed”. La fecha final no
                             se cambia.                                  se cambia.


                                            Alcance
                                            (tareas)                  Tiempo            Tiempo, alcance, recursos
                                                                                            y calidad son las 4
                                                                                        variables comunes con las
                                                                                        que se puede jugar en un
                                                       Proyecto                                  proyecto.
                                                                                         Timeboxing remueve el
                                                                                        tiempo de estas opciones
                                                                                          durante una iteración
                                           Calidad                      Recurso                ¡Recuerde el “Iron
                                                                        (gente)                    Triangle”!

                                                                                                               37




                       Beneficios del Time-Boxing
                           Enfoque: El enfoque psicológico que
                            promueve una fecha de terminación fija
                            de 3 semanas es muy diferente al que
                            promueve una de 3 meses. Time boxing
                            es un antidoto a la Ley de Parkinson:
                            “El trabajo se expande para ocupar todo
                            el tiempo disponible”
                           Las personas recuerdan más fechas
                            postergadas que características
                            postergadas: es un capricho de la
                            naturaleza humana.


                                                                                                               38




Dr. Ricardo Quintero                                                                                                      19
20
                       Métodos Ágiles-Scrum y XP




                       Beneficios del Time-Boxing
                          Obliga a atacar niveles pequeños de
                           complejidad: la investigación ha
                           demostrado que pasos de complejidad
                           baja se realizan más productivamente.
                          Obliga a tomar decisiones difíciles y
                           de compensación tempranamente : se
                           obliga a ser realista en lo que se hará y
                           en lo que no se hará. Obliga al manejo de
                           prioridades.



                                                                   39




                       Durante la iteración, ningún cambio de
                       los Stakeholder externos

                          Los métodos ágiles e iterativos enfrentan
                           el cambio, pero no el caos.
                          Esto se logra con la siguiente regla:
                           Una vez que se han determinado las
                           solicitudes para una iteración y estas
                               se están llevando a cabo, ningún
                           stakeholder externo puede cambiar el
                                            trabajo.




                                                                   40




Dr. Ricardo Quintero                                                         20
21
                       Métodos Ágiles-Scrum y XP


                       Durante la iteración, ningún cambio de
                       los Stakeholder externos

                          No se vale que el administrador del
                           producto (por decir alguien) diga:
                           “¿Pueden hacer esto también?”
                            Deberá esperar a la siguiente iteración.
                            Sin embargo, el equipo puede reducir
                            el ámbito de la iteración si a la fecha
                            final del timebox no se puede lograr.




                                                                   41




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                   42




Dr. Ricardo Quintero                                                         21
22
                       Métodos Ágiles-Scrum y XP




                       Desarrollo evolutivo y adaptativo
                          Desarrollo iterativo evolutivo:
                              Los requisitos, planes, estimaciones y
                               soluciones evolucionan o se refinan en el
                               transcurso de las iteraciones.
                              En lugar de ser completamente definidos o
                               “congelados” en un esfuerzo mayúsculo de
                               especificación antes de que el desarrollo
                               iterativo empiece.
                       Los métodos evolutivos son consistentes con el patrón de
                            descubrimiento y cambio no predecible en el
                                   desarrollo de un nuevo producto.



                                                                              43




                       Desarrollo evolutivo y adaptativo

                          Desarrollo adaptativo:
                              Es un término relacionado con
                               evolutivo.
                              Implica que los elementos se adaptan
                               en respuesta al “feedback” del trabajo
                               anterior –”feedback” de usuarios,
                               testers, desarrolladores, etc.
                          La intención es la misma que en el desarrollo
                           evolutivo, pero el nombre sugiere un mecanismo
                           más fuerte de repuesta-feedback en la evolución.


                                                                              44




Dr. Ricardo Quintero                                                                    22
23
                       Métodos Ágiles-Scrum y XP




                       Análisis evolutivo de requisitos
                          En el desarrollo evolutivo y adaptativo no
                           se trata de que los requisitos están “sin
                           límite” o “cambiantes continuamente”.
                          Al contrario, mucho del descubrimiento y
                           refinamiento ocurre durante las primeras
                           iteraciones.
                          La rápida atención en estas iteraciones
                           tiene como propósito entender los
                           requisitos arquitectónicamente más
                           significativos o de más alto valor al
                           negocio.

                                                                                                                                                                                                                 45




                       Análisis de requisitos evolutivo
                                         1    2        3   4                  5     ...                                                                                        20



                                                                                  requirements workshops

                           Imagine this will
                           ultimately be a 20-
                           iteration project.
                                                           requirements




                                                                                                     requirements
                                                                                    software




                                                                                                                      software




                           In evolutionary iterative
                           development, the
                           requirements evolve
                           over a set of the early
                           iterations, through a
                           series of requirements
                                                                                                                                                          90%                 90%
                           workshops (for
                           example). Perhaps
                           after four iterations and
                                                                                                                                  50%
                           workshops, 90% of the
                           requirements are                                                         30%
                           defined and refined.            20%                                                                                                                             20%
                                                                                                                     5%                      8%                    10%
                           Nevertheless, only                                      2%
                           10% of the software is               Iteration 1                              Iteration 2                 Iteration 3           Iteration 4            Iteration 5
                           built.
                                                                                                   a 3-week iteration



                                                                          week 1                                                 week 2                                  week 3
                                                                          M        T           W            Th      F            M      T        W   Th     F            M    T        W        Th      F




                                   kickoff meeting               team agile                    start                                 de-scope             final check-in     demo and                next
                                   clarifying iteration          modeling &                    coding &                              iteration            and code-          2-day                   iteration
                                   goals with the team.          design,                       testing                               goals if             freeze for the     requirements            planning
                                   1 hour                        UML                                                                 too much             iteration          workshop                meeting;
                                                                 whiteboard                                                          work                 baseline                                   2 hours
                                                                 sketching.
                                                                 5 hours                                       Most OOA/D and
                                                                                                                                                     Use-case modeling
                                                                                                               applying UML during
                                                                                                                                                     during the workshop
                                                                                                               this period                                                                                       46




Dr. Ricardo Quintero                                                                                                                                                                                                       23
24
                       Métodos Ágiles-Scrum y XP




                       Planeación evolutiva y adaptativa
                          Igual que con los requisitos, la planeación
                           adaptativa y evolutiva no se trata de que los
                           estimados y fechas se desconozcan por
                           siempre.
                          Esto es, debido a que los primeros requisitos
                           son muy cambiantes (y a otros factores), existe
                           una fase inicial de alto nivel de
                           incertidumbre, la cual declinará conforme el
                           tiempo avance y la información se acumule.
                          Esto ha sido llamado el Cono de
                           Incertidumbre. Steve McConnell's Software
                           Project Survival Guide (Microsoft Press, 1998,
                           ISBN: 1-57231-621-7)

                                                                        47




                       El Cono de Incertidumbre




                                  Mayor información: COCOMO 2.0
                                                                        48




Dr. Ricardo Quintero                                                              24
25
                       Métodos Ágiles-Scrum y XP




                       Respuesta iterativa a la incertidumbre

                          La respuesta iterativa a la
                           incertidumbre es postergar los
                           estimados semi-confiables de costo,
                           esfuerzo o tiempo hasta que unas
                           pocas de las iteraciones han
                           pasado. Razonablemente un 10% o
                           20% del proyecto.



                                                                     49




                       Respuesta iterativa a la incertidumbre
                          Esto es consistente con otras prácticas
                           administrativas en otros dominios de
                           desarrollo de nuevos productos, donde es
                           común una fase exploratoria inicial.
                          Aún más, se motiva a la planeación
                           adaptativa más que a la planeación
                           predictiva.
                          Es decir, una planificación detallada no se
                           crea hasta que se ha avanzado más allá
                           de un breve tiempo, de tal manera que el
                           nivel de detalle y compromiso se
                           consensa con la calidad de la información.


                                                                     50




Dr. Ricardo Quintero                                                           25
26
                       Métodos Ágiles-Scrum y XP




                       Contratos de precio fijo

                          Con respecto a hacer una oferta de
                           precio fijo y estimaciones
                           evolutivas, algunos métodos IID
                           recomiendan realizar el proyecto
                           con un contrato de dos fases,
                           cada uno de múltiples iteraciones
                           “timeboxed”.



                                                                51




                       Contrato de dos fases




                                                                52




Dr. Ricardo Quintero                                                      26
27
                       Métodos Ágiles-Scrum y XP




                       Contrato de dos fases
                          Primera fase:
                              Un contrato relativamente pequeño de tiempo fijo y
                               precio fijo, con el objetivo de cumplirse en unas
                               cuantas iteraciones, haciendo desarrollo temprano
                               (pero parcial) de software y análisis evolutivo de
                               requisitos.
                          El resultado de la fase –incluyendo el software
                           base- se comparte con los clientes para el
                           contrato de precio fijo de la segunda fase.
                          El refinamiento evolutivo de las especificaciones y
                           código en la fase uno ofrece datos de mayor
                           calidad para los estimadores de la fase dos y al
                           mismo tiempo ofrece avances del software.


                                                                                53




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                                54




Dr. Ricardo Quintero                                                                      27
28
                       Métodos Ágiles-Scrum y XP




                       Entrega incremental
                          Es la práctica de entregar
                           repetidamente un sistema a
                           producción (o al mercado) en
                           una serie de capacidades
                           extendidas. Es una práctica
                           promovida por los métodos ágiles e
                           IID.
                          Las entregas incrementales son en
                           un rango de 3 a 12 meses.


                                                                                           55




                       Entrega incremental




                       Esta práctica no debe confundirse con el desarrollo iterativo. Un ciclo
                         de entrega de 6 meses podría componerse por 10 iteraciones. El
                           resultado de cada iteración no se libera al mercado, pero los
                                           resultados de una entrega sí
                                                                                           56




Dr. Ricardo Quintero                                                                                  28
29
                       Métodos Ágiles-Scrum y XP




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                     57




                       Entrega evolutiva
                          Es un refinamiento de la entrega
                           incremental.
                          Con la diferencia de que aquí existe un
                           interés muy marcado por obtener
                           “feedback” respecto al producto
                           instalado y usar este “feedback” para
                           guiar la siguiente entrega.
                          El objetivo es conocer necesidades
                           difíciles de predecir.
                          Recomendación: hacer una mezcla de
                           ambas prácticas.

                                                                     58




Dr. Ricardo Quintero                                                           29
30
                       Métodos Ágiles-Scrum y XP




                       Entrega Incremental vs. Evolutiva
                          En la Entrega Incremental hay un plan
                           definido para las entregas futuras (el
                           “feedback” no conduce el plan de
                           entregas).
                          En la Entrega Evolutiva no hay plan (o
                           al menos no uno fijo) de entregas
                           futuras; cada una es creada
                           dinámicamente en base a la información
                           que va surgiendo.




                                                                    59




                       Temas
                          Motivación
                          Desarrollo Iterativo
                          Planeación iterativa dirigida por los
                           riesgos y por el cliente
                          El principio de “Time boxing”
                          Desarrollo evolutivo y adaptativo
                          Entrega incremental
                          Entrega evolutiva
                          Los errores más comunes

                                                                    60




Dr. Ricardo Quintero                                                          30
31
                       Métodos Ágiles-Scrum y XP




                       El error más común
                        Líderes de proceso iterativos y ágiles
                         continuamente ven escenarios así:
                       Líder: Seguro, nosotros no aplicaremos la cascada-
                            ya sabemos que no funciona. Adoptaremos el
                             método <X> y estamos ante nuestro primer
                           proyecto. Ya hemos estado trabajando durante
                           dos meses y hemos terminado prácticamente el
                            análisis de los casos de uso y la planificación y
                          programación de lo que iremos haciendo en cada
                              iteración. Después de revisar y aprobar los
                                 requisitos finales y la programación de
                               iteraciones, empezaremos a programar …
                                                  Ups !


                                                                            61




                       El error más común

                          Esta es una profunda falta de
                           entendimiento del método y una
                           sobreimposición de los métodos
                           de cascada en los métodos
                           iterativos.
                          Suele ser uno de los errores más
                           comunes. Evítalo.



                                                                            62




Dr. Ricardo Quintero                                                                  31
32
                       Métodos Ágiles-Scrum y XP




                       Métodos iterativos

                          Los métodos iterativos
                           precedieron a los ágiles.
                          Los métodos iterativos pueden o
                           no ser considerados ágiles.




                                                                              63




                       Métodos iterativos
                          Ejemplos:
                              Evo (el primero, inició en los 1960s)
                              UP (desarrollado a mediados de los 1990s)
                              Microsoft Solutions Framework. (una
                               descripción de las mejores prácticas usadas
                               por Microsoft)
                              OPEN de Henderson-Sellers, FireSmith y
                               Graham
                              Modelo de espiral WinWin o Modelo de espiral
                               MBASE de Barry Bohem.



                                                                              64




Dr. Ricardo Quintero                                                                    32
33
                       Métodos Ágiles-Scrum y XP




                       Lecturas recomendadas
                          Rapid Devlopment-            The Mythical Man-
                           Steve McConell.               Month-Frederick
                           Examina variaciones del       Brooks. La edición de
                           desarrollo iterativo.         plata de este clásico
                                                         discute las ventajas de
                                                         IID, además de muchas
                                                         otros temas muy
                                                         interesantes




                                                                                   65




Dr. Ricardo Quintero                                                                         33
34
                Métodos Ágiles-Scrum y XP




                 El Desarrollo Iterativo y
                 Evolutivo: Scrum y XP


                 Tema 2: Ágil
                 (Dr. Ricardo Quintero)




                                                                        1




                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad:el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                        2




Dr. Ricardo Quintero                                                             1
35
                Métodos Ágiles-Scrum y XP



                 Desarrollo ágil

                    Los Métodos ágiles aplican:
                        Desarrollo evolutivo e iterativo
                         “timeboxed”.
                        Planeación adaptativa.
                        Promueven entregas evolutivas.
                        Incluyen otros valores y prácticas que
                         motivan la agilidad-respuestas
                         rápidas y flexibles al cambio.



                                                                  3




                 Desarrollo ágil

                    Su lema es:
                          Enfrentar el cambio.
                    Su punto estratégico es:
                            Maniobrabilidad




                                                                  4




Dr. Ricardo Quintero                                                       2
36
                Métodos Ágiles-Scrum y XP



                 Desarrollo ágil

                    No es posible definir exactamente a
                     los Métodos ágiles, porque sus
                     prácticas específicas varían.
                    Pero las siguientes prácticas son
                     compartidas por diversos métodos:
                        Iteraciones pequeñas “timeboxed”.
                        Refinamiento adaptativo y
                         evolutivo de planes y objetivos


                                                           5




                 Desarrollo ágil

                    Además los Métodos ágiles
                     promueven prácticas y principios
                     que reflejan una “sensación de
                     agilidad” como: simplicidad,
                     ligereza, comunicación, equipos
                     autodirigidos, programación sobre
                     documentación y más.



                                                           6




Dr. Ricardo Quintero                                                3
37
                Métodos Ágiles-Scrum y XP



                 Ejemplo de prácticas ágiles en Scrum

                    Ejemplos de prácticas ágiles en
                     Scrum (que estudiaremos más al
                     detalle posteriormente) son:
                        Un lugar común para el proyecto.
                        Equipos auto-dirigidos que se
                         coordinan a través de reuniones diarias
                         con preguntas concretas que cada
                         miembro responde.



                                                                        7




                 Ejemplo de prácticas ágiles en XP
                    Ejemplos de prácticas ágiles en XP (que
                     estudiaremos más adelante) son:
                        Usar notas concisas en papel (story cards)
                         para sumarizar requisitos.
                        Programar en parejas.
                        Trabajar en un lugar común con participación
                         de tiempo completo de “proveedores de
                         requisitos” para que los requisitos escritos
                         puedan complementarse con explicaciones
                         verbales.



                                                                        8




Dr. Ricardo Quintero                                                             4
38
                Métodos Ágiles-Scrum y XP



                 Iterativo VS ágil
                    Como concepto de proceso de software,
                     “ágil” es más nuevo que el enfoque
                     “iterativo”.
                        Muchos métodos IID (Evo o UP) no fueron
                         diseñados como ágiles en su definición
                         original, pero se pueden aplicar en un espíritu
                         ágil.
                    Aunque podríamos imaginar métodos IID
                     no-ágiles, la mayoría (por no decir todos)
                     están adoptando los valores y prácticas
                     ágiles –es raro que alguien promueva la
                     no-agilidad.


                                                                            9




                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad:el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                           10




Dr. Ricardo Quintero                                                                 5
39
                  Métodos Ágiles-Scrum y XP


                    Clasificación de los métodos por
                    ceremonia y ciclos
                                      Estrictamente                El peso del método en
                                cascada(secuencial)                      términos de
                                                                    documentación, pasos
                    El número y longitud                          formales, revisiones, etc.
                       de las iteraciones




                                                 Ciclos
            Pocos documentos                                                    Muchos documentos
            Pocos pasos
                                                          Ceremonia           Muchos Pasos formales

                        Scrum

                                                                                     UP


                        XP
                                                                                     Evo
                                Muchas iteraciones
                                 pequeñas (5 días)

                                                                                               11




                    Agenda
                        Desarrollo ágil
                        Clasificación de los métodos
                        Los principios y el manifiesto ágil
                        Gestión de proyectos ágiles
                        Abrazando la comunicación y la retroalimentación
                        Prácticas y herramientas de proyectos simples
                        Procesos empíricos VS Procesos definidos y
                         prescriptivos
                        Disciplina de sustentabilidad:el roce humano.
                        El equipo como un Sistema Complejo Adaptativo.




                                                                                               12




Dr. Ricardo Quintero                                                                                       6
40
                Métodos Ágiles-Scrum y XP



                 El Manifiesto Ágil
                    Manifiesto (según diccionario RAE):
                      Escrito en que se hace pública declaración de
                          doctrinas o propósitos de interés general.
                    El 2001 un grupo interesado en los métodos
                     ágiles e iterativos acuñaron el término.
                    Se reunieron para formar la Alianza Ágil
                     (www.agilealliance.com) con un Manifiesto y un
                     conjunto de estatutos de principios.
                    Éstos guían la gestión de proyectos ágiles.




                                                                             13




                 Valores del Manifiesto Ágil
                    “Individuos e interacciones sobre
                     procesos y herramientas.

                    Software trabajando sobre
                     documentación de comprensión.

                    Colaboración del cliente sobre
                     negociación de contrato.

                    Respuesta al cambio sobre
                     seguir un plan.

                 Es decir, si bien existe valor en los segundos elementos,
                    valoramos los primeros más



                                                                             14




Dr. Ricardo Quintero                                                                   7
41
                Métodos Ágiles-Scrum y XP



                 Ejercicio – El Manifiesto ágil
                     Lea el Manifiesto Ágil y todo el grupo
                      realice el siguiente ejercicio:
                         Dividimos el grupo en 4 equipos.
                         Cada equipo selecciona alguna de las doctrinas
                          (valores) del movimiento ágil y hará una
                          “araña” con los puntos más importantes que lo
                          justifican. Se pega la “araña” en las paredes.
                         Cada equipo expondrá al resto su doctrina
                          correspondiente. Cada equipo comentará su
                          punto de vista sobre la doctrina. Discusión y
                          comentarios.
                         Se toman fotos digitales a cada araña y se
                          distribuyen entre los participantes.



                                                                       15




                 Principios ágiles (leeremos las
                 justificaciones en el Manifiesto)
                 1.    Nuestra más alta prioridad es satisfacer
                       al cliente a través de entregas continuas
                       y tempranas de software valuable.
                 2.    Bienvenidos los cambios de requisitos
                       aún en etapas posteriores al desarrollo.
                       Los procesos ágiles aprovechan el
                       cambio a favor de la ventaja competitiva
                       del cliente.
                 3.    Entrega software trabajando
                       frecuentemente, desde un grupo de
                       semanas hasta un grupo de meses, con
                       preferencia a escalas breves de tiempo


                                                                       16




Dr. Ricardo Quintero                                                             8
42
                Métodos Ágiles-Scrum y XP



                 Principios ágiles
                 4.    La gente del negocio y los
                       desarrolladores deben trabajar en
                       conjunto diariamente a lo largo del
                       proyecto.
                 5.    Construye el proyecto con gente
                       motivada. Dales el ambiente y soporte
                       necesario y confía en que harán bien el
                       trabajo.
                 6.    El método más eficiente y efectivo para
                       conllevar información hacia y dentro el
                       equipo de desarrollo es la conversación
                       cara-a-cara.


                                                                 17




                 Principios ágiles
                 7.    Software trabajando es la medida
                       principal de progreso.
                 8.    Los procesos ágiles promueven el
                       desarrollo sustentable.
                 9.    Los patrocinadores, desarrolladores y
                       usuarios deben mantener una paz
                       constante indefinidamente.
                 10.   Atención constante a la excelencia
                       técnica y el buen diseño aumenta la
                       agilidad.


                                                                 18




Dr. Ricardo Quintero                                                       9
43
                Métodos Ágiles-Scrum y XP



                 Principios ágiles
                 11.   Simplicidad-el arte de maximizar el
                       monto de trabajo no hecho-es esencial.
                 12.   Las mejores arquitecturas, requisitos y
                       diseños emergen a partir de equipos
                       auto-organizados.
                 13.   A intervalos regulares, el equipo
                       reflexiona sobre como ser más efectivo,
                       acorde a lo cual ajusta su
                       comportamiento.


                                                                    19




                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad:el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                    20




Dr. Ricardo Quintero                                                          10
44
                Métodos Ágiles-Scrum y XP



                 Gestión de proyectos ágiles

                     Aunque más adelante veremos
                      prácticas concretas de gestión de
                      proyectos ágiles (en Scrum y XP).
                      Hay generalizaciones comunes a
                      todos los métodos.
                     Veremos dos descripciones bien
                      conocidas.



                                                                        21




                 Gestión de proyectos ágiles:Jim
                 Highsmith

                 1.    Entrega algo útil al usuario; verifica que
                       es lo que le resulta de valor.
                 2.    Cultiva stakeholders comprometidos.
                 3.    Emplea un estilo de liderazgo
                       colaborativo.
                 4.    Construye equipos competentes y
                       colaborativos.
                 5.    Posibilita la toma de decisiones en
                       equipo.
                           Gestion de Proyectos ágiles -Highsmith.pdf




                                                                        22




Dr. Ricardo Quintero                                                              11
45
                Métodos Ágiles-Scrum y XP


                 Gestión de proyectos ágiles:Jim
                 Highsmith

                 6.    Utiliza iteraciones cortas
                       “timeboxed” para ofrecer entregas
                       rápidas.
                 7.    Motiva la adaptabilidad.
                 8.    Busca la excelencia técnica.
                 9.    Enfócate en actividades de
                       entrega, no en actividades de
                       cumplimiento de procesos.

                                                                  23




                 Gestión de proyectos ágiles:Augustine
                 and Woodcock

                 1.    Visión guiada: establece una visión
                       guiada para el proyecto. Refuérzala
                       continuamente a través de palabras y
                       acciones.
                 2.    Trabajo en equipo & colaboración:
                       facilita la colaboración y el trabajo en
                       equipo a través de relaciones y espíritu
                       comunitario.
                 3.    Reglas simples: establece y soporta
                       un conjunto de prácticas guía, tales
                       como Scrum y XP.

                                                                  24




Dr. Ricardo Quintero                                                        12
46
                Métodos Ágiles-Scrum y XP


                 Gestión de proyectos ágiles:Augustine
                 and Woodcock

                 4.    Apertura en la información: Ofrece
                       acceso abierto y visible a la gestión del
                       proyecto y otra información.
                 5.    Roce ligero: Aplica sólo el control
                       suficiente para fomentar
                       comportamiento emergente en equipo
                       auto-dirigido.
                 6.    Vigilancia ágil: Refuerza la visión,
                       sigue o adapta las reglas, escucha a la
                       gente.

                                                                   25




                 Gestión de proyectos ágiles:papel del
                 administrador

                     Tanto en Scrum como en XP se regresa
                      tanto el control como la planeación al
                      equipo, no al administrador.
                     El administrador no crea la estructura de
                      partición del trabajo, la estimación de
                      tiempos; todo esto se hace en equipo.
                     Generalmente el administrador no dice a
                      la gente lo que hará.
                     El administrador no define y asigna
                      detalladamente la mayoría de los roles y
                      responsabilidades.

                                                                   26




Dr. Ricardo Quintero                                                         13
47
                Métodos Ágiles-Scrum y XP


                 Gestión de proyectos ágiles:papel del
                 administrador

                    Al contrario:
                        El rol del administrador del proyecto es
                         realizar coaching, ofrecer recursos,
                         mantener la visión, remover
                         impedimentos, promover los principios
                         ágiles, etc.




                                                                    27




                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad:el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                    28




Dr. Ricardo Quintero                                                          14
48
                Métodos Ágiles-Scrum y XP


                 Programación como si la gente
                 importara

                     “La gente es más importante que
                     cualquier proceso. Buena gente con
                     un buen proceso superará siempre
                     a buena gente sin ningún proceso”
                                     Grady Booch (1996)




                                                              29




                 Programación como si la gente
                 importara
                    El primer valor del Manifiesto ágil es que
                     los Individuos y las interacciones
                     están sobre los procesos y las
                     herramientas.
                    Nos recuerda que: la programación es
                     una actividad humana.
                    Atento al impacto del “trabajo extra” en la
                     habilidad para programar bien o
                     mantener una vida familiar o social
                     saludable, XP tiene la regla de paz
                     sustentable-evitar el “trabajo extra”



                                                              30




Dr. Ricardo Quintero                                                    15
49
                Métodos Ágiles-Scrum y XP


                 Programación como si la gente
                 importara

                    Los hábitos correctos de trabajo y
                     conocimiento juegan un papel
                     significativo en la productividad-el valor
                     de la educación constante y del
                     mentoring para desarrolladores.
                    XP motiva fuertemente la transferencia
                     de habilidades a través de la
                     programación en parejas.




                                                                  31




                 Programación como si la gente
                 importara

                    El énfasis en la comunicación es
                     también importante, especialmente
                     las conversaciones cara-a-cara.
                    Las reuniones diarias de Scrum y
                     un lugar común para el proyecto
                     y en XP la programación en
                     parejas y todo el equipo junto
                     son ejemplos.


                                                                  32




Dr. Ricardo Quintero                                                        16
50
                Métodos Ágiles-Scrum y XP



                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad:el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                          33




                 Prácticas y herramientas de proyectos
                 simples

                    Muchos métodos ágiles promueven
                     el principio de hacer lo más
                     simple que posiblemente
                     funcione – un aforismo* XP.

                 *Sentencia breve y doctrinal que se propone como regla
                     en alguna ciencia o arte (Diccionario RAE)




                                                                          34




Dr. Ricardo Quintero                                                                17
51
                Métodos Ágiles-Scrum y XP


                 Prácticas y herramientas de proyectos
                 simples

                    Muchos métodos ágiles promueven
                     un enfoque “low-tech, high-
                     touch”.
                    Low-tech es relativo, si una
                     herramienta Web es lo más simple,
                     úsala.




                                                             35




                 Prácticas y herramientas de proyectos
                 simples

               Es un malentendido igualar los métodos ágiles
                 con falta de habilidad o auto-disciplina. Un
               proyecto aplicando todas las prácticas XP tiene
                plena estructura y disciplina. Pero –y esto es
               quizá el punto clave en los métodos ágiles- las
               prácticas “disciplinadas” son muy orientadas-a-
                entregables o de orientación-a-calidad-en-el-
                código. Los desarrolladores rápidamente ven
                                 los beneficios.



                                                             36




Dr. Ricardo Quintero                                                   18
52
                Métodos Ágiles-Scrum y XP



                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad: el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                               37




                 Procesos Empíricos vs. Definidos y
                 Prescriptivos
                    Proceso definido (o prescriptivo): tiene un conjunto
                     ordenado y predefinido de actividades a seguir durante el
                     desarrollo. Útil en dominios predictivos de manufactura.
                    Proceso empírico: usado para dominios inestables y de
                     alto-cambio. En lugar de sustentarse en muchas actividades;
                     se basa en mediciones frecuentes y respuestas dinámicas a
                     eventos variables.
                    Los métodos ágiles promueven los Procesos empíricos en
                     lugar de Procesos definidos.
                       Ej.- Scrum no nos indica las actividades a realizar por
                         iteración (salvo una reunión al inicio del día).
                       Ej.- UP está en un punto medio, lista actividades
                         comunes, pero el equipo las puede ignorar o hacer en
                         cualquier orden.




                                                                               38




Dr. Ricardo Quintero                                                                     19
53
                Métodos Ágiles-Scrum y XP


                 Procesos empíricos VS. Definidos y
                 Prescriptivos

                    Los métodos ágiles entienden que el
                     grado de “peso de un método” y la
                     predefinición de actividades
                     ordenadas están en función del tipo
                     de proyecto.
                    Un método o proyecto ágil cae en un
                     “continuum” de empirismo, dirigido
                     por las necesidades.



                                                            39




                 Basado en Principios VS Basado
                 en Reglas

                    En lugar de considerar un conjunto
                     predefinido de reglas (roles,
                     organización de equipo,
                     responsabilidades, etc.) el equipo y
                     el administrador son guiados por
                     los principios más que por las
                     prácticas.



                                                            40




Dr. Ricardo Quintero                                                  20
54
                Métodos Ágiles-Scrum y XP



                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad: el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                    41




                 Disciplina de sustentabilidad: el toque
                 humano

                    No hay pocas historias de intentos
                     en adoptar métodos que requieren
                     disciplina y esfuerzo, sólo para
                     terminar en poco tiempo con poco
                     apego a los mismos.
                    Los factores sociales y
                     psicológicos necesarios para la
                     adopción sustentable se están
                     perdiendo.


                                                                    42




Dr. Ricardo Quintero                                                          21
55
                Métodos Ágiles-Scrum y XP


                 Disciplina de sustentabilidad: el toque
                 humano

                    Los creadores de algunos métodos
                     ágiles (XP, Crystal) reconocen que
                     factores humanos como el
                     disfrute, la simplicidad, el estímulo
                     a corto plazo, etc; son ingredientes
                     para crear un suelo fértil para la
                     auto-disciplina sostenible en las
                     prácticas.


                                                             43




                 Disciplina de sustentabilidad: el toque
                 humano

                    Por ejemplo, el desarrollo dirigido
                     por pruebas revela sus ventajas
                     rápidamente a aquellos que lo usan.
                    Los desarrolladores disfrutan la
                     “pequeña victoria” de pasar una
                     prueba y la clarificación en el diseño
                     que viene a partir de escribir las
                     pruebas antes de que el código sea
                     probado (práctica común en XP).


                                                             44




Dr. Ricardo Quintero                                                   22
56
                Métodos Ágiles-Scrum y XP



                 Agenda
                    Desarrollo ágil
                    Clasificación de los métodos
                    Los principios y el manifiesto ágil
                    Gestión de proyectos ágiles
                    Abrazando la comunicación y la retroalimentación
                    Prácticas y herramientas de proyectos simples
                    Procesos empíricos VS Procesos definidos y
                     prescriptivos
                    Disciplina de sustentabilidad: el roce humano.
                    El equipo como un Sistema Complejo Adaptativo.




                                                                    45




                 El equipo como un Sistema Complejo
                 Adaptativo

                    Algunos métodos ágiles (ej. Scrum)
                     hablan de un equipo de desarrollo
                     saludable como un Sistema Complejo
                     Adaptativo (SCA).
                    Lo comparan con una “parvada de
                     pájaros”. Cada pájaro tiene reglas de
                     comportamiento local relativamente
                     simples, pero a nivel macro exhiben un
                     comportamiento emergente.
                    Esto es distinto a una coordinación
                     dirigida por un líder.

                                                                    46




Dr. Ricardo Quintero                                                          23
57
                Métodos Ágiles-Scrum y XP


                 El equipo como un Sistema Complejo
                 Adaptativo

                    Los métodos ágiles promueven el
                     valor de que para proyectos
                     creativos-inventivos una cultura
                     inspirada en SCA es más valiosa
                     que el control y planeación de los
                     administradores.
                        Ej.- En Scrum los equipos son auto-
                         organizados; la organización a nivel de
                         equipo y adaptación se realiza en la
                         Scrum meeting.


                                                                        47




                 ¿Mucha promoción ágil?
                    Visto como un todo los principios y
                     prácticas ágiles (por ejemplo de XP o
                     Scrum) tienen un “sabor fresco” nuevo.
                    Se engloban en:
                        Abrazar los cambios de requisitos.
                        La comunicación.
                        La auto-organización de equipos.
                        La planeación adaptativa. Etc.
                        Y poseen algunas prácticas novedosas como el
                         desarrollo dirigido por pruebas y la integración
                         continua.


                                                                        48




Dr. Ricardo Quintero                                                              24
58
                Métodos Ágiles-Scrum y XP



                 Métodos ágiles específicos
                    De acuerdo a una encuesta de
                     Shine, XP y Scrum son los
                     métodos ágiles más ampliamente
                     utilizados.
                    Scrum: su énfasis distintivo entre
                     los métodos es su fuerte promoción
                     a los equipos auto-organizados, a la
                     medición diaria de los equipos y el
                     evitar seguir pasos predefinidos.


                                                            49




                 Métodos ágiles específicos
                    XP: es el método ágil más conocido;
                     enfatiza la colaboración, rápida y
                     temprana creación del software; y buenas
                     prácticas experimentadas de desarrollo.
                     Se fundamenta en 4 valores:
                        Comunicación.
                        Simplicidad.
                        Retroalimentación
                        Coraje o valor.




                                                            50




Dr. Ricardo Quintero                                                  25
59
                Métodos Ágiles-Scrum y XP



                 Métodos ágiles específicos
                    Familia Crystal: fue desarrollada por
                     Alistair Cockburn.
                    Al mismo tiempo que reconoce la
                     necesidad del ciclo de vida iterativo, en
                     este grupo de métodos Cockburn favorece
                     los aspectos del “peopleware” sobre los
                     procesos: comunicación, educación, etc.
                    Su definición del desarrollo de software:
                     “un juego cooperativo de invención y
                     comunicación”.

                                                               51




                 Métodos ágiles específicos
                    Familia Crystal: diferentes versiones de
                     Crystal (Clear, Yellow,…) contienen
                     incrementalmente “peso del método”
                     como una función del tamaño del staff,
                     criticalidad y prioridad del proyecto.
                    Se selecciona el tamaño y la criticalidad y
                     se mapea a una versión particular Crystal
                     con un “peso del método” recomendado.
                    Utilizaremos este modelo para clasificar
                     Scrum y XP.

                                                               52




Dr. Ricardo Quintero                                                     26
60
                Métodos Ágiles-Scrum y XP



                 Familia Crystal




                                                             53




                 Modelado Ágil
                    Es un conjunto de principios y prácticas
                     para el análisis de requisitos y modelado
                     que complementa a muchos métodos IID.
                    El Modelado Ágil promueve la creación
                     colaborativa “low-tech, high-touch” con
                     modelos que ayuden más al
                     entendimiento y la comunicación.
                    Sus prácticas promueven velocidad,
                     simplicidad y creatividad


                                                             54




Dr. Ricardo Quintero                                                   27
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01
Manual01

Contenu connexe

Tendances

METODO DE PONDERACION PARA TOMA DE DECISIONES
METODO DE PONDERACION PARA TOMA DE DECISIONESMETODO DE PONDERACION PARA TOMA DE DECISIONES
METODO DE PONDERACION PARA TOMA DE DECISIONESmoises reyes
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)Enrique Polo
 
Gestion de las adquisiciones
Gestion de las adquisicionesGestion de las adquisiciones
Gestion de las adquisicionesHector Javier
 
Negociación en la Gestión de Proyectos-artículo
Negociación en la Gestión de Proyectos-artículoNegociación en la Gestión de Proyectos-artículo
Negociación en la Gestión de Proyectos-artículoDharma Consulting
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacionFernando Solis
 
3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientosEstefanny Martinez Soto
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarepaoaboytes
 
Tutorial promodel
Tutorial promodelTutorial promodel
Tutorial promodelTensor
 
Ingenieria del software 2
Ingenieria del software 2Ingenieria del software 2
Ingenieria del software 2Luis
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDA
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDAPROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDA
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDAjjsch01
 
Introduccion a Scrum con caso práctico
Introduccion a Scrum  con caso prácticoIntroduccion a Scrum  con caso práctico
Introduccion a Scrum con caso prácticoDaniel Escribano Ales
 
Introducción a la construcción de modelos dipositivas
Introducción a la construcción de modelos dipositivasIntroducción a la construcción de modelos dipositivas
Introducción a la construcción de modelos dipositivasDayana Ortega Leguia
 
Presentacion Modelo Espiral Prototipo
Presentacion Modelo Espiral PrototipoPresentacion Modelo Espiral Prototipo
Presentacion Modelo Espiral PrototipoRosario M.
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layersMatias Yima
 

Tendances (20)

Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
METODO DE PONDERACION PARA TOMA DE DECISIONES
METODO DE PONDERACION PARA TOMA DE DECISIONESMETODO DE PONDERACION PARA TOMA DE DECISIONES
METODO DE PONDERACION PARA TOMA DE DECISIONES
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
 
Intelligent agents
Intelligent agentsIntelligent agents
Intelligent agents
 
Gestion de las adquisiciones
Gestion de las adquisicionesGestion de las adquisiciones
Gestion de las adquisiciones
 
Negociación en la Gestión de Proyectos-artículo
Negociación en la Gestión de Proyectos-artículoNegociación en la Gestión de Proyectos-artículo
Negociación en la Gestión de Proyectos-artículo
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacion
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos
 
Optimizacion de redes
Optimizacion de redesOptimizacion de redes
Optimizacion de redes
 
Preguntas rup (1)
Preguntas rup (1)Preguntas rup (1)
Preguntas rup (1)
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del software
 
Tutorial promodel
Tutorial promodelTutorial promodel
Tutorial promodel
 
Ingenieria del software 2
Ingenieria del software 2Ingenieria del software 2
Ingenieria del software 2
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDA
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDAPROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDA
PROBLEMA DEL AGENTE VIAJERO EN LA EMPRESA POSTAL EXPRESS S.S. LTDA
 
Introduccion a Scrum con caso práctico
Introduccion a Scrum  con caso prácticoIntroduccion a Scrum  con caso práctico
Introduccion a Scrum con caso práctico
 
Introducción a la construcción de modelos dipositivas
Introducción a la construcción de modelos dipositivasIntroducción a la construcción de modelos dipositivas
Introducción a la construcción de modelos dipositivas
 
Presentacion Modelo Espiral Prototipo
Presentacion Modelo Espiral PrototipoPresentacion Modelo Espiral Prototipo
Presentacion Modelo Espiral Prototipo
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layers
 

En vedette

Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programmingguest82ea27
 
Introducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingIntroducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingChileAgil
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programmingguest123148
 
Modelo delta fabrica software
Modelo delta   fabrica softwareModelo delta   fabrica software
Modelo delta fabrica softwareGino Volpi
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNSergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De DatosSergio Sanchez
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutosrodrigoi
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Julián Castiblanco
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosSergio Sanchez
 

En vedette (20)

Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Manual 02
Manual 02Manual 02
Manual 02
 
Introducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingIntroducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme Programming
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
India
IndiaIndia
India
 
Scrum orgánico - AOL V
Scrum orgánico - AOL VScrum orgánico - AOL V
Scrum orgánico - AOL V
 
Modelo delta fabrica software
Modelo delta   fabrica softwareModelo delta   fabrica software
Modelo delta fabrica software
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Kanban
KanbanKanban
Kanban
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutos
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1
 
Software Factory
Software FactorySoftware Factory
Software Factory
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Factoria software
Factoria softwareFactoria software
Factoria software
 

Similaire à Manual01

Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)Kleer Agile Coaching & Training
 
Introducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocioIntroducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocioJose Ramón Díaz
 
Administración agil de proyectos
Administración agil de proyectosAdministración agil de proyectos
Administración agil de proyectosJuan Banda
 
Metodologias Agiles de Direccion de Proyectos
Metodologias Agiles de Direccion de ProyectosMetodologias Agiles de Direccion de Proyectos
Metodologias Agiles de Direccion de ProyectosAlejandro Gabay
 
Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Rafael Igual
 
The Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekThe Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekUzi Mamani Fernández
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?Marc Florit
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágilesnetmind
 
Think Big, Start Small, Keep Moving.
Think Big, Start Small, Keep Moving. Think Big, Start Small, Keep Moving.
Think Big, Start Small, Keep Moving. Verónica Vera
 
Ee2003%20l%20 Evaluacion%20 Proyectos
Ee2003%20l%20 Evaluacion%20 ProyectosEe2003%20l%20 Evaluacion%20 Proyectos
Ee2003%20l%20 Evaluacion%20 Proyectospolo33mx
 
El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery marcosnils
 
Formulación y evaluación de proyectos
Formulación y evaluación de proyectosFormulación y evaluación de proyectos
Formulación y evaluación de proyectosssagredoa
 
Predictibilidad vs. Agilidad vs. Flexibilidad
Predictibilidad vs. Agilidad vs. FlexibilidadPredictibilidad vs. Agilidad vs. Flexibilidad
Predictibilidad vs. Agilidad vs. FlexibilidadRaúl Herranz
 
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)Luis Mulato
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadJorge Hernán Abad Londoño
 
La Alternativa Ágil 1.0
La Alternativa Ágil 1.0La Alternativa Ágil 1.0
La Alternativa Ágil 1.0Agile Spain
 

Similaire à Manual01 (20)

Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)Kleer   cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
 
Introducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocioIntroducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocio
 
Administración agil de proyectos
Administración agil de proyectosAdministración agil de proyectos
Administración agil de proyectos
 
Metodologias Agiles de Direccion de Proyectos
Metodologias Agiles de Direccion de ProyectosMetodologias Agiles de Direccion de Proyectos
Metodologias Agiles de Direccion de Proyectos
 
Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)
 
The Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile WeekThe Agile Road v2 - San Marcos Agile Week
The Agile Road v2 - San Marcos Agile Week
 
Scrum workshop
Scrum workshopScrum workshop
Scrum workshop
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágiles
 
Think Big, Start Small, Keep Moving.
Think Big, Start Small, Keep Moving. Think Big, Start Small, Keep Moving.
Think Big, Start Small, Keep Moving.
 
Ee2003%20l%20 Evaluacion%20 Proyectos
Ee2003%20l%20 Evaluacion%20 ProyectosEe2003%20l%20 Evaluacion%20 Proyectos
Ee2003%20l%20 Evaluacion%20 Proyectos
 
From rup 2 scrum, lecciones aprendidas
From rup 2 scrum, lecciones aprendidasFrom rup 2 scrum, lecciones aprendidas
From rup 2 scrum, lecciones aprendidas
 
Trabajo calidad de software.pptx
Trabajo calidad de software.pptxTrabajo calidad de software.pptx
Trabajo calidad de software.pptx
 
El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery
 
Entre lo tradicional y lo ágil (pmi) uio
Entre lo tradicional y lo ágil (pmi) uioEntre lo tradicional y lo ágil (pmi) uio
Entre lo tradicional y lo ágil (pmi) uio
 
Formulación y evaluación de proyectos
Formulación y evaluación de proyectosFormulación y evaluación de proyectos
Formulación y evaluación de proyectos
 
Predictibilidad vs. Agilidad vs. Flexibilidad
Predictibilidad vs. Agilidad vs. FlexibilidadPredictibilidad vs. Agilidad vs. Flexibilidad
Predictibilidad vs. Agilidad vs. Flexibilidad
 
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)
Prácticas Ágiles en entornos hostiles de desarrollo (Parte 2)
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abad
 
La Alternativa Ágil 1.0
La Alternativa Ágil 1.0La Alternativa Ágil 1.0
La Alternativa Ágil 1.0
 

Plus de Ricardo Quintero

Misiones en Honduras Mayo 2012
Misiones en Honduras Mayo 2012Misiones en Honduras Mayo 2012
Misiones en Honduras Mayo 2012Ricardo Quintero
 
Reseña histórica 1942 2012
Reseña histórica 1942 2012Reseña histórica 1942 2012
Reseña histórica 1942 2012Ricardo Quintero
 
03 administracion de requisitos
03 administracion de requisitos03 administracion de requisitos
03 administracion de requisitosRicardo Quintero
 
02 desarrollo de requisitos
02 desarrollo de requisitos02 desarrollo de requisitos
02 desarrollo de requisitosRicardo Quintero
 
8 test cases a partir de use cases
8 test cases a partir de use cases8 test cases a partir de use cases
8 test cases a partir de use casesRicardo Quintero
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
La OracióN De Jabes Vision
La OracióN De Jabes  VisionLa OracióN De Jabes  Vision
La OracióN De Jabes VisionRicardo Quintero
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Ricardo Quintero
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4Ricardo Quintero
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Ricardo Quintero
 
Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Ricardo Quintero
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Ricardo Quintero
 

Plus de Ricardo Quintero (20)

Misiones en Honduras Mayo 2012
Misiones en Honduras Mayo 2012Misiones en Honduras Mayo 2012
Misiones en Honduras Mayo 2012
 
Reseña histórica 1942 2012
Reseña histórica 1942 2012Reseña histórica 1942 2012
Reseña histórica 1942 2012
 
01 conceptos de diseño
01 conceptos de diseño01 conceptos de diseño
01 conceptos de diseño
 
03 administracion de requisitos
03 administracion de requisitos03 administracion de requisitos
03 administracion de requisitos
 
02 desarrollo de requisitos
02 desarrollo de requisitos02 desarrollo de requisitos
02 desarrollo de requisitos
 
01 fundamentos de ir
01 fundamentos de ir01 fundamentos de ir
01 fundamentos de ir
 
8 test cases a partir de use cases
8 test cases a partir de use cases8 test cases a partir de use cases
8 test cases a partir de use cases
 
No Silver Bullet
No Silver BulletNo Silver Bullet
No Silver Bullet
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
Ai 00 Plan De Estudios
Ai 00 Plan De EstudiosAi 00 Plan De Estudios
Ai 00 Plan De Estudios
 
Mente De CampeóN.
Mente De CampeóN.Mente De CampeóN.
Mente De CampeóN.
 
Calendario Arranque
Calendario ArranqueCalendario Arranque
Calendario Arranque
 
Mex Graf
Mex GrafMex Graf
Mex Graf
 
Ministerio de Servicio
Ministerio de ServicioMinisterio de Servicio
Ministerio de Servicio
 
La OracióN De Jabes Vision
La OracióN De Jabes  VisionLa OracióN De Jabes  Vision
La OracióN De Jabes Vision
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
 
Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2
 

Dernier

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.pdfvladimiroflores1
 
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 FabricKeyla Dolores Méndez
 
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íassuserf18419
 
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.pptxMiguelAtencio10
 
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 estossgonzalezp1
 
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 esmerilJuanGallardo438714
 
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 eyvanamcerpam
 
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.pptxLolaBunny11
 
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.pptxAlan779941
 
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.pptxlosdiosesmanzaneros
 
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 JosephBRAYANJOSEPHPEREZGOM
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
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 JUNITMaricarmen Sánchez Ruiz
 
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 UninoveFagnerLisboa3
 
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.pdfJulian Lamprea
 

Dernier (15)

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

Manual01

  • 1. Métodos ágiles-Scrum y XP Object-Oriented Technology Training Dr. Ricardo R. Quintero Meza
  • 2. 1 Métodos Ágiles-Scrum y XP El Desarrollo Iterativo y Evolutivo: Scrum y XP Tema 1: Iterativo y Evolutivo (Dr. Ricardo Quintero) 1 Repositorio en línea de Material Adicional  http://tinyurl.com/cursoagil 2 Dr. Ricardo Quintero 1
  • 3. 2 Métodos Ágiles-Scrum y XP Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 3 Desarrollo y construcción “predecible” Al construir un teléfono celular es posible definir, sin ambigüedades, sus especificaciones y pasos de construcción. Después de alguna experiencia en la construcción de teléfonos es posible hacer estimaciones confiables de costo y tiempo de futuros teléfonos a construir. 4 Dr. Ricardo Quintero 2
  • 4. 3 Métodos Ágiles-Scrum y XP Desarrollo y construcción “no predecible” Suponga una persona que desea construir una casa “a la medida”. Se quieren utilizar materiales y métodos ecológicos, pero no se está seguro al 100% de lo que se desea. Cambia o clarifica sus decisiones conforme pasa el tiempo al ver la casa y sus costos. 5 Desarrollar Software es “Desarrollar nuevos productos” + Predictibilidad de proyectos - Desarrollo de nuevos Manufactura en masa o productos o proyectos con Manufactura predecible: alto nivel de inventiva: Niveles bajos de cambio o Alto grado de novedad, novedad con altos niveles de creatividad y cambio sin creación idéntica o casi experiencia previa de idéntica casos idénticos a partir de los cuales estimar o derivar planes confiables 6 Dr. Ricardo Quintero 3
  • 5. 4 Métodos Ágiles-Scrum y XP Proyectos predecibles y no predecibles P. Predecibles P. No predecibles Al principio es posible definir sus Raramente es posible crear una especificaciones y después especificación detallada y no construir cambiante Al inicio, se puede estimar de forma Al principio no es posible. Conforme confiable el esfuerzo y el costo van surgiendo datos empíricos, incrementalmente va siendo posible planear y estimar Es posible identificar, definir, Al principio, no es posible. Se calendarizar y establecer requieren pasos adaptativos detalladamente el orden de todas conducidos por ciclos construir- las actividades retroalimentar La adaptación al cambio no La adaptación creativa para los predecible no es la norma y la cambios no previstos es la norma. razón de cambio es relativamente La razón de cambio es alta. baja 7 ¿En que categoría cae el software? Desarrollar software no es un problema de manufactura en masa o predecible. El desarrollo de software cae en la categoría de desarrollo de un producto nuevo. 8 Dr. Ricardo Quintero 4
  • 6. 5 Métodos Ágiles-Scrum y XP Si esto no convence … Muchos proyectos utilizan tecnologías nuevas (y no sencillas) que incrementan el grado de novedad y no predictibilidad. Estas tecnologías llevan a un inexperto a situaciones semejantes a las de la construcción de un nuevo producto, aún cuando tenga experiencia previa 9 Por lo tanto …  Debido a que el paradigma de manufactura predecible es el incorrecto para desarrollar software entonces … Las prácticas y valores que tienen sus raíces en el mismo no resultan útiles. 10 Dr. Ricardo Quintero 5
  • 7. 6 Métodos Ágiles-Scrum y XP Considere el “enfoque de cascada”  Especificación predictiva de las especificaciones.  Estimaciones y planes especulativos aplicables a la manufactura predecible, incorrectamente se han aplicado a los proyectos de software, un dominio que requiere trabajo inventivo, de alta razón de cambio y novedad. 11 Ejercicio: ¿Por qué estimaciones predictivas fallan?  Usando el artículo de Parnas y Clemens (1986) realice el ejercicio ¿Porqué las estimaciones predictivas fallan? 12 Dr. Ricardo Quintero 6
  • 8. 7 Métodos Ágiles-Scrum y XP ¿Por qué las estimaciones predictivas fallan?  Parnas y Clemens (1986) nos dan razones:  Los clientes o usuarios suelen no estar seguros (de forma precisa) lo que quieren.  Les resulta difícil establecer todo lo que quieren y desean.  Muchos de los detalles de lo que realmente quieren solamente se revela al momento del desarrollo. 13 ¿Por qué estas estimaciones predictivas de estimación fallan?  (cont..)Parnas y Clemens (1986) nos dan razones:  Para las personas los detalles son abrumadoramente complejos.  Conforme van viendo el producto desarrollado, van cambiando su mente (lo que desean).  Factores externos (como el producto de un competidor o servicio) dirigen los cambios o extensiones en las solicitudes. 14 Dr. Ricardo Quintero 7
  • 9. 8 Métodos Ágiles-Scrum y XP La motivación de los métodos ágiles  La motivación principal para los métodos ágiles e iterativos subyace en la apreciación de que: La actividad de construir software es compleja, con alto nivel de cambio y con naturaleza no predecible 15 Pero también son motivados por el deseo de competir y ganar  Los métodos ágiles e iterativos impulsan flexibilidad y maniobrabilidad: ventajas competitivas. 16 Dr. Ricardo Quintero 8
  • 10. 9 Métodos Ágiles-Scrum y XP Pero también son motivados por el deseo de competir y ganar  Goldman y Preiss en su libro Agile competitors and Virtual Organizations: Strategies for Enriching the Customer nos enseñan: “Agilidad es acerca de éxito y triunfo: éxito en salir triunfante en las arenas competitivas; triunfo en predicciones y clientes, en el centro de las tormentas competitivas que muchas empresas actuales enfrentan” 17 Recursos Web  www.agilealliance.com  www.cetus-links.org  www.bradapp.net  alistair.cockburn.us  www.martinfowler.com 18 Dr. Ricardo Quintero 9
  • 11. 10 Métodos Ágiles-Scrum y XP Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 19 Desarrollo iterativo  Los métodos ágiles son un subconjunto de los métodos iterativos y evolutivos.  Es un enfoque para construir software (o cualquier cosa) en el cual el ciclo de vida se compone por varias iteraciones en secuencia.  Cada iteración es un mini-proyecto auto-contenido compuesto por actividades como análisis de requisitos, diseño, programación y pruebas. 20 Dr. Ricardo Quintero 10
  • 12. 11 Métodos Ágiles-Scrum y XP Desarrollo iterativo  El objetivo final de una iteración es obtener un release de iteración: un sistema parcial estable, integrado y probado.  Es decir: Todo el software a través de todos los equipos de desarrollo se integra en un release en cada iteración.  Los release pueden ser internos (para el equipo de desarrollo) o externos (para el cliente). 21 Desarrollo iterativo e incremental (IID) La retroalimentación (feedback) de la iteración N dirige el refinamiento y adaptación de los requisitos y el diseño en la iteración N+1 feedback feedback Se construye para Se construye para Se construye para algunos requisitos algunos requisitos algunos requisitos El Sistema crece Una iteración de 3 incrementalmente RELEASE AL semanas CLIENTE 22 Dr. Ricardo Quintero 11
  • 13. 12 Métodos Ágiles-Scrum y XP Longitud de las iteraciones  Muchos proyectos tienen al menos tres iteraciones antes de un release público final.  En los métodos modernos: La longitud recomendada de una iteración oscila entre 1 y 6 semanas. 23 Disciplinas a través de las iteraciones 24 Dr. Ricardo Quintero 12
  • 14. 13 Métodos Ágiles-Scrum y XP Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 25 Planeación iterativa dirigida por el cliente y por el riesgo  ¿Qué hacer en cada iteración?  Los métodos IID promueven una combinación de prioridades dirigida por el cliente y por los riesgos. 26 Dr. Ricardo Quintero 13
  • 15. 14 Métodos Ágiles-Scrum y XP Planeación iterativa dirigida por el cliente y por el riesgo  Desarrollo iterativo dirigido por los riesgos:  Seleccione los elementos más riesgosos y difíciles para las primeras iteraciones.  Ej.- Un cliente podría decir: “Deseo que las páginas Web sean en color verde y que el sistema maneje 5,000 transacciones simultáneas” El color verde puede esperar por tanto se buscaría resolver primero el volumen de transacciones 27 Planeación iterativa dirigida por el cliente y por el riesgo  Desarrollo iterativo dirigido por el cliente:  La elección de características para cada iteración debe venir del cliente –cualquiera que sea lo que él considera de mayor valor.  De esta forma el cliente conduce el proyecto, iteración por iteración, solicitando las características que en ese momento considera de mayor valor para el negocio. 28 Dr. Ricardo Quintero 14
  • 16. 15 Métodos Ágiles-Scrum y XP Planeación iterativa dirigida por el cliente y por el riesgo  Desarrollo iterativo dirigido por el cliente (cont…):  De esta forma el cliente adaptativamente planea la selección para la siguiente iteración, brevemente antes de iniciarla, basado en la experiencia adquirida en la iteración previa, más que de forma especulativa al inicio del proyecto.  Conforme nueva información va surgiendo el cliente va percibiendo control y capacidad de decisión. 29 Planeación iterativa dirigida por el cliente y por el riesgo  Aplique ambas técnicas…  Porque:  Los clientes no siempre son capaces de percibir lo que técnicamente es más difícil o riesgoso.  Los desarrolladores no siempre aprecian lo que es de más alto valor para el negocio. 30 Dr. Ricardo Quintero 15
  • 17. 16 Métodos Ágiles-Scrum y XP Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 31 Ejercicio-El principio de Timeboxing  Lea el artículo Time boxing for top team performance.  Resuelva el ejercicio El principio de Timeboxing. 32 Dr. Ricardo Quintero 16
  • 18. 17 Métodos Ágiles-Scrum y XP El principio de TimeBoxing  Timeboxing:  Es la práctica de mantener fija la fecha final de la iteración y no permitir cambios.  Este principio debería aplicar también para la fecha final de todo el proyecto.  Si eventualmente sucediera que las solicitudes hechas (alcance) para una iteración no pueden satisfacerse dentro del timebox, entonces en lugar de cambiar la fecha final, el alcance se reduce (colocando las prioridades de más bajo riesgo al final de la lista de “deseos”). 33 El principio de TimeBoxing  Esto con el fin de que se obtenga un sistema parcial (pero creciente) en un estado estable y probado. Es importante que el Timeboxing no se utilice para presionar a los desarrolladores para que trabajen largas horas para cumplir con la inminente fecha de terminación. Si el paso normal de trabajo es insuficiente, haga menos. 34 Dr. Ricardo Quintero 17
  • 19. 18 Métodos Ágiles-Scrum y XP Longitud del TimeBox  No todos los Time-box necesitan ser iguales:  La primer iteración puede ser 4 semanas.  La segunda iteración 3 semanas, etc.  Como ya mencionamos la longitud recomendada es: 1 a 6 semanas. 35 Longitud del TimeBox  Se ha demostrado que Pasos cortos poseen:  Menor complejidad.  Menor riesgo.  Mejor retroalimentación.  Más alta productividad.  Mayor razón de éxito.  Todos los métodos modernos (incluyendo Scrum o XP o UP) requieren o recomiendan aplicar Timeboxing a las iteraciones. 36 Dr. Ricardo Quintero 18
  • 20. 19 Métodos Ágiles-Scrum y XP TimeBoxing Construye para feedback Construye para En Timeboxing, algunos requisitos algunos requisitos la variable tiempo en cada iteración se mantiene fija 1 iteración de 3 semanas 1 iteración de 2 semanas “timeboxed”. La fecha final no “timeboxed”. La fecha final no se cambia. se cambia. Alcance (tareas) Tiempo Tiempo, alcance, recursos y calidad son las 4 variables comunes con las que se puede jugar en un Proyecto proyecto. Timeboxing remueve el tiempo de estas opciones durante una iteración Calidad Recurso ¡Recuerde el “Iron (gente) Triangle”! 37 Beneficios del Time-Boxing  Enfoque: El enfoque psicológico que promueve una fecha de terminación fija de 3 semanas es muy diferente al que promueve una de 3 meses. Time boxing es un antidoto a la Ley de Parkinson: “El trabajo se expande para ocupar todo el tiempo disponible”  Las personas recuerdan más fechas postergadas que características postergadas: es un capricho de la naturaleza humana. 38 Dr. Ricardo Quintero 19
  • 21. 20 Métodos Ágiles-Scrum y XP Beneficios del Time-Boxing  Obliga a atacar niveles pequeños de complejidad: la investigación ha demostrado que pasos de complejidad baja se realizan más productivamente.  Obliga a tomar decisiones difíciles y de compensación tempranamente : se obliga a ser realista en lo que se hará y en lo que no se hará. Obliga al manejo de prioridades. 39 Durante la iteración, ningún cambio de los Stakeholder externos  Los métodos ágiles e iterativos enfrentan el cambio, pero no el caos.  Esto se logra con la siguiente regla: Una vez que se han determinado las solicitudes para una iteración y estas se están llevando a cabo, ningún stakeholder externo puede cambiar el trabajo. 40 Dr. Ricardo Quintero 20
  • 22. 21 Métodos Ágiles-Scrum y XP Durante la iteración, ningún cambio de los Stakeholder externos  No se vale que el administrador del producto (por decir alguien) diga: “¿Pueden hacer esto también?” Deberá esperar a la siguiente iteración. Sin embargo, el equipo puede reducir el ámbito de la iteración si a la fecha final del timebox no se puede lograr. 41 Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 42 Dr. Ricardo Quintero 21
  • 23. 22 Métodos Ágiles-Scrum y XP Desarrollo evolutivo y adaptativo  Desarrollo iterativo evolutivo:  Los requisitos, planes, estimaciones y soluciones evolucionan o se refinan en el transcurso de las iteraciones.  En lugar de ser completamente definidos o “congelados” en un esfuerzo mayúsculo de especificación antes de que el desarrollo iterativo empiece. Los métodos evolutivos son consistentes con el patrón de descubrimiento y cambio no predecible en el desarrollo de un nuevo producto. 43 Desarrollo evolutivo y adaptativo  Desarrollo adaptativo:  Es un término relacionado con evolutivo.  Implica que los elementos se adaptan en respuesta al “feedback” del trabajo anterior –”feedback” de usuarios, testers, desarrolladores, etc.  La intención es la misma que en el desarrollo evolutivo, pero el nombre sugiere un mecanismo más fuerte de repuesta-feedback en la evolución. 44 Dr. Ricardo Quintero 22
  • 24. 23 Métodos Ágiles-Scrum y XP Análisis evolutivo de requisitos  En el desarrollo evolutivo y adaptativo no se trata de que los requisitos están “sin límite” o “cambiantes continuamente”.  Al contrario, mucho del descubrimiento y refinamiento ocurre durante las primeras iteraciones.  La rápida atención en estas iteraciones tiene como propósito entender los requisitos arquitectónicamente más significativos o de más alto valor al negocio. 45 Análisis de requisitos evolutivo 1 2 3 4 5 ... 20 requirements workshops Imagine this will ultimately be a 20- iteration project. requirements requirements software software In evolutionary iterative development, the requirements evolve over a set of the early iterations, through a series of requirements 90% 90% workshops (for example). Perhaps after four iterations and 50% workshops, 90% of the requirements are 30% defined and refined. 20% 20% 5% 8% 10% Nevertheless, only 2% 10% of the software is Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 built. a 3-week iteration week 1 week 2 week 3 M T W Th F M T W Th F M T W Th F kickoff meeting team agile start de-scope final check-in demo and next clarifying iteration modeling & coding & iteration and code- 2-day iteration goals with the team. design, testing goals if freeze for the requirements planning 1 hour UML too much iteration workshop meeting; whiteboard work baseline 2 hours sketching. 5 hours Most OOA/D and Use-case modeling applying UML during during the workshop this period 46 Dr. Ricardo Quintero 23
  • 25. 24 Métodos Ágiles-Scrum y XP Planeación evolutiva y adaptativa  Igual que con los requisitos, la planeación adaptativa y evolutiva no se trata de que los estimados y fechas se desconozcan por siempre.  Esto es, debido a que los primeros requisitos son muy cambiantes (y a otros factores), existe una fase inicial de alto nivel de incertidumbre, la cual declinará conforme el tiempo avance y la información se acumule.  Esto ha sido llamado el Cono de Incertidumbre. Steve McConnell's Software Project Survival Guide (Microsoft Press, 1998, ISBN: 1-57231-621-7) 47 El Cono de Incertidumbre Mayor información: COCOMO 2.0 48 Dr. Ricardo Quintero 24
  • 26. 25 Métodos Ágiles-Scrum y XP Respuesta iterativa a la incertidumbre  La respuesta iterativa a la incertidumbre es postergar los estimados semi-confiables de costo, esfuerzo o tiempo hasta que unas pocas de las iteraciones han pasado. Razonablemente un 10% o 20% del proyecto. 49 Respuesta iterativa a la incertidumbre  Esto es consistente con otras prácticas administrativas en otros dominios de desarrollo de nuevos productos, donde es común una fase exploratoria inicial.  Aún más, se motiva a la planeación adaptativa más que a la planeación predictiva.  Es decir, una planificación detallada no se crea hasta que se ha avanzado más allá de un breve tiempo, de tal manera que el nivel de detalle y compromiso se consensa con la calidad de la información. 50 Dr. Ricardo Quintero 25
  • 27. 26 Métodos Ágiles-Scrum y XP Contratos de precio fijo  Con respecto a hacer una oferta de precio fijo y estimaciones evolutivas, algunos métodos IID recomiendan realizar el proyecto con un contrato de dos fases, cada uno de múltiples iteraciones “timeboxed”. 51 Contrato de dos fases 52 Dr. Ricardo Quintero 26
  • 28. 27 Métodos Ágiles-Scrum y XP Contrato de dos fases  Primera fase:  Un contrato relativamente pequeño de tiempo fijo y precio fijo, con el objetivo de cumplirse en unas cuantas iteraciones, haciendo desarrollo temprano (pero parcial) de software y análisis evolutivo de requisitos.  El resultado de la fase –incluyendo el software base- se comparte con los clientes para el contrato de precio fijo de la segunda fase.  El refinamiento evolutivo de las especificaciones y código en la fase uno ofrece datos de mayor calidad para los estimadores de la fase dos y al mismo tiempo ofrece avances del software. 53 Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 54 Dr. Ricardo Quintero 27
  • 29. 28 Métodos Ágiles-Scrum y XP Entrega incremental  Es la práctica de entregar repetidamente un sistema a producción (o al mercado) en una serie de capacidades extendidas. Es una práctica promovida por los métodos ágiles e IID.  Las entregas incrementales son en un rango de 3 a 12 meses. 55 Entrega incremental Esta práctica no debe confundirse con el desarrollo iterativo. Un ciclo de entrega de 6 meses podría componerse por 10 iteraciones. El resultado de cada iteración no se libera al mercado, pero los resultados de una entrega sí 56 Dr. Ricardo Quintero 28
  • 30. 29 Métodos Ágiles-Scrum y XP Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 57 Entrega evolutiva  Es un refinamiento de la entrega incremental.  Con la diferencia de que aquí existe un interés muy marcado por obtener “feedback” respecto al producto instalado y usar este “feedback” para guiar la siguiente entrega.  El objetivo es conocer necesidades difíciles de predecir.  Recomendación: hacer una mezcla de ambas prácticas. 58 Dr. Ricardo Quintero 29
  • 31. 30 Métodos Ágiles-Scrum y XP Entrega Incremental vs. Evolutiva  En la Entrega Incremental hay un plan definido para las entregas futuras (el “feedback” no conduce el plan de entregas).  En la Entrega Evolutiva no hay plan (o al menos no uno fijo) de entregas futuras; cada una es creada dinámicamente en base a la información que va surgiendo. 59 Temas  Motivación  Desarrollo Iterativo  Planeación iterativa dirigida por los riesgos y por el cliente  El principio de “Time boxing”  Desarrollo evolutivo y adaptativo  Entrega incremental  Entrega evolutiva  Los errores más comunes 60 Dr. Ricardo Quintero 30
  • 32. 31 Métodos Ágiles-Scrum y XP El error más común  Líderes de proceso iterativos y ágiles continuamente ven escenarios así: Líder: Seguro, nosotros no aplicaremos la cascada- ya sabemos que no funciona. Adoptaremos el método <X> y estamos ante nuestro primer proyecto. Ya hemos estado trabajando durante dos meses y hemos terminado prácticamente el análisis de los casos de uso y la planificación y programación de lo que iremos haciendo en cada iteración. Después de revisar y aprobar los requisitos finales y la programación de iteraciones, empezaremos a programar … Ups ! 61 El error más común  Esta es una profunda falta de entendimiento del método y una sobreimposición de los métodos de cascada en los métodos iterativos.  Suele ser uno de los errores más comunes. Evítalo. 62 Dr. Ricardo Quintero 31
  • 33. 32 Métodos Ágiles-Scrum y XP Métodos iterativos  Los métodos iterativos precedieron a los ágiles.  Los métodos iterativos pueden o no ser considerados ágiles. 63 Métodos iterativos  Ejemplos:  Evo (el primero, inició en los 1960s)  UP (desarrollado a mediados de los 1990s)  Microsoft Solutions Framework. (una descripción de las mejores prácticas usadas por Microsoft)  OPEN de Henderson-Sellers, FireSmith y Graham  Modelo de espiral WinWin o Modelo de espiral MBASE de Barry Bohem. 64 Dr. Ricardo Quintero 32
  • 34. 33 Métodos Ágiles-Scrum y XP Lecturas recomendadas  Rapid Devlopment-  The Mythical Man- Steve McConell. Month-Frederick Examina variaciones del Brooks. La edición de desarrollo iterativo. plata de este clásico discute las ventajas de IID, además de muchas otros temas muy interesantes 65 Dr. Ricardo Quintero 33
  • 35. 34 Métodos Ágiles-Scrum y XP El Desarrollo Iterativo y Evolutivo: Scrum y XP Tema 2: Ágil (Dr. Ricardo Quintero) 1 Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 2 Dr. Ricardo Quintero 1
  • 36. 35 Métodos Ágiles-Scrum y XP Desarrollo ágil  Los Métodos ágiles aplican:  Desarrollo evolutivo e iterativo “timeboxed”.  Planeación adaptativa.  Promueven entregas evolutivas.  Incluyen otros valores y prácticas que motivan la agilidad-respuestas rápidas y flexibles al cambio. 3 Desarrollo ágil  Su lema es: Enfrentar el cambio.  Su punto estratégico es: Maniobrabilidad 4 Dr. Ricardo Quintero 2
  • 37. 36 Métodos Ágiles-Scrum y XP Desarrollo ágil  No es posible definir exactamente a los Métodos ágiles, porque sus prácticas específicas varían.  Pero las siguientes prácticas son compartidas por diversos métodos:  Iteraciones pequeñas “timeboxed”.  Refinamiento adaptativo y evolutivo de planes y objetivos 5 Desarrollo ágil  Además los Métodos ágiles promueven prácticas y principios que reflejan una “sensación de agilidad” como: simplicidad, ligereza, comunicación, equipos autodirigidos, programación sobre documentación y más. 6 Dr. Ricardo Quintero 3
  • 38. 37 Métodos Ágiles-Scrum y XP Ejemplo de prácticas ágiles en Scrum  Ejemplos de prácticas ágiles en Scrum (que estudiaremos más al detalle posteriormente) son:  Un lugar común para el proyecto.  Equipos auto-dirigidos que se coordinan a través de reuniones diarias con preguntas concretas que cada miembro responde. 7 Ejemplo de prácticas ágiles en XP  Ejemplos de prácticas ágiles en XP (que estudiaremos más adelante) son:  Usar notas concisas en papel (story cards) para sumarizar requisitos.  Programar en parejas.  Trabajar en un lugar común con participación de tiempo completo de “proveedores de requisitos” para que los requisitos escritos puedan complementarse con explicaciones verbales. 8 Dr. Ricardo Quintero 4
  • 39. 38 Métodos Ágiles-Scrum y XP Iterativo VS ágil  Como concepto de proceso de software, “ágil” es más nuevo que el enfoque “iterativo”.  Muchos métodos IID (Evo o UP) no fueron diseñados como ágiles en su definición original, pero se pueden aplicar en un espíritu ágil.  Aunque podríamos imaginar métodos IID no-ágiles, la mayoría (por no decir todos) están adoptando los valores y prácticas ágiles –es raro que alguien promueva la no-agilidad. 9 Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 10 Dr. Ricardo Quintero 5
  • 40. 39 Métodos Ágiles-Scrum y XP Clasificación de los métodos por ceremonia y ciclos Estrictamente El peso del método en cascada(secuencial) términos de documentación, pasos El número y longitud formales, revisiones, etc. de las iteraciones Ciclos Pocos documentos Muchos documentos Pocos pasos Ceremonia Muchos Pasos formales Scrum UP XP Evo Muchas iteraciones pequeñas (5 días) 11 Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 12 Dr. Ricardo Quintero 6
  • 41. 40 Métodos Ágiles-Scrum y XP El Manifiesto Ágil  Manifiesto (según diccionario RAE): Escrito en que se hace pública declaración de doctrinas o propósitos de interés general.  El 2001 un grupo interesado en los métodos ágiles e iterativos acuñaron el término.  Se reunieron para formar la Alianza Ágil (www.agilealliance.com) con un Manifiesto y un conjunto de estatutos de principios.  Éstos guían la gestión de proyectos ágiles. 13 Valores del Manifiesto Ágil  “Individuos e interacciones sobre procesos y herramientas.  Software trabajando sobre documentación de comprensión.  Colaboración del cliente sobre negociación de contrato.  Respuesta al cambio sobre seguir un plan. Es decir, si bien existe valor en los segundos elementos, valoramos los primeros más 14 Dr. Ricardo Quintero 7
  • 42. 41 Métodos Ágiles-Scrum y XP Ejercicio – El Manifiesto ágil  Lea el Manifiesto Ágil y todo el grupo realice el siguiente ejercicio:  Dividimos el grupo en 4 equipos.  Cada equipo selecciona alguna de las doctrinas (valores) del movimiento ágil y hará una “araña” con los puntos más importantes que lo justifican. Se pega la “araña” en las paredes.  Cada equipo expondrá al resto su doctrina correspondiente. Cada equipo comentará su punto de vista sobre la doctrina. Discusión y comentarios.  Se toman fotos digitales a cada araña y se distribuyen entre los participantes. 15 Principios ágiles (leeremos las justificaciones en el Manifiesto) 1. Nuestra más alta prioridad es satisfacer al cliente a través de entregas continuas y tempranas de software valuable. 2. Bienvenidos los cambios de requisitos aún en etapas posteriores al desarrollo. Los procesos ágiles aprovechan el cambio a favor de la ventaja competitiva del cliente. 3. Entrega software trabajando frecuentemente, desde un grupo de semanas hasta un grupo de meses, con preferencia a escalas breves de tiempo 16 Dr. Ricardo Quintero 8
  • 43. 42 Métodos Ágiles-Scrum y XP Principios ágiles 4. La gente del negocio y los desarrolladores deben trabajar en conjunto diariamente a lo largo del proyecto. 5. Construye el proyecto con gente motivada. Dales el ambiente y soporte necesario y confía en que harán bien el trabajo. 6. El método más eficiente y efectivo para conllevar información hacia y dentro el equipo de desarrollo es la conversación cara-a-cara. 17 Principios ágiles 7. Software trabajando es la medida principal de progreso. 8. Los procesos ágiles promueven el desarrollo sustentable. 9. Los patrocinadores, desarrolladores y usuarios deben mantener una paz constante indefinidamente. 10. Atención constante a la excelencia técnica y el buen diseño aumenta la agilidad. 18 Dr. Ricardo Quintero 9
  • 44. 43 Métodos Ágiles-Scrum y XP Principios ágiles 11. Simplicidad-el arte de maximizar el monto de trabajo no hecho-es esencial. 12. Las mejores arquitecturas, requisitos y diseños emergen a partir de equipos auto-organizados. 13. A intervalos regulares, el equipo reflexiona sobre como ser más efectivo, acorde a lo cual ajusta su comportamiento. 19 Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 20 Dr. Ricardo Quintero 10
  • 45. 44 Métodos Ágiles-Scrum y XP Gestión de proyectos ágiles  Aunque más adelante veremos prácticas concretas de gestión de proyectos ágiles (en Scrum y XP). Hay generalizaciones comunes a todos los métodos.  Veremos dos descripciones bien conocidas. 21 Gestión de proyectos ágiles:Jim Highsmith 1. Entrega algo útil al usuario; verifica que es lo que le resulta de valor. 2. Cultiva stakeholders comprometidos. 3. Emplea un estilo de liderazgo colaborativo. 4. Construye equipos competentes y colaborativos. 5. Posibilita la toma de decisiones en equipo. Gestion de Proyectos ágiles -Highsmith.pdf 22 Dr. Ricardo Quintero 11
  • 46. 45 Métodos Ágiles-Scrum y XP Gestión de proyectos ágiles:Jim Highsmith 6. Utiliza iteraciones cortas “timeboxed” para ofrecer entregas rápidas. 7. Motiva la adaptabilidad. 8. Busca la excelencia técnica. 9. Enfócate en actividades de entrega, no en actividades de cumplimiento de procesos. 23 Gestión de proyectos ágiles:Augustine and Woodcock 1. Visión guiada: establece una visión guiada para el proyecto. Refuérzala continuamente a través de palabras y acciones. 2. Trabajo en equipo & colaboración: facilita la colaboración y el trabajo en equipo a través de relaciones y espíritu comunitario. 3. Reglas simples: establece y soporta un conjunto de prácticas guía, tales como Scrum y XP. 24 Dr. Ricardo Quintero 12
  • 47. 46 Métodos Ágiles-Scrum y XP Gestión de proyectos ágiles:Augustine and Woodcock 4. Apertura en la información: Ofrece acceso abierto y visible a la gestión del proyecto y otra información. 5. Roce ligero: Aplica sólo el control suficiente para fomentar comportamiento emergente en equipo auto-dirigido. 6. Vigilancia ágil: Refuerza la visión, sigue o adapta las reglas, escucha a la gente. 25 Gestión de proyectos ágiles:papel del administrador  Tanto en Scrum como en XP se regresa tanto el control como la planeación al equipo, no al administrador.  El administrador no crea la estructura de partición del trabajo, la estimación de tiempos; todo esto se hace en equipo.  Generalmente el administrador no dice a la gente lo que hará.  El administrador no define y asigna detalladamente la mayoría de los roles y responsabilidades. 26 Dr. Ricardo Quintero 13
  • 48. 47 Métodos Ágiles-Scrum y XP Gestión de proyectos ágiles:papel del administrador  Al contrario:  El rol del administrador del proyecto es realizar coaching, ofrecer recursos, mantener la visión, remover impedimentos, promover los principios ágiles, etc. 27 Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 28 Dr. Ricardo Quintero 14
  • 49. 48 Métodos Ágiles-Scrum y XP Programación como si la gente importara “La gente es más importante que cualquier proceso. Buena gente con un buen proceso superará siempre a buena gente sin ningún proceso” Grady Booch (1996) 29 Programación como si la gente importara  El primer valor del Manifiesto ágil es que los Individuos y las interacciones están sobre los procesos y las herramientas.  Nos recuerda que: la programación es una actividad humana.  Atento al impacto del “trabajo extra” en la habilidad para programar bien o mantener una vida familiar o social saludable, XP tiene la regla de paz sustentable-evitar el “trabajo extra” 30 Dr. Ricardo Quintero 15
  • 50. 49 Métodos Ágiles-Scrum y XP Programación como si la gente importara  Los hábitos correctos de trabajo y conocimiento juegan un papel significativo en la productividad-el valor de la educación constante y del mentoring para desarrolladores.  XP motiva fuertemente la transferencia de habilidades a través de la programación en parejas. 31 Programación como si la gente importara  El énfasis en la comunicación es también importante, especialmente las conversaciones cara-a-cara.  Las reuniones diarias de Scrum y un lugar común para el proyecto y en XP la programación en parejas y todo el equipo junto son ejemplos. 32 Dr. Ricardo Quintero 16
  • 51. 50 Métodos Ágiles-Scrum y XP Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad:el roce humano.  El equipo como un Sistema Complejo Adaptativo. 33 Prácticas y herramientas de proyectos simples  Muchos métodos ágiles promueven el principio de hacer lo más simple que posiblemente funcione – un aforismo* XP. *Sentencia breve y doctrinal que se propone como regla en alguna ciencia o arte (Diccionario RAE) 34 Dr. Ricardo Quintero 17
  • 52. 51 Métodos Ágiles-Scrum y XP Prácticas y herramientas de proyectos simples  Muchos métodos ágiles promueven un enfoque “low-tech, high- touch”.  Low-tech es relativo, si una herramienta Web es lo más simple, úsala. 35 Prácticas y herramientas de proyectos simples Es un malentendido igualar los métodos ágiles con falta de habilidad o auto-disciplina. Un proyecto aplicando todas las prácticas XP tiene plena estructura y disciplina. Pero –y esto es quizá el punto clave en los métodos ágiles- las prácticas “disciplinadas” son muy orientadas-a- entregables o de orientación-a-calidad-en-el- código. Los desarrolladores rápidamente ven los beneficios. 36 Dr. Ricardo Quintero 18
  • 53. 52 Métodos Ágiles-Scrum y XP Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad: el roce humano.  El equipo como un Sistema Complejo Adaptativo. 37 Procesos Empíricos vs. Definidos y Prescriptivos  Proceso definido (o prescriptivo): tiene un conjunto ordenado y predefinido de actividades a seguir durante el desarrollo. Útil en dominios predictivos de manufactura.  Proceso empírico: usado para dominios inestables y de alto-cambio. En lugar de sustentarse en muchas actividades; se basa en mediciones frecuentes y respuestas dinámicas a eventos variables.  Los métodos ágiles promueven los Procesos empíricos en lugar de Procesos definidos.  Ej.- Scrum no nos indica las actividades a realizar por iteración (salvo una reunión al inicio del día).  Ej.- UP está en un punto medio, lista actividades comunes, pero el equipo las puede ignorar o hacer en cualquier orden. 38 Dr. Ricardo Quintero 19
  • 54. 53 Métodos Ágiles-Scrum y XP Procesos empíricos VS. Definidos y Prescriptivos  Los métodos ágiles entienden que el grado de “peso de un método” y la predefinición de actividades ordenadas están en función del tipo de proyecto.  Un método o proyecto ágil cae en un “continuum” de empirismo, dirigido por las necesidades. 39 Basado en Principios VS Basado en Reglas  En lugar de considerar un conjunto predefinido de reglas (roles, organización de equipo, responsabilidades, etc.) el equipo y el administrador son guiados por los principios más que por las prácticas. 40 Dr. Ricardo Quintero 20
  • 55. 54 Métodos Ágiles-Scrum y XP Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad: el roce humano.  El equipo como un Sistema Complejo Adaptativo. 41 Disciplina de sustentabilidad: el toque humano  No hay pocas historias de intentos en adoptar métodos que requieren disciplina y esfuerzo, sólo para terminar en poco tiempo con poco apego a los mismos.  Los factores sociales y psicológicos necesarios para la adopción sustentable se están perdiendo. 42 Dr. Ricardo Quintero 21
  • 56. 55 Métodos Ágiles-Scrum y XP Disciplina de sustentabilidad: el toque humano  Los creadores de algunos métodos ágiles (XP, Crystal) reconocen que factores humanos como el disfrute, la simplicidad, el estímulo a corto plazo, etc; son ingredientes para crear un suelo fértil para la auto-disciplina sostenible en las prácticas. 43 Disciplina de sustentabilidad: el toque humano  Por ejemplo, el desarrollo dirigido por pruebas revela sus ventajas rápidamente a aquellos que lo usan.  Los desarrolladores disfrutan la “pequeña victoria” de pasar una prueba y la clarificación en el diseño que viene a partir de escribir las pruebas antes de que el código sea probado (práctica común en XP). 44 Dr. Ricardo Quintero 22
  • 57. 56 Métodos Ágiles-Scrum y XP Agenda  Desarrollo ágil  Clasificación de los métodos  Los principios y el manifiesto ágil  Gestión de proyectos ágiles  Abrazando la comunicación y la retroalimentación  Prácticas y herramientas de proyectos simples  Procesos empíricos VS Procesos definidos y prescriptivos  Disciplina de sustentabilidad: el roce humano.  El equipo como un Sistema Complejo Adaptativo. 45 El equipo como un Sistema Complejo Adaptativo  Algunos métodos ágiles (ej. Scrum) hablan de un equipo de desarrollo saludable como un Sistema Complejo Adaptativo (SCA).  Lo comparan con una “parvada de pájaros”. Cada pájaro tiene reglas de comportamiento local relativamente simples, pero a nivel macro exhiben un comportamiento emergente.  Esto es distinto a una coordinación dirigida por un líder. 46 Dr. Ricardo Quintero 23
  • 58. 57 Métodos Ágiles-Scrum y XP El equipo como un Sistema Complejo Adaptativo  Los métodos ágiles promueven el valor de que para proyectos creativos-inventivos una cultura inspirada en SCA es más valiosa que el control y planeación de los administradores.  Ej.- En Scrum los equipos son auto- organizados; la organización a nivel de equipo y adaptación se realiza en la Scrum meeting. 47 ¿Mucha promoción ágil?  Visto como un todo los principios y prácticas ágiles (por ejemplo de XP o Scrum) tienen un “sabor fresco” nuevo.  Se engloban en:  Abrazar los cambios de requisitos.  La comunicación.  La auto-organización de equipos.  La planeación adaptativa. Etc.  Y poseen algunas prácticas novedosas como el desarrollo dirigido por pruebas y la integración continua. 48 Dr. Ricardo Quintero 24
  • 59. 58 Métodos Ágiles-Scrum y XP Métodos ágiles específicos  De acuerdo a una encuesta de Shine, XP y Scrum son los métodos ágiles más ampliamente utilizados.  Scrum: su énfasis distintivo entre los métodos es su fuerte promoción a los equipos auto-organizados, a la medición diaria de los equipos y el evitar seguir pasos predefinidos. 49 Métodos ágiles específicos  XP: es el método ágil más conocido; enfatiza la colaboración, rápida y temprana creación del software; y buenas prácticas experimentadas de desarrollo. Se fundamenta en 4 valores:  Comunicación.  Simplicidad.  Retroalimentación  Coraje o valor. 50 Dr. Ricardo Quintero 25
  • 60. 59 Métodos Ágiles-Scrum y XP Métodos ágiles específicos  Familia Crystal: fue desarrollada por Alistair Cockburn.  Al mismo tiempo que reconoce la necesidad del ciclo de vida iterativo, en este grupo de métodos Cockburn favorece los aspectos del “peopleware” sobre los procesos: comunicación, educación, etc.  Su definición del desarrollo de software: “un juego cooperativo de invención y comunicación”. 51 Métodos ágiles específicos  Familia Crystal: diferentes versiones de Crystal (Clear, Yellow,…) contienen incrementalmente “peso del método” como una función del tamaño del staff, criticalidad y prioridad del proyecto.  Se selecciona el tamaño y la criticalidad y se mapea a una versión particular Crystal con un “peso del método” recomendado.  Utilizaremos este modelo para clasificar Scrum y XP. 52 Dr. Ricardo Quintero 26
  • 61. 60 Métodos Ágiles-Scrum y XP Familia Crystal 53 Modelado Ágil  Es un conjunto de principios y prácticas para el análisis de requisitos y modelado que complementa a muchos métodos IID.  El Modelado Ágil promueve la creación colaborativa “low-tech, high-touch” con modelos que ayuden más al entendimiento y la comunicación.  Sus prácticas promueven velocidad, simplicidad y creatividad 54 Dr. Ricardo Quintero 27