Comprenda el ciclo de vida del desarrollo de software Agile y el flujo de trabajo de procesos

By Kate Eby | 18 Agosto 2016

Las organizaciones están experimentando un enorme éxito en la satisfacción de los cambios acelerados en las necesidades de los clientes mediante la adopción de la metodología de desarrollo de software Agile, que ofrece un enfoque iterativo para el diseño y el desarrollo de software. El enfoque Agile adopta los cambios constantes que se producen en el desarrollo de la tecnología, lo que permite a los equipos terminar con los requisitos tediosos, crear y probar fases en segmentos más pequeños, en definitiva, entregar el software operativo de manera rápida y con mayor frecuencia.

En este artículo, se abordará el ciclo de vida del desarrollo Agile y el flujo de trabajo de procesos que se lleva a cabo durante una iteración.

Vea lo fácil que es crear un tablero Kanban en Smartsheet

Los tableros Kanban son rápidos y fáciles de crear en Smartsheet en solo dos pasos.

Desarrollo de software Agile frente a Desarrollo de software en cascada

No hay una única metodología que pueda aplicar en todos los proyectos. Sin embargo, muchos equipos se acercan a una metodología flexible, como Agile, y se alejan de la metodología predictiva y de desarrollo en cascada al desarrollar el software. El método de desarrollo en cascada convencional sigue fases estrictas, al aferrarse a los requisitos originales y al plan de diseño creado al comienzo del proyecto. Un gerente de proyectos dedica tiempo a la negociación de hitos, funciones, recursos, trabajo detallado en las etapas de planificación de un proyecto, generalmente en el desarrollo de un plan de proyecto completo que detalla cómo se moverá el trabajo a través de muchas puertas hasta su finalización.

Los clientes finalizan los requisitos antes de que comience el desarrollo y luego se produce un proceso de desarrollo tedioso, ya que el gerente de proyectos realiza un seguimiento de cada movimiento del proyecto a través de cada traspaso y, finalmente, de la entrega. Si todo va bien, este proceso se lleva a cabo de manera puntual y dentro del presupuesto. Los inconvenientes principales de este enfoque están bien documentados: no responde a los cambios y lleva mucho tiempo entregar software operativo. Cuando la tecnología construye el campo de juego e impulsa cada cambio, un ciclo de elaboración de seis meses (o más), con requisitos tallados en piedra, no satisface las necesidades del negocio.

La historia detrás del desarrollo de software Agile es de frustración con la metodología tradicional en cascada. Agile está diseñado para adaptarse al cambio y a la necesidad de un desarrollo de software más rápido (tal como se trata en los valores y principios del Manifiesto Agile). Por lo general, el líder del proyecto facilita el trabajo del equipo de desarrollo, elimina los cuellos de botella y ayuda al equipo a mantenerse concentrado con el fin de entregar iteraciones de software con regularidad. Se trata menos de hitos que de horas, selección de funciones, priorización y reuniones.

A diferencia del modelo en cascada, el equipo de desarrollo decide, en definitiva, al comienzo de una iteración lo que se puede lograr en un transcurso y se propone crear una serie de funciones, entregando un software operativo que se puede instalar en un entorno de producción al final de la iteración. Dado que los métodos de desarrollo de software Agile (como el Método de Desarrollo de Sistemas Dinámicos- DSDM) son flexibles, la mayoría son adecuados para la adaptación del método, donde los equipos de desarrollo pueden adaptar el flujo para satisfacer las necesidades del producto.

 

El ciclo de vida de Agile

Hay una variedad de metodologías de desarrollo de software Agile (o desarrollo de sistemas), incluidas, entre otras:

  • Entrega ágil disciplinada (Disciplined Agile Delivery - DAD)
  • Desarrollo adaptativo de software (Adaptive Software Development)
  • Agile Modeling
  • Kanban
  • Scrum
  • Scrumban
  • Programación extrema (XP)
  • Desarrollo de sistemas dinámicos (DSDM)
  • Desarrollo basado en funciones
  • Desarrollo de software lean

El objetivo general de cada método Agile es adaptarse al cambio y entregar un software operativo lo más rápido posible. Sin embargo, cada metodología tiene leves variaciones en la forma en que define las fases del desarrollo de software. Además, aunque el objetivo es el mismo, el flujo de procesos de cada equipo puede variar según el proyecto o situación específicos. Como ejemplo, el ciclo de vida completo del desarrollo de software Agile incluye las fases de concepto, inicio, construcción, implementación, producción y retiro.

