Saltar al contenido principal
Página

Tema 1.1 - Fundamentos del desarrollo de software ágil

Desarrollo de software ágil y el manifiesto ágil

A inicios del año 2001 tras una reunión de 17 expertos en programación, hubo un cambio radical en la forma de desarrollar software, frente a los modelos tradicionales existentes en aquel tiempo, pues estos solían ser muy rígidos y alejados de las necesidades de los clientes; como resultado de esa reunión, se redactó y aprobó un documento, con un conjunto de valores y principios que se hizo conocido como (el Manifiesto ágil), Los valores y principios plasmados se presentan a continuación.


El manifiesto ágil contiene cuatro declaraciones de valores

Valores: 

  • Los individuos y las interacciones, por encima de procesos y herramientas.
  • Software que trabaja, por encima de documentación completa.
  • Colaboración con el cliente, por encima de negociación de contrato.
  • Respondiendo al cambio, por encima de siguiendo un plan.


El manifiesto afirma que los conceptos de la izquierda poseen un mayor valor, con relación en los otros. ¿Qué significan cada uno de esos conceptos, que el manifiesto ágil le da tanto valor? A continuación se dará una breve explicación.


Los individuos y las interacciones

El manifiesto ágil sostiene que el desarrollo ágil debe ser muy centrado en las personas, es por ello, que los equipos de trabajo funcionan de forma óptima, a través de una comunicación e interacción continua, más que una dependencia de herramientas y procesos.


Software que trabaja

Con esto se refiere a que el software funcional es más útil para un cliente que una documentación excesivamente completa, por lo que el desarrollo ágil confiere una ventaja significativa en el tiempo de salida de este al mercado, así mismo, el desarrollo ágil es muy útil en entornos con cambios constantes y rápidos o donde los problemas y soluciones no están claros.


Colaboración con el cliente

Basados en la dificultad que tienen los clientes para dar una especificación clara y concisa del sistema que desean, es importante colaborar directamente con él, trabajando de la mano y de manera continua para asegurar un mayor éxito y disminución de tiempo y costos en el proyecto.


Respondiendo al cambio

Factores como el entorno en el que opera un negocio, la legislación, la actividad de la competencia, el cambio constante de la tecnología y demás, son elementos que se deben de tener en cuenta en un proceso de desarrollo, por lo que tener flexibilidad en la adaptación al cambio suele ser más importante que adherirse estrictamente a un plan.


Principios

Los valores centrales del Manifiesto Ágil se capturan en doce principios:

  • Nuestra máxima prioridad es satisfacer al cliente a través de la entrega temprana y continua de productos con valor.
  • Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo, l os procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  • Entregamos software funcional frecuentemente, a intervalos de unas pocas semanas a algunos meses, con una preferencia al tiempo más corto posible.
  • Los responsables del negocio y los desarrolladores deben trabajar juntos a diario durante todo el proyecto.
  • Los proyectos se desarrollan en torno a personas motivadas, hay que darles el ambiente y el apoyo que necesiten, y confiar en ellos para hacer el trabajo.
  • El método más eficiente y efectivo para transmitir información, hacia dentro de un equipo de desarrollo es una conversación cara a cara.
  • El software funcional es la medida principal del progreso.
  • Los procesos ágiles promueven el desarrollo sostenible, (los patrocinadores, desarrolladores y usuarios, deberían ser capaces de mantener un ritmo constante indefinidamente).
  • La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  • La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  • Las mejores arquitecturas, requisitos y diseños surgen de equipos auto-organizados.
  • A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo, luego ajusta y perfecciona su comportamiento en consecuencia.

 

Enfoque de whole team (todo el equipo)

Es un  método de trabajo que implica involucrar a todas las personas con los conocimientos y habilidades para el desarrollo del proyecto, el equipo debe ser relativamente pequeño, y debe compartir el mismo espacio de trabajo; como co-ubicación para facilitar la comunicación y la fuerte interacción, este enfoque está apoyado en reuniones diarias y en la participación de todos los miembros del equipo, donde se comunique el progreso del trabajo y los impedimentos para el progreso que se destacan, el enfoque de whole team es uno de los principales beneficios del desarrollo ágil.


Beneficios de whole team:

  • Mejorar la comunicación y la colaboración dentro del equipo.
  • Permitir que los diversos conjuntos de habilidades dentro del equipo se aprovechen en beneficio del proyecto
  • Hacer que la calidad sea responsabilidad de todos

La esencia de este enfoque esta en los probadores, desarrolladores y representantes de las empresas, que trabajan juntos en cada paso del proceso de desarrollo, permitiendo alcanzar niveles de calidad deseados a través de pruebas de aceptación adecuados, estrategias de ensayo y sobre la decisión de enfoques de automatización de pruebas.

Todo el equipo debe estar involucrado en todas las consultas o reuniones en las que se presentan las características del producto, analizan, o dan estimados sobre este; es importante resaltar que el concepto de participación de probadores, desarrolladores y representantes en todas las características se conoce como el poder de tres

 

Retroalimentación temprana y frecuente

Hacer retroalimentación temprana y frecuente trae consigo unos beneficios que incluyen:

  • Evitar malentendidos de requisitos, que pueden no haber sido detectados hasta más tarde, en el ciclo de desarrollo cuando son más caros de arreglar.
  • Aclarando las solicitudes de funciones del cliente, haciéndolas disponibles para el uso temprano del cliente, De esta manera, el producto refleja mejor lo que el cliente quiere.
  • Descubrimiento a través de (la integración continua, aislamiento y resolución temprana de problemas de calidad).
  • Proporcionar información al equipo ágil sobre su productividad y capacidad de entrega.
  • Promueve el impulso constante del proyecto.


Última modificación: viernes, 18 de marzo de 2022, 09:36