metodologias ágiles

Metodologias ágiles

En la situación actual en el que los cambios se producen de manera increíblemente rápida y se producen cambios dentro de los cambios, muchos autores comentan que las guías tradicionales de gestión de proyectos intentan ver el futuro. Ahora es necesario modelos que nos ayuden a adaptarnos a los cambios. Esta afirmación es mucha más acertada en el sector de las tecnologías de la información y las comunicaciones (TIC) en el que la velocidad y agilidad al cambio es fundamental. Por esta razón, surgen las metodologías ágiles.

¿QUÉ ES METODOLOGÍA AGILE?

A menudo me hacen la pregunta: ¿Qué es la metodología agile? En pocas palabras, agile en informática, se usa para describir un método alternativo de gestión de proyectos.

Agile es un proceso que ayuda a los equipos a proporcionar respuestas rápidas a los cambios que se reciben sobre su proyecto. ¿Esto qué significa? Pues que crea oportunidades para evaluar la dirección de un proyecto durante el ciclo de desarrollo del mismo. Los equipos evalúan el proyecto en reuniones regulares llamadas sprints o iteraciones.

Este 2019 he querido poner en un cuadro las diferencias más significativas que existen entre la metodología agile y las metodologías tradicionales.

Metodología Ágile

Metodologías Tradicionales

– Flexibilidad ante los cambios del proyecto de forma moderada a rápida
– Los clientes hacen parte del equipo de desarrollo
– Grupos pequeños (promedio 10 participantes in situ) en el mismo lugar.
– Menor dependencia de la arquitectura de software
– Continuo Feedback acortando el tiempo de entrega
– Diversidad de roles
– Basadas en heurísticas a partir de prácticas de producción de código
– Procesos menos controlados, pocas políticas y normas
– Capacidad de respuesta ante los cambios
– Rigidez ante los cambios, de manera lentos o moderada
– Los clientes interactúan con el equipo de desarrollo mediante reuniones
– Grupos de gran tamaño y varias veces distribuidos en diferentes sitios
– Dependencia de la arquitectura de software mediante modelos
– Poco Feedback lo que extiende el tiempo de entrega
– Mínimos roles
– Basadas en normas de estándares de desarrollo
– Procesos muy controlados por políticas y normas
– Seguimiento estricto del plan inicial de desarrollo

Tanto los métodos de desarrollo de software tradicionales como los ágiles tienen sus propias ventajas y desventajas.

TE PUEDE INTERESAR: Metodología SCRUM

El método de desarrollo de software ágil utiliza un enfoque iterativo y basado en equipo.

Sin embargo, siempre que sea posible, se debe considerar el enfoque ágil (metodología agile), ya que proporciona más beneficios, especialmente para las nuevas empresas. Permite lanzar una aplicación de software funcional completa mucho más rápido. También es más rentable, ya que hacer cambios es menos costoso que con el enfoque tradicional.

En base a este cuadro podemos entender mejor ahora el manifiesto ágil.

MANIFIESTO ÁGIL

Los 11 principios del manifiesto ágil son:

  1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua del software de valor.
  2. Son bienvenidos los requisitos cambiantes, aun llegando tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
  3. Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses.
  4. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
  5. Construcción de proyectos en torno a individuos motivados.
  6. 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.
  7. El software/producto/servicio que funcione es la principal medida de progreso.
  8. Los procesos ágiles promueven el desarrollo sostenido. Los desarrolladores, patrocinadores, y usuarios han de mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica ensalza la agilidad.
  10. La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto organizan.

 

ALGUNOS TIPOS DE METODOLOGÍAS ÁGILES

1. metodologia agile Scrum

2. Programación Extrema – XP

3. metodologia agile Kanban

 

1.-metodologia agile Scrum

 

scrum

Es un modelo de desarrollo ágil caracterizado por:

1.- Aportar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.

2.- La calidad del resultado se basa principalmente en el conocimiento innato de las personas en equipos auto organizados, antes que en la calidad de los procesos empleados.

3.- Solapamiento de las diferentes fases de desarrollo.

4.- Seguir los pasos del desarrollo ágil: Desde el concepto o visión general de la necesidad del cliente, construcción del producto de forma incremental a través de iteraciones. Estas iteraciones (En scrum se llaman Sprint) se repiten de forma continua hasta que el cliente da por cerrada la evolución del producto.

Características específicas de SCRUM.