El flujo de procesos Agile

  1. Concepto: los proyectos se visualizan y se priorizan
  2. Inicio: los miembros del equipo se identifican, se determinan los fondos y se analizan los entornos y requisitos iniciales.
  3. Iteración/Construcción: el equipo de desarrollo trabaja para entregar el software operativo basado en los requisitos de iteración y los comentarios
  4. Implementación: pruebas de QA (Aseguramiento de calidad), capacitación interna y externa, desarrollo de documentación e implementación final de la iteración en producción
  5. Producción: soporte continuo del software
  6. Retiro: actividades de finalización de la vida útil, incluidas la notificación al cliente y la migración

Esta vista presenta el modelo de ciclo de vida de Agile completo dentro de la empresa. En cualquier empresa, puede haber proyectos que funcionen de forma simultánea, múltiples iteraciones que se registren en diferentes líneas de productos y una variedad de clientes, tanto externos como internos, con una gama de necesidades comerciales.

Ciclo de desarrollo de software Agile

 

agile software development lifecycle

Agile Software Development Workflow

The Agile software development lifecycle is dominated by the iterative process. Each iteration delivers the next piece of the development puzzle: software and supporting elements (e.g. documentation) available for use by customers, until the final product is complete. Each iteration is usually two to four weeks in length and has a fixed completion time. The iteration process is methodical and the scope of each iteration is only as broad as the allotted time allows.

Multiple iterations will take place during the Agile software development lifecycle and each follows its own workflow. During an iteration, customers and business stakeholders provide feedback to ensure that the features meet their needs. 

A typical iteration process flow can be visualized as follows:

  • Requirements: Define the requirements for the iteration based on the product backlog, sprint backlog, and customer and stakeholder feedback.
  • Development: Design and develop software based on defined requirements.
  • Testing: Quality assurance (QA) testing, internal and external training, documentation development.
  • Delivery: Integrate and deliver the working iteration into production.
  • Feedback: Review customer and stakeholder feedback and work it into the requirements of the next iteration.

Agile Software Development Workflow Diagram


While you may feed additional features into the product backlog throughout the project, the rest of the process repeats until the product backlog has been cleared. As a result, the Agile software development process flow is a loop rather than a linear process.

Agile Scrum Workflow

The flow of work in Scrum is directed via a series of meetings, as described below:

Sprint planning is used to choose the work that will be incorporated into an upcoming Sprint based on the product backlog.

A daily Scrum is a short meeting where each participant answers the following questions:

  • What work did you do yesterday?
  • What work will you do today?
  • What obstacles are in your way?

The Scrum master, who manages the meetings, uses the data gathered to update the burndown chart and look for ways to remove the obstacles that were identified.

A sprint review is a meeting at the end of each Sprint to evaluate what was completed and to review the product backlog and determine what still needs to be done. Reviews focus on the product.

Finally, the sprint retrospective meeting at the end of each Sprint which covers what worked well and what can be improved. Retrospectives focus on the process.
You can read more about Scrum in our comprehensive guide.

Making the Agile Process Work for You

As with any methodology, there are advantages and disadvantages (Read about the advantages and disadvantages of Agile). The Agile method is more suitable in situations where customers and project stakeholders are available to provide input, functional portions of software are needed quickly, flexibility is desired to accommodate changing requirements, and the team is co-located and able to collaborate effectively. 

As with any change, integrating Agile processes into your business can be overwhelming. Here are four activities that will help support the adoption of Agile workflow:

  • Daily Meetings: Host consistent or daily stand-up meetings to maintain open communication, hold workers accountable, and keep each iteration moving forward.
  • Live Demonstrations: Deliver live demonstrations of each iteration’s final product to show progress.
  • Share Feedback: Receive feedback from stakeholders and customers and share it with the entire team before the next iteration begins.
  • Remain Agile: Make changes to your process based on feedback to ensure each iteration improves the last.

Streamline the Agile Software Lifecycle with Smartsheet for Project Management

De la administración básica de tareas y de proyectos hasta la administración compleja de recursos y portafolios, Smartsheet lo ayuda a mejorar la colaboración y acelerar el trabajo. Esto lo empodera para lograr más. La plataforma Smartsheet facilita la planificación, la captura, la gestión y la creación de informes sobre el trabajo, desde cualquier lugar, lo que ayuda a su equipo a ser más eficiente y lograr más. Cree informes sobre las métricas clave y obtenga visibilidad en tiempo real acerca de trabajo gracias a informes, paneles y flujos de trabajo automatizados diseñados para ayudar a su equipo a mantenerse conectado e informado. Cuando los equipos tienen claridad sobre el trabajo en curso, pueden lograr mucho más en menos tiempo. Pruebe Smartsheet gratis hoy mismo.

Conecte a sus empleados, procesos y herramientas con una plataforma sencilla y fácil de usar.

Pruebe Smartsheet gratis Get a Free Smartsheet Demo