¿Qué es el desarrollo de software ágil? – Definición y metodología

Avatar del autor
Publicado el • Actualizado el • 6 minutos y 1 segundos de lectura
Ver mi bloc de notas

Mis Artículos Guardados

Definición

Peter ha sido propietario de una empresa de desarrollo de software durante años y siempre está buscando formas de mejorar. Una de las áreas que ha estado considerando es cómo su equipo enfoca los proyectos. Utilizan una metodología tradicional y, a veces, la sienten rígida y se centran demasiado en la documentación. Además, a menudo completan el trabajo solicitado solo para descubrir que el cliente desea realizar algunos cambios. Están considerando cambiar su enfoque hacia Agile.

Agile es un enfoque de proyectos que se centra en la colaboración y la capacidad de respuesta al cambio. Uno de los conceptos erróneos más comunes de Agile es que es una metodología. Aunque existen diferentes metodologías que caen bajo el enfoque Agile, Agile en sí es simplemente una forma de abordar la gestión de proyectos. Proporciona una alternativa a las metodologías de proyectos tradicionales, que adoptan un enfoque estructurado y secuencial y se basan en gran medida en la documentación.

Ágil intenta proporcionar una alternativa siendo incremental e iterativo. Estos se aplican en cierto grado a cada metodología que se incluye en Agile. Es incremental al desglosar el trabajo del proyecto para que diferentes partes del mismo se puedan completar por separado. El trabajo del proyecto toma la forma de historias de usuario , que se escriben desde la perspectiva de un usuario específico y proporcionan la funcionalidad deseada. Estos se completan en alguna forma de ciclos repetidos, lo que hace que Agile sea iterativo.

Valores

Una vez que Peter y su equipo pueden definir Agile, examinan más de cerca sus valores básicos. La base del enfoque Agile se expresa en el Manifiesto Ágil , que fue escrito en 2001 por un grupo de desarrolladores de software que se llamaron a sí mismos Agile Alliance. Buscaban un nuevo enfoque. En lugar de prescribir una metodología específica, querían expresar diferentes valores.

  Aplicación práctica: medición de iniciativas de aprendizaje mediante la metodología de ROI de Phillips

Estos valores ágiles incluyen:

  • Individuos e interacciones sobre procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración con el cliente sobre la negociación del contrato
  • Responde al cambio sobre el siguiente plan

Cada aspecto incluido en las declaraciones tiene valor, pero los autores reconocieron que siempre hay limitaciones. En los casos en que existían limitaciones, querían expresar que algunas cosas se valoran más que otras.

Dos de las declaraciones reflejan un énfasis en las personas. El primero valora a los individuos y las interacciones sobre los procesos y las herramientas. El pensamiento detrás de esta declaración es sencillo, pero a menudo se pasa por alto. Las personas se comunican mejor y llegan a un entendimiento común al interactuar entre sí.

El otro valora la colaboración del cliente sobre las negociaciones contractuales. Esto anima al cliente y al equipo a trabajar juntos y a crecer y aprender a medida que avanza el proyecto. Cada uno de ellos reconoce que todos los involucrados en el proyecto están en el mismo equipo, trabajando hacia un objetivo común.

Las declaraciones restantes se centran en la calidad de lo que produce el proyecto. El software funcional es más importante que la documentación completa. El objetivo del proyecto es producir un producto funcional. Puede haber documentación de cada requisito o acción hasta el más mínimo detalle, pero si el producto no funciona para las necesidades del cliente, no tiene éxito.

En una línea de pensamiento similar, responder al cambio es más valioso que seguir un plan. A medida que avanza el proyecto, es posible que sea necesario modificar los requisitos. La adaptación está integrada en el pensamiento ágil.

  Tradición oral de la narración: definición, historia y ejemplos

Metodologias

