VALORES
RESPUESTA ANTE EL CAMBIO
4# Responder al cambio por encima de seguir con un plan
Este último valor es crucial para poder realizar un desarrollo ágil de proyectos. Recuerda que el motivo del nacimiento de esta metodología de gestión de proyectos era el de tener un framework que permitiese a los equipos adaptarse al cambio continuo.
Cualquier equipo que trabaje bajo esta metodología ha de saber que el cambio es inevitable. Cuanto más grande o complejo sea tu proyecto, mayor será el grado de incertidumbre bajo el que tienes que trabajar.
Es posible que la ejecución de un proyecto bajo un plan estricto te garantice completar un proyecto en el plazo y presupuesto, pero corriendo el grave riesgo de no solucionar las necesidades de los clientes o aportar el máximo valor añadido posible. Los mejores proyectos son aquellos que pueden integrar correctamente el cambio en su desarrollo.
COLABORACIÓN
3# Colaboración con el cliente por encima de la negociación contractual
Durante el desarrollo Ágil, la satisfacción de los clientes es considerada la máxima prioridad. Al final del día, si no aporta valor al cliente, no tiene sentido gastar ni 1 minuto en esa tarea.
El manifiesto refleja que históricamente los contratos son partes en las que se gasta gran cantidad de tiempo y de energía ya que son un proceso rígido y burocrático.
En el framework de agile se potencia una colaboración temprana y recurrente con el cliente, lo cual permite que el equipo de desarrollo del producto puede adaptarse más ágilmente a las necesidades del cliente sin requerir de tanta negociación contractual.
Esto no significa que en el framework de Agile no existan los contratos entre ambas partes, sino tratar de que sean contratos flexibles que permitan adaptación al cambio y enfocar el tiempo en lo realmente importante: crear producto y entregar valor a los usuarios.
SOFTWARE
2# El software de trabajo por encima de la documentación
Este principio significa que el equipo debería estar invirtiendo tiempo en trabajar en cosas que realmente produzcan valor para el cliente y evitar invertir tiempo y recursos en otras actividades como debatir, escribir o revisar documentación.
No hemos de pensar que este principio del manifiesto aplica únicamente a proyectos de software, ya que realmente permite tocar muchos otros proyectos como redactar un resumen ejecutivo, diseñar los planos de una oficina o preparar una presentación de ventas.
En resumen, es más importante entregar el producto que quieren los consumidores que documentar de forma exhaustiva el proceso que hemos utilizado para llegar a dicho punto.
INDIVIDUOS
1# Individuos e interacciones por encima de los procesos y herramientas
Este valor refleja la importancia de la comunicación entre miembros del equipo frente a utilizar procesos y herramientas para forzar que el devenir del proyecto sea de una forma u otra.
Por ejemplo; ¿Alguna vez has escrito un email para hacer unas simples preguntas y has recibido una respuesta poco clara que seguía una plantilla rígida? Lo más probable es que podrías haber conseguido la misma información a través de una simple comunicación con la otra persona.
La metodología agile quiere asegurarse de que los miembros del equipo trabajan unos con otros, colaboran y obtienen en común el mejor de los posibles resultados. Adicionalmente, en los equipos agile es muy importante evaluar las opiniones individuales y la creatividad.
MOTIVACIÓN
TRABAJO CONJUNTO
SOFTWARE DE VALOR
PROCESOS ÁGILES
AJUSTES
COMUNICACIÓN
LOS PROCESOS ÁGILES SE DOBLEGAN AL CAMBIO COMO VENTAJA COMPETITIVA PARA EL CLIENTE
LOS PATROCINADORES, DESARROLLADORES Y USUARIOS DEBEN MANTENER UN RITMO CONSTANTE DE FORMA INDEFINIDA.
EN INTERVALOS REGULARES, EL EQUIPO REFLEXIONA SOBRE LA FORMA DE SER MÁS EFECTIVO Y AJUSTA SU CONDUCTA EN CONSECUENCIA
LAS MEJORES ARQUITECTURAS, REQUISITOS Y DISEÑOS EMERGEN DE EQUIPOS QUE SE AUTOORGANIZAN
SIMPLICIDAD COMO ARTE DE MAXIMIZAR LA CANTIDAD DE TRABAJO QUE SE HACE, ES ESENCIAL
LA ATENCIÓN CONTINUA A LA EXCELENCIA TÉCNICA ENALTECE LA AGILIDAD.
LOS PROCESOS ÁGILES PROMUEVEN EL DESARROLLO SOSTENIDO
EL SOFTWARE QUE FUNCIONA ES LA PRINCIPAL MEDIDA DEL PROGRESO
LA FORMA MÁS EFICIENTE Y EFECTIVA DE COMUNICAR INFORMACIÓN DE IDA Y VUELTA DENTRO DE UN EQUIPO DE DESARROLLO ES MEDIANTE LA CONVERSACIÓN CARA A CARA
CONSTRUCCIÓN DE PROYECTOS EN TORNO A INDIVIDUOS MOTIVADOS, DÁNDOLES LA OPORTUNIDAD Y EL RESPALDO QUE NECESITAN Y PROCURÁNDOLES CONFIANZA PARA QUE REALICEN LA TAREA
LAS PERSONAS DEL NEGOCIO Y LOS DESARROLLADORES DEBEN TRABAJAR JUNTOS DE FORMA COTIDIANA A TRAVÉS DEL PROYECTO
ENTREGAR CON FRECUENCIA SOFTWARE QUE FUNCIONE, EN PERIODOS DE UN PAR DE SEMANAS HASTA UN PAR DE MESES, CON PREFERENCIA EN LOS PERIODOS BREVES
SON BIENVENIDOS LOS REQUISITOS CAMBIANTES, INCLUSO SI LLEGAN TARDE AL DESARROLLO.
El 12 de febrero de 2001 diecisiete críticos de los modelos de mejora del desarrollo de software basados en procesos, convocados por Kent Beck, quien había publicado un par de años antes Extreme Programming Explained, libro en el que exponía una nueva metodología denominada Extreme Programming, se reunieron en Snowbird, Utah para tratar sobre técnicas y procesos para desarrollar software.
LA PRINCIPAL PRIORIDAD ES SATISFACER AL CLIENTE A TRAVÉS DE LA ENTREGA TEMPRANA Y CONTINUA DE SOFTWARE DE VALOR
VALORAR MÁS LA RESPUESTA ANTE EL CAMBIO
A SEGUIR UN PLAN
VALORAR MÁS LA COLABORACIÓN CON EL CLIENTE
QUE LA NEGOCIACIÓN CONTRACTUAL
VALORAR MÁS EL SOFTWARE FUNCIONANDO
QUE LA DOCUMENTACIÓN EXHAUSTIVA
VALORAR MÁS A LOS INDIVIDUOS Y SUS INTERACCIONES QUE A LOS PROCESOS Y LAS HERRAMIENTAS
MANIFIESTO ÁGIL
DAVE THOMAS
- Dave Thomas estudió Ciencias de la Computación en el Imperial College de Londres y actualmente trabaja como programador.
Thomas acuñó las frases ‘Code Kata’ y ‘DRY’ (Do not Repeat Yourself).
Es autor de:
Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun, Dave Thomas, (2014)
Es co-autor de:
The Pragmatic Programmer, Andrew Hunt and David Thomas, (1999)
Programming Ruby: A Pragmatic Programmer’s Guide, David Thomas and Andrew Hunt, (2000)
Pragmatic Version Control Using CVS, David Thomas and Andrew Hunt, (2003)
Pragmatic Unit Testing in Java with JUnit, Andrew Hunt and David Thomas, (2003)
Pragmatic Unit Testing in C# with Nunit, Andrew Hunt and David Thomas, (2004)
Programming Ruby (2nd Edition), Dave Thomas, Chad Fowler, and Andrew Hunt, (2004)
Pragmatic Unit Testing in C# with Nunit, Andy Hunt and David Thomas with Matt Hargett, (2007)
Agile Web Development with Rails, Dave Thomas, David Heinemeier Hansson, Andreas Schwarz, Thomas Fuchs, Leon Breedt, and Mike Clark, (2005)
Agile Web Development with Rails, Dave Thomas, with David Heinemener Hansson, Mike Clark, Justin Gehtland, James Duncan Davidson, (2006)
KEN SCHWABER
- Ken Schwaber es presidente de Advanced Development Methods (ADM), una empresa dedicada a mejorar la práctica del desarrollo de software. Es un experimentado desarrollador de software, gerente de producto y consultor de la industria. Schwaber inició la revolución de productos de gestión de procesos a principios de la década de 1990 y también trabajó con Jeff Sutherland para formular las versiones iniciales del proceso de desarrollo de Scrum. Durante los últimos cinco años, ha formalizado Scrum , ayudó a muchas organizaciones a implementar con éxito productos y sistemas utilizando Scrum y fue coautor de Scrum, Agile Software Development con Mike Beedle (Prentice Hall, otoño de 2001).
STEVE MELLOR
ROBERT C. MARTIN
- Robert C. Martin es un profesional del software desde 1970. Es presidente y fundador de Object Mentor Inc. una firma de consultores altamente experimentados que ofrecen servicios de consultoría de procesos ágiles y XP, consultoría de diseño de software, capacitación y desarrollo a las principales corporaciones de todo el mundo. En 1995, fue autor del libro más vendido: Designing Object Oriented C++ Applications using the Booch Method, publicado por Prentice Hall. En 1997 fue editor en jefe del libro: Pattern Languages of Program Design 3, publicado por Addison Wesley. En 1999 fue editor de "More C++ Gems" publicado por Cambridge Press. Es coautor de "XP in Practice", James Newkirk y Robert C. Martin, Addision Wesley, 2001. Actualmente está trabajando en "Principles, Patterns, and Practices of Agile Software Development" que será publicado por Prentice Hall en 2002. De 1996 a 1999 fue editor en jefe del C++ Report.
JEFF SUTHERLAND
- Jeff Sutherland es director de tecnología de PatientKeeper, una empresa nueva con sede en el MIT que proporciona aplicaciones móviles/inalámbricas a los médicos. Ha sido CTO o VP de ingeniería en nueve empresas de tecnología de software e introdujo procesos de desarrollo ágiles mejorados en cada una de ellas. Su trabajo en componentes de objetos comerciales reutilizables a través de Object Management Group y OOPSLA Business Object Workshop durante la última década ha llevado a nuevos productos de bases de datos, entornos de desarrollo de software, herramientas CASE/OOAD, así como aplicaciones verticales en múltiples industrias. Como fundador y vicepresidente de ingeniería de Individual Inc., lanzó NewsPage personal. Como ex vicepresidente sénior de ingeniería y director de tecnología de IDX Systems, desarrolló nuevas aplicaciones de Internet para el cuidado de la salud. Su trabajo en grandes proyectos de software basados en componentes ha llevado a innovaciones en banca, seguros, sistemas de biblioteca, aeroespacial, arrendamiento de aerolíneas y aeronaves, ingeniería nuclear y robótica. Como inventor del proceso de desarrollo SCRUM, su experiencia en el desarrollo organizacional ha permitido repetidamente que los equipos de desarrollo de alto octanaje entreguen productos de software de clase mundial.
BRIAN MARICK
- Brian Marick es programador y consultor de pruebas de software. Llegó a Snowbird como representante de una parte de la comunidad de pruebas de software que ha estado desarrollando un estilo de prueba que enfatiza la exploración, una menor dependencia de la documentación, una mayor aceptación del cambio y la noción de que un proyecto es una conversación continua sobre la calidad. Está comenzando una exploración de lo que podría significar "Pruebas ágiles" y cómo encaja con el Desarrollo ágil, en la sección Pruebas ágiles de su página web.
JON KERN
- Jon kern le apasiona ayudar a los clientes a tener éxito en la entrega de valor comercial a través de los esfuerzos de desarrollo de software. Su variada carrera ha abarcado I+D de motores a reacción a través de simuladores de vuelo basados en centrífugas, hasta ser un evangelista orientado a objetos durante los años 90, comenzando con C++ y moviéndose a Java. Primero publicó su metodología ligera de desarrollo iterativo en (por extraño que parezca) guías para desarrolladores para Lotus Notes 4.5 y 5.0. Estaba fuertemente motivado por el mantra de su amigo Peter Coad de ofrecer "resultados de trabajo frecuentes, tangibles". Puso sus técnicas a trabajar en proyectos del Departamento de Defensa y luego en su propia empresa (Lightship, Inc.). En 1999, se unió a Peter Coad para la puesta en marcha de TogetherSoft, donde creó el grupo de mentores profesionales y guió el desarrollo de productos. Jon fue coautor de Java Design, y trabajó con Peter y Jeff De Luca (el colaborador principal de FDD) para ayudar a dar forma al capítulo sobre desarrollo basado en características (FDD) en Java Modeling in Color con UML. Jon busca constantemente mejores formas para que los equipos logren sus objetivos, desde una perspectiva tecnológica y desde una perspectiva de proceso y metodología. En palabras de Jon, Pragmatic MDA a través de OptimalJ de Compuware (http://www.optimalj.com) representa un avance emocionante y revolucionario al tener un entorno que promueve las mejores prácticas, arquitectura sólida, desarrollo ágil, calidad por diseño (no accidental) y enfoque similar al láser en la entrega de valor comercial a través del uso estratégico de los recursos de TI. Puede encontrar a Jon blogueando en http://blogs.compuware.com/cs/blogs/jkern/ desde una perspectiva tecnológica y desde una perspectiva de proceso y metodología. En palabras de Jon, Pragmatic MDA a través de OptimalJ de Compuware (http://www.optimalj.com) representa un avance emocionante y revolucionario al tener un entorno que promueve las mejores prácticas, arquitectura sólida, desarrollo ágil, calidad por diseño (no accidental) y enfoque similar al láser en la entrega de valor comercial a través del uso estratégico de los recursos de TI. Puede encontrar a Jon blogueando en http://blogs.compuware.com/cs/blogs/jkern/ desde una perspectiva tecnológica y desde una perspectiva de proceso y metodología. En palabras de Jon, Pragmatic MDA a través de OptimalJ de Compuware (http://www.optimalj.com) representa un avance emocionante y revolucionario al tener un entorno que promueve las mejores prácticas, arquitectura sólida, desarrollo ágil, calidad por diseño (no accidental) y enfoque similar al láser en la entrega de valor comercial a través del uso estratégico de los recursos de TI. Puede encontrar a Jon blogueando en http://blogs.compuware.com/cs/blogs/jkern/ y un enfoque similar al láser en la entrega de valor comercial a través del uso estratégico de los recursos de TI. Puede encontrar a Jon blogueando en http://blogs.compuware.com/cs/blogs/jkern/ y un enfoque similar al láser en la entrega de valor comercial a través del uso estratégico de los recursos de TI. Puede encontrar a Jon blogueando en http://blogs.compuware.com/cs/blogs/jkern/
RON JEFFRIES
- Ron Jeffries es propietario de XProgramming.com , consultor de Object Mentor y autor (con Ann Anderson y Chet Hendrickson) de Extreme Programming Installed . Ron fue el primer entrenador de programación extrema y es un colaborador prolífico de los grupos de Internet relacionados con XP y un orador frecuente en conferencias de software.
JAMES GRENNING
MARTIN FOWLER
- Martin Fowler es el científico jefe de Thoughtworks, una empresa de consultoría y desarrollo de aplicaciones. Ha estado involucrado durante más de una década en el uso de técnicas orientadas a objetos para sistemas de información. Aunque su principal interés ha sido el diseño de software, nunca ha podido evitar el proceso de software y se ha interesado en los enfoques que permiten que la metodología se adapte a las personas y no al revés. Es autor de Patrones de análisis, UML destilado, Refactorización y Planificación de programación extrema.
WARD CUNNINGHAM
- Ward Cunningham es uno de los fundadores de Cunningham & Cunningham, Inc. También se desempeñó como director de I+D en Wyatt Software y como ingeniero principal en el laboratorio de investigación informática de Tektronix antes de eso. Ward es bien conocido por sus contribuciones al desarrollo de la práctica de la programación orientada a objetos, la variación llamada Programación Extrema y las comunidades alojadas en su WikiWikiWeb. Participa activamente en Hillside Group y se ha desempeñado como presidente del programa de la conferencia Pattern Languages of Programs que patrocina. Ward creó el método de diseño CRC que ayuda a los equipos a encontrar objetos centrales para sus programas. Ward ha escrito para PLoP, JOOP y OOPSLA sobre patrones, objetos, CRC y temas relacionados.
ANDREW HUNT
- Andrew Hunt es socio de The Pragmatic Programmers y coautor del libro más vendido The Pragmatic Programmer: From Journeyman to Master , el nuevo Ruby de programación., y varios artículos. Entre escribir, dar charlas, trabajar la madera y tocar el piano, Andy encuentra tiempo para su negocio de consultoría especializado en desarrollo ágil de software. Andy ha estado escribiendo software profesionalmente desde principios de los años 80 en diversas industrias, como telecomunicaciones, banca, servicios financieros, servicios públicos, imágenes médicas, artes gráficas y servicios de Internet. Andy tiene su sede en Raleigh NC y, junto con el coautor Dave Thomas, es conocido por llevar las mejores prácticas pragmáticas e independientes de los métodos a los proyectos de desarrollo de software en los EE. UU. Es presidente del capítulo RTP de la Asociación de consultores informáticos independientes y miembro de el ACM y el IEEE.
JIM HIGHSMITH
- Jim Highsmith es el desarrollador principal del método ágil "Desarrollo de software adaptativo" y autor de un libro con el mismo nombre. Ha hablado (o ha programado hablar) sobre el desarrollo adaptativo y otros métodos ágiles en conferencias como OOPSLA, Cutter Summit, SD 2001, XP2001 y procesos flexibles, Project World y XP Universe. Jim es coautor, con Martin Fowler, del artículo "The Agile Manifesto" en la edición de agosto de 2001 de la revista "Software Development" y tiene varios artículos adicionales sobre "Agile" en preparación. Jim y Alistair Cockburn están trabajando para combinar los métodos ASD y Crystal y también son coeditores de una nueva serie de libros de Addison-Wesley sobre desarrollo de software ágil. Jim está trabajando en un libro sobre todos los métodos ágiles que se publicará en 2002.
ALISTAIR COCKBURN
- Alistair Cockburn , fundador de Humans and Technology , es conocido por sus extensas entrevistas a equipos de proyectos. Estas entrevistas, junto con su participación activa en proyectos en vivo, forman la base de sus diseños metodológicos: ligeros pero suficientes y autoevolutivos. El trabajo de Alistair en la década de 1990 se convirtió en la familia Crystal de metodologías ágiles. Alistair y Jim Highsmith ahora están trabajando juntos para desarrollar las ideas de Crystal y Adaptive en recomendaciones para crear ecosistemas de desarrollo de software ágiles, el encuentro de la metodología genérica con la situación específica de un equipo de proyecto. Alistair y Jim copatrocinan la serie de libros Agile Software Development para publicar técnicas para el crecimiento personal y ejemplos de metodologías ágiles que se han utilizado con éxito.
ARIE VAN BENNEKUM
- Arie van Bennekum ha estado involucrado activamente en DSDM y el Consorcio DSDM desde 1997. Antes de eso, había estado trabajando con Rapid Application Development. Su pasión por los métodos ágiles se basa en brindar a los clientes lo que realmente necesitan de una manera que realmente se adapte a los usuarios finales y al negocio. Debido a que las sesiones facilitadas son muy importantes dentro del método DSDM y su pasión por los procesos grupales y el comportamiento humano, muy a menudo participa en proyectos como facilitador y entrenador. En este momento, es miembro de la junta directiva de DSDM Consortium Benelux y está acreditado como practicante de DSDM, capacitador de DSDM, consultor de DSDM y facilitador profesional certificado (CPF) de la IAF.
MIKE BEEDLE
- Mike Beedle es el fundador y director ejecutivo de e-Architects Inc., una empresa de consultoría que se especializa en el desarrollo de aplicaciones utilizando objetos distribuidos y tecnologías de Internet. A pesar de las demandas comerciales de Mike, se ha mantenido como consultor en las trincheras donde aplica Scrum y XP juntos a través de XBreed.. Mike tuvo el privilegio de ser uno de los primeros en adoptar el método Scrum y ha introducido Scrum en 7 organizaciones desde mediados de los 90. La especialidad de Mike es asesorar a las empresas en la creación de arquitecturas reutilizables a gran escala que involucren a muchos equipos de aplicaciones. Su récord hasta el momento es de 17 aplicaciones reutilizando los mismos componentes como: flujos de trabajo, componentes visuales, transacciones, objetos de negocio y servicios de arquitectura. Mike ha publicado en varias áreas, incluida la tecnología de objetos, patrones, componentes, marcos, desarrollo de software, lenguajes de programación, reutilización, flujo de trabajo, BPR y física. Ha coorganizado varios talleres sobre objetos, patrones, componentes y desarrollo de software durante la última década. Es coautor de Scrum, Agile Software Developmentcon Ken Schwaber (Prentice Hall, otoño de 2001), un libro provocativo que asume que el desarrollo de software se parece más al desarrollo de nuevos productos que a los procesos de fabricación que la industria del software ha utilizado durante los últimos 20 años.
KENT BECK
PRINCIPIOS
AJUSTES EN EL PROCESO
AUTOORGANIZACIÓN
SIMPLICIDAD
EXCELENCIA TÉCNICA
PROCESOS ÁGILES Y DESARROLLO SOSTENIDO
SOFTWARE FUNCIONAL
COMUNICACIÓN Y FEEDBACK
MOTIVACIÓN Y RESPALDO
TRABAJO CONJUNTO ENTRE CLIENTE Y DESARROLLADORES
ENTREGAS FRECUENTES
REQUISITOS CAMBIANTES
PRIORIDAD: SATISFACER AL CLIENTE