En este artículo introduciremos cómo se creó el manifiesto ágil y explicaremos en detalle los valores ágiles.
Introducción histórica
Inicialmente cuando se comenzó a desarrollar Software se intentó gestionar tratando de adaptar la gestión de proyectos de otras disciplinas como la arquitectura, la industria o la ingeniería civil. Creando así la ingeniería del Software.
Dicha gestión establecía los métodos, principios y reglas para obtener software basado en un ciclo de vida en cascada.
Muy pronto se empezó a notar que éste modelo (metodologías pesadas), no se adaptaba a bien para la gestión de desarrollo software, fundamentalmente porque asumían que no se iban a presentar cambios una vez iniciado el proyecto, esto supuso un gran paradigma en tareas como la documentación, participación del cliente, largos tiempos de espera para ver los resultados y cumplimiento de los contratos.
Metodologías ágiles
Después varios años con esfuerzos aislados para resolver estos problemas, en febrero de 2001 se reunieron un grupo de profesionales de la ingeniería del software para tratar establecer los valores y principios que permitirían a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Promoviendo en particular:
- Una planificación adaptativa
- Una entrega temprana
- Una mejora continua
De esta forma se elaboró el Manifiesto Ágil como una alternativa a los procesos de desarrollo tradicionales.
Dicho manifiesto consta de cuatro valores y doce principios que serán presentados a continuación.
1: Valorar a los individuos y las interacciones del equipo de desarrollo sobre el proceso y las herramientas.
El pilar fundamental del manifiesto. Hay que dejar claro que tampoco se trata de no valorar los procesos y las herramientas si no de establecer una prioridad. Ambos elementos son importantes, pero los primeros lo son más que los segundos.
- Los procesos nos ofrecen una guía para trabajar.
- Las herramientas mejoran la eficiencia.
- Las personas con su conocimiento técnico y actitud adecuada producen los resultados.
Para garantizar una mayor productividad, las metodologías ágiles valoran el recurso humano como el principal factor de éxito. Para lograr esto son los procesos los que se tienen que adaptar al equipo y no al revés.
La pieza fundamental del éxito de una empresa de base tecnológica son las personas.
¿Cómo podemos valorar a los individuos y a las interacciones del equipo?
Fomentando los siguientes aspectos:
- El respeto por el valor de cada persona
- Transparencia en toda la información (datos, acciones y decisiones).
- Confianza en los integrantes del equipo
- Compromiso con los objetivos del equipo
La forma concreta de fomentar estos aspectos es tan extensa que da para dedicar otra entrada de blog exclusiva para estas prácticas (Peopleware y management 3.0).
2: Software funcionando por encima de la documentación extensiva
La agilidad respeta la importancia de la documentación como parte del proceso y del resultado de un proyecto de desarrollo de software, sin embargo, con la misma claridad hacen énfasis en que se deben producir los documentos estrictamente necesarios; los documentos deben ser cortos y limitarse a lo fundamental, dando prioridad al contenido sobre la forma de presentación.
Lo que se busca es obtener las funcionalidades esperadas sobre prototipos con valor entregable. Con el fin de establecer la retroalimentación con el cliente lo antes posible generando nuevas ideas y detectando los errores lo antes posible, de manera que el cliente pueda obtener el producto que quiere.
En las metodologías ágiles la documentación requiere mecanismos más dinámicos y menos costosos como lo son la comunicación personal, el trabajo en equipo, la auto-documentación y los estándares.
3: Valorar más la colaboración con el cliente que la negociación de un contrato
Clásicamente era el cliente el que solicitaba y especifica cómo debía ser el software a desarrollar, así como los plazos establecidos mediante una negociación contractual al inicio del proyecto. Esto supone un gran problema para el desarrollo ya que se dan estas situaciones.
- Pérdida de un largo tiempo en dedicar un tiempo valioso para redactar, depurar y firmar un contrato que no va a aportar valor al producto.
- Frustración del cliente ya que el proyecto que especificó al inicio del proyecto no era exactamente el que quería, lo cual acaba muchas veces en disputas legales. El problema que subyace detrás de esto es que los requisitos son inestables al inicio y se van definiendo a lo largo del proceso.
En este sentido para evitar frustraciones y obtener una satisfacción el valor debe residir más en una colaboración continua con el cliente que en la elaboración del contrato, comprometiendo al cliente con el equipo de trabajo.
Para obtener el éxito, la interacción con el cliente debe ser constante, desde el inicio del proyecto hasta la culminación del mismo.
4: Valorar más la respuesta ante el cambio que seguir un plan
El valor reside más en la capacidad de respuesta que en la de seguimiento y aseguramiento de los planes establecidos. Esto es así dada la naturaleza cambiante de la tecnología como en el ambiente político y económico.
Estos cambios van desde pequeños ajustes en la personalización hasta cambios en las leyes orgánicas en los países donde va a operar dicho producto. Además de la aparición de nuevos productos en el mercado generando nuevas tendencias tecnológicas y competencia. No es una fortaleza de las metodologías pesadas su habilidad para responder a los cambios.
Para las metodologías ágiles existen varias estrategias para abordar este problema como establecer planificaciones más detalladas para días más próximos y planificaciones mucho más abiertas para las siguientes semanas e incluso meses.
Contnúa con la explicación:
Add new comment