TE PUEDE INTERESAR: Qué es Cloud Computing
  1. Una de las bases de las metodologías ágiles es el ciclo de vida iterativo e incremental. El ciclo de vida iterativo o incremental es aquel en que se va liberando el producto por pares, periódicamente, iterativamente, poco a poco y además, cada entrega es el incremento de funcionalidad respecto a la anterior. Cada periodo de entrega -> Sprint
  2. El segundo pilar más importante de scrum son las revisiones. Su importancia reside en que las reuniones son la  base para lograr transparencia y comunicación, y posibilitan algo característico en un equipo ágil:
    1. Reunión de planificación del sprint. Al principio de cada sprint, para decidir que se va a realizar en ese sprint.
    2. Reunión diaria. Máximo 15 minutos. Se trata que se hizo ayer, que vas a hacer hoy y que problemas se han encontrado.
    3. Reunión de revisiones del Sprint. Al final de cada sprint, se trata que ha completado y que no.
    4. Retrospectiva del Sprint. También al final del sprint, y sirve para que los implicados den sus impresiones sobre el sprint y se utiliza para la mejora del proceso.

2.- Programación Extrema (XP)

 

programación extrema

Metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo del software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores y propiciando un buen clima de trabajo.

XP se basa en retroalimentación continua entre cliente y el equipo de desarrollo. XP es especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes.

Características específicas de XP

  1. Se valora al individuo y las interacciones del equipo de desarrollo sobre el proceso y las herramientas. La gente es el principal factor de éxito de un proyecto software.
  2. Desarrollar software que funciona más que conseguir una buena documentación.
  3. La colaboración con el cliente. Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo.
  4. Responder a los cambios. La habilidad de responder a los cambios que puedan surgir a lo largo del proyecto determina también el éxito o fracaso del mismo. La planificación no debe ser estricta sino flexible y abierta.

 

3.- metodologia agile Kanban

 

kanban

Kanban es una palabra japonesa que significa “tarjetas visuales” (kan significa visual, y ban tarjeta). Esta técnica se creó en Toyota, y se utiliza para controlar el avance del trabajo, en el contexto de una línea de producción. Actualmente está siendo aplicado en la gestión de proyectos software.

Fuente: Javier Garzás

[device]
[countdown id=»1517594246″ relative=»70″ format=»dHMS» serverSync=»true» alwaysExpire=»false» compact=»false» tickInterval=»1″ counter=»until» template=»minimal» expiryText=»C%C3%B3digo%3A%23W23%7BQ~%2412DACWE1″ until=»12,2,2018,16,53″]
[/device]

Es la técnica mas empleada actualmente para regular un flujo de avance continuo en proyectos TIC.

Presentación de información visual relativa a la producción (identificación de componentes, estado del proceso, etc).

Se basa en una idea muy simple. Ésta es que el trabajo en curso (Work In Progress, WIP)

 

LA METODOLOGÍA ÁGIL MÁS USADA: SCRUM

 Lo óptimo recomendado por la DSDM Consortium (organización ágil), es la utilización de modelos de gestión mixtos. Recomendado como modelo de gestión integral y estratégica del proyecto a PRINCE2 y en las fases iterativas que se repitan durante la creación del producto/servicio se debería usar al modelo SCRUM.

 


verifyserptrade




