Introducción
Cuando se ésta por desarrollar un software conviene conocer adecuadamente las características del proyecto y los distintos tipos de metodologías existentes para el desarrollo. Es importante elegir la metodología más apropiada en base a las características, para garantizar un mejor resultado final.
Métodos Ágiles de Programación
El método tradicional de desarrollo es el más adecuado para proyectos grandes, en los cuales se hace un análisis profundo de requerimientos antes de comenzar a desarrollar el software. Pero cuando se trata de proyectos más pequeños, se pierde tiempo en un análisis exhaustivo, por lo cual se desarrollaron los métodos ágiles, los cuales, entre otras cosas, siguen los siguientes puntos:
- Se permite el cambio en los requerimientos en cualquier momento del desarrollo.
- El equipo de desarrollo y el cliente deben trabajar en conjunto.
- Entrega continua de resultados.
Programación extrema
Propuesta por Kent Beck en 1999, es el más destacado de los procesos ágiles de desarrollo de software. Se rige por los siguientes valores:
Simplicidad
Se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento. Para mantener la simplicidad es necesaria la refactorización del código, ésta es la manera de mantener el código simple a medida que crece.
También se aplica la simplicidad en la documentación, de esta manera el código debe comentarse en su justa medida, intentando eso sí que el código esté autodocumentado.
Comunicación
El código comunica mejor cuanto más simple sea. Si el código es complejo hay que esforzarse para hacerlo inteligible.
Las pruebas unitarias son otra forma de comunicación ya que describen el diseño de las clases y los métodos al mostrar ejemplos concretos de como utilizar su funcionalidad.
Realimentación
Al estar el cliente integrado en el proyecto, su opinión sobre el estado del proyecto se conoce en tiempo real.
Al realizarse ciclos muy cortos tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es más importante.
Coraje o valentía
Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y programar para hoy y no para mañana. La valentía le permite a los desarrolladores que se sientan cómodos con reconstruir su código cuando sea necesario.
Respeto
El respeto se manifiesta de varias formas. Entre compañeros de trabajo, hacia el cliente y hacia el trabajo a realizar.
SCRUM
- Está especialmente indicada para proyectos con un rápido cambio de requisitos
- El desarrollo de software se realiza mediante iteraciones, denominadas sprints, con una duración de 30 días
- Reuniones a lo largo proyecto
Crystal Clear
Mas que una metodología, son una familia de estas, fueron descritas por Alistair Cockburn, e ideal para equipos de 6 a 8 personas, se centra en las personas, no en los procesos, y la seguridad es una de sus mayores preocupaciones
Cuestionario
Mapa conceptual
Conclusión
Si bien los métodos ágiles nos permiten desarrollar de una manera más rápida y son ajustables al cambio, es importante recordar que solo son adecuados en proyectos pequeños. Si en algún momento deseamos comenzar un proyecto grande, es importante el análisis a profundidad de los requerimientos.