Desarrollo Ágil (II): Características

Las metodologías ágiles se encuentran dentro de las conocidas como metodologías “iterativas” o “incrementales”. Por así decirlo, se las puede considerar un subconjunto de estas. Para el que lo desconozca, aunque no es ámbito de esta serie de post (es posible que los tratemos con posterioridad en otra seria), este tipo de metodologías basan su trabajo en la realización de diferentes ciclos sobre las etapas del desarrollo de software para intentar paliar las debilidades de los métodos “tradicionales” poco adaptativos a los cambios. Así un esquema rápido de cómo sería un proyecto de este tipo sería:

–  Planificación inicial

     =  Iteración 1..N

          ◦  Requisitos

          ◦  Análisis y diseño

          ◦  Implementación

          ◦  Pruebas

          ◦  Evaluación

–  Despliegue

Como he dicho es un esquema rápido y muy simple, pero bueno, para que os hagáis una idea creo que bastará.

Como ya habréis deducido, los métodos ágiles se basan en la realización de iteraciones llamadas timeboxes, las cuales tendrán una duración de entre 1 y 4 semanas. Por cada una de estas iteraciones se realizará un ciclo completo de desarrollo que terminará liberando una versión estable del producto pero sin tener necesariamente que ser liberable al mercado. En general, se necesitarán múltiples iteraciones para liberar un producto nuevo o nuevas características de un producto ya existente. Este tipo de sistema permite al proyecto adaptarse a cambios muy rápidamente y, que estos cambios sean bien recibidos y no un gran problema.

La composición de equipos en un entorno ágil suele ser multidisciplinar y suele dar poca importancia a los roles o jerarquías corporativas ya que cada uno de los miembros del equipo es responsable de las tareas que tiene asignadas y de cómo llevarlas a cabo para que al final de la iteración estén completadas de forma correcta.

En este tipo de metodologías, se prima mucho más la comunicación cara a cara que la generación de documentos escritos. En general los equipos de desarrollo ágil no suelen ser muy grandes, entre 5 y 9 personas, lo cual facilita esta comunicación. Esta comunicación, en la mayoría de métodos ágiles se hace de forma rutinaria en forma de reunión diaria para informar de los progresos del día anterior, el planning del día y los problemas encontrados. En general, a este tipo de reuniones asiste el equipo de desarrollo y un representante del cliente.

Al final de cada iteración, dicho representante del cliente revisará el progreso del desarrollo y reevaluará las prioridades de negocio y retorno de inversión para, en caso de ser necesario, redirigir en la siguiente iteración el desarrollo del proyecto hacía los intereses del cliente.

En los métodos ágiles el progreso de un proyecto se mide por el software operativo generado hasta el momento, ya que por ejemplo, al existir la comunicación diaria y cara a cara, le generación de documentación es mucho menor que en otros proyectos.

Desarrollo Ágil (II): Características

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.