El último aspecto de Agile que Peter y su equipo deben explorar es la metodología que utilizarán. Agile es simplemente un enfoque o una forma de pensar, por lo que se necesita una metodología específica para implementarlo. Hay una serie de metodologías que caen bajo Agile, pero Peter y su equipo se enfocan en las más comunes, que incluyen Scrum, Kanban y Extreme Programming (o XP).

La metodología más común utilizada para implementar Agile es Scrum . Scrum es un enfoque que completa historias de usuario en ciclos repetidos que suelen durar de 2 a 4 semanas y se conocen como sprints . Las historias de usuario las escribe el propietario del producto , que es la parte interesada clave. El equipo acepta historias de usuarios al comienzo del sprint, trabaja en ellas durante todo el proceso y muestra los resultados al propietario del producto al final. Luego, comienza un nuevo sprint y el proceso comienza de nuevo. Scrum también incluye un Scrum Master que se centra en facilitar las interacciones entre el propietario del producto y el equipo, así como en la gestión del proceso Scrum.

Otra metodología común es Kanban . A diferencia de Scrum, Kanban no tiene puntos de partida y puntos finales distintos. En cambio, el trabajo se completa en un flujo continuo en el que pasa por etapas de desarrollo y prueba. A medida que avanzan las historias de usuarios, se incorporan nuevas historias de usuarios. Kanban se identifica principalmente por su uso de límites de trabajo en progreso (o WIP) , que establecen una restricción en cada etapa del progreso para que solo se trabaje en un cierto número de historias de usuario a la vez. Una historia de usuario no puede avanzar, ni se puede asumir una nueva, si la siguiente etapa está en su límite de WIP. Esto asegura que los elementos de trabajo estén completamente terminados y no se acumulen en una etapa específica.

  Consideración de la capacidad de una entidad para continuar como empresa en marcha

La metodología final que Peter y su equipo exploran es Extreme Programming (o XP) , que utiliza intervalos como Scrum y otorga una alta prioridad al cliente que trabaja directamente con el equipo de desarrollo para establecer y priorizar historias de usuarios. De hecho, XP es similar a Scrum, excepto que los intervalos son más cortos, normalmente de 1 a 2 semanas. También hay un enfoque en la ingeniería, donde la metodología prescribe formas específicas de desarrollar y probar las historias de los usuarios.

Resumen de la lección

Revisemos…

Agile proporciona una alternativa a las metodologías de proyectos tradicionales, que pueden ser rígidas y con mucha documentación. No es una metodología en sí misma, sino un enfoque de proyectos mejor definido por los valores del Manifiesto Ágil . El énfasis está en las personas que trabajan juntas para ofrecer un producto de calidad.

En un nivel alto, implica ser incremental e iterativo. A bajo nivel, existen metodologías específicas que se pueden utilizar para implementarlo. La metodología más común es Scrum , que usa sprints para completar historias de usuario escritas por el propietario del producto y es facilitada por un Scrum master . También está Kanban , que se identifica principalmente por un flujo continuo y límites de WIP , así como Extreme Programming (o XP) , que es similar a Scrum, excepto con intervalos más cortos y un enfoque en la ingeniería.

Continúa con:

  1. Jefe de Operaciones

    Desarrollo empresarial para abogados

    Desarrollo de negocios Jerry es propietario de un nuevo negocio y quiere abrir un bufete...

  2. Crecimiento y Desarrollo humano

    Sistemas de gestión de la conducta de los estudiantes: desarrollo e implementación

    Sistema de gestión de la conducta del estudiante Las escuelas de todo el país han...

  3. Administración

    Etapa normativa del desarrollo del grupo: definición y explicación

    Modelo de desarrollo del grupo de Tuckman Cada grupo está formado por individuos únicos con...

  4. Arte

    La filosofía de la función siguiente a la forma: Desarrollo y trabajos

    Clichés de diseño ‘La forma sigue a la función’ se une a una serie de...

Selecciona un tema para seguir aprendiendo