26 Comments

  • Isma

    Gran aporte!!!
    Es necesario que las empresas vayan avanzando en metodología de desarrollo y no sólo en tecnologías
    Muchas gracias

    Reply
    • admin

      Muchas gracias por tu comentario.
      Un saludo

      Reply
  • Jaime

    Interesante panorámica. Lo que hay que hacer ahora es convencer a los clientes y que sepan lo que quieren.

    Reply
    • admin

      Efectivamente, falta lo más difícil, convencer a los clientes.

      Reply
  • Carmen

    Hola,
    Felicidades por el artículo.
    ¿Recomiendas alguna herramienta para implantar Kanban en la gestión agil de proyectos?
    Me parece un método muy colaborativo y visual.

    Reply
    • admin

      Muchas gracias Carmen!!
      Una herramienta que está muy de moda para usar Kanban es Trello. Es muy fácil e intuitiva. Nosotros la usamos habitualmente para poder tener un control de lo que hace cada uno y tener una visión completa de todo en lo que estamos implicados.
      Un saludo

      Reply
  • Olga

    Efectivamente hacia donde se tiende en las TIC es a evolucionar de una manera rápida y eficaz. Deberían las empresas estar más concienciadas y más abiertas al cambio. Gracias por la información.

    Reply
    • David

      Muchas gracias por tu comentario.
      Un saludo

      Reply
  • Vin

    Efectivamente, la manera tradicional de analizar, diseñar e implementar basada en requisitos cerrados al inicio de un proyecto no es eficaz en la época en la que nos ha tocado trabajar como profesionales TIC. En este país aún nos queda cambiar el chip de que cuanto antes cerremos requisitos antes empezaremos a implementar y después fin… ahora (hace años) esto no es así. En un mundo con requisitos cada vez más volátiles y con tecnología que ya lo permite es inevitable cambiar metodologías ágiles.

    Muchas gracias por este trabajo de documentación tan conveniente.

    Reply
    • David

      Hola Vin,
      muchas gracias por tu comentario.
      Un saludo

      Reply
  • mary

    gracias por el trabajo, yo he hecho varios proyectos uniendo metodologías ágiles y realmente son bien factibles.

    Reply
    • David

      Muchas gracias por tu comentario Mary. Me alegro que te haya gustado.
      Un saludo

      Reply
  • MFA

    Hola. Articulo interesante, gracias. Confieso que tengo dificultad en verles la sostenibilidad a las agiles (excluyo Kaban). ¿Hay datos sobre las desviaciones de estos proyectos? Por experiencias cercanas, me parece que para el cliente, metodología ágil = barra libre, y las perdidas la asume la empresa que desarrolla. A lo mejor es que se me está escapando algo, puede ser. Sigo investigando.

    Reply
    • David

      Muchas gracias!!
      No te falta razón en lo de metodología ágil= barra libre, pero tener algo tangible rápido, evita también posteriores modificaciones, que a veces, salen igual que la barra libre!!
      Un saludo

      Reply
    • Pedro

      quizas lo que falta por enlazar es el modelo de negocio asociado a cada incremento del producto, por lo que nunca deberia sonar a barra libre, sino mas bien a algo como (pide pide el taximetro avanza) el cliente solito deberia concientizarse, en base a su prosupuesto a generar requerimientos de forma mas planificada para que no se dispare el costo.

      Reply
      • Esteban

        Sin tener una basta experiencia, lo que estoy implementando es hacer un marco de alcance con metodología del PMI (definición de alcance, criterio de aprobación, tiempo, etc) e implementar método SCRUM en cada definición del alcance. De este modo, se pueden hacer modificaciones al requerimiento original, sin hacer un proyecto indeterminado.

        Reply
        • David

          gracias por tu comentario Esteban.
          Un saludo
          David

  • Victor

    No encuentro diferencias significativas -en la explicación- entre scrum y xp

    Reply
    • David

      Hola Victor, pues las características más relevantes de scrum serían que es iterativo e incremental y xp tiene los cambios de requisitos constantes.
      Un saludo y gracias por tu comentario

      Reply
  • nelson

    Hola, una pregunta ¿AUP y RUP son metodologias? he leido y dicen que usan cosas de xp . gracias

    Reply
    • David

      Hola Nelson,
      RUP es otro modelo de gestión evolutiva. Y una característica importante es que da énfasis en los requisitos y el diseño. Estaba preparando un articulo precisamente de RUP.
      Un saludo
      David

      Reply
  • Carlos

    Antes de comenzar un proyecto el cliente siempre exige un presupuesto de tiempo. Un Plazo. Cuando se utilizan metodologías de diseño más duras, es posible determinar tiempos con más certeza. Con una metodología ágil, cualquiera de las expuestas antes, donde las etapas se solapan y no sabemos cuantos Sprints se deberán realizar, mi duda es: ¿cómo evaluar tiempos?

    Reply
    • David

      Hola Carlos,
      Al revés, en teoría deberá ser más fácil, puesto que tenemos micro-tareas, y sobre ellas podemos estimar el tiempo de ejecución. Por ejemplo en SCRUM (en breve sacaré un post sobre esta metodología), el product Backlog (única toma de requisitos), que es una lista ordenada de ideas para el producto en el orden en que esperamos llevarlas a cabo, las iremos refinando hasta tenerlas muy muy detalladas, y por consiguiente, podremos valorarlas en tiempo, fácilmente. Lógicamente, si posteriormente, hay cambio de micro-tareas, habrá cambio de tiempos.
      Espero haberte ayudado un saludo

      Reply
  • Ramon Andres

    Estimado como podria hacer una tabla comparativa entre scrum-lean-xp-aup segun el tipo de proyecto recomendado para cada metodologia

    Reply
    • David

      Hola Ramon,
      lo normal es que se hagan tablas comparativas entre agile y tradicional o en cascada, dependiendo de la implicación del cliente, por ejemplo, y tiempo de desarrollo, presupuesto, tamaño del equipo, y si tiene o no un alto cambio en los requisitos.

      Reply
  • Daniel

    Hola disculpa en la escuela me dejaron investigar acerca de XUP solo que no he podido encontrar nada acerca de esa metodología

    Reply

Leave a Reply