Está en la página 1de 37

Desarrollo de Software Agil

También conocido simplemente como Agile, es un tipo de metodología de


desarrollo que anticipa la necesidad de flexibilidad y aplica un nivel de
pragmatismo a la entrega del producto terminado.
El desarrollo de software ágil requiere un cambio cultural en muchas
empresas porque se centra en la entrega limpia de piezas individuales o
partes del software y no en la aplicación completa.
Los beneficios de Agile incluyen su capacidad para ayudar a los equipos
en un panorama en evolución mientras se mantiene un enfoque en la
entrega eficiente de valor comercial.
La cultura colaborativa facilitada por Agile también mejora la eficiencia
en toda la organización a medida que los equipos trabajan juntos y
comprenden sus roles específicos en el proceso
Las empresas que utilizan el desarrollo de software ágil pueden estar
seguras de que están lanzando un producto de alta calidad, ya que las
pruebas se realizan durante todo el desarrollo, lo que brinda la
oportunidad de realizar cambios según sea necesario y alertar a los
equipos sobre cualquier problema potencial.
Agile ha reemplazado a la cascada como la metodología de desarrollo
de elección en la mayoría de las empresas, pero corre el riesgo de ser
eclipsada o consumida por la creciente popularidad de DevOps.
MANIFIESTO AGIL
El Manifiesto describe los cuatro valores centrales de Agile, y aunque
ha habido un debate sobre si el Manifiesto ha sobrevivido a su utilidad,
continúa en el núcleo del movimiento Agile.
Los cuatro valores fundamentales descritos en el
Manifiesto Ágil son:
Las interacciones individuales son más
importantes que los procesos y las herramientas.

Las personas impulsan el proceso de desarrollo y responden a las


necesidades comerciales. Son la parte más importante del desarrollo y
deben valorarse por encima de los procesos y herramientas. Si los
procesos o las herramientas impulsan el desarrollo, será menos
probable que el equipo responda y se adapte al cambio y, por lo tanto,
será menos probable que satisfaga las necesidades del cliente.
Enfoque en el software de trabajo en lugar
de una documentación completa
Antes de Agile, se dedicaba una gran cantidad de tiempo a documentar
el producto durante todo el desarrollo para su entrega. La lista de
requisitos documentados era extensa y causaría grandes retrasos en el
proceso de desarrollo. Si bien Agile no elimina el uso de
documentación, la simplifica de manera que proporciona al
desarrollador solo la información necesaria para realizar el trabajo
como las historias de usuario. El Manifiesto Ágil sigue valorando el
proceso de documentación, pero le da más valor al software que
funciona.
Colaboración en lugar de negociaciones
contractuales
Agile se enfoca en la colaboración entre el cliente y el gerente del
proyecto, en lugar de negociaciones entre los dos, para resolver los
detalles de la entrega. Colaborar con el cliente significa que se incluye a
lo largo de todo el proceso de desarrollo, no solo al principio y al final,
lo que facilita a los equipos la satisfacción de las necesidades de sus
clientes.
Por ejemplo, en el desarrollo de software ágil, el cliente puede ser
incluido en diferentes intervalos para demostraciones del producto. Sin
embargo, el cliente también podría estar presente e interactuando con
los equipos a diario, asistiendo a todas las reuniones y asegurándose de
que el producto satisfaga sus deseos.
Enfoque en responder al cambio
El desarrollo de software tradicional se utilizaba para evitar cambios
porque se consideraba un gasto no deseado. Agile elimina esta idea.
Las breves iteraciones en el ciclo Agile permiten realizar cambios
fácilmente, lo que ayuda al equipo a modificar el proceso para que se
adapte mejor a sus necesidades y no al revés. En general, el desarrollo
de software ágil cree que el cambio es siempre una forma de mejorar el
proyecto y proporcionar valor adicional.
Los 12 principios de Agile
Satisfaga a los clientes mediante la entrega temprana y continua
de un trabajo valioso.

Para las partes interesadas es muy importante el cumplimiento de los


tiempos establecidos según el cronograma de actividades planteado al
inicio del proyecto.
Divida el trabajo grande en tareas más
pequeñas que se puedan completar rápidamente
Es mucho mas fácil darle seguimiento a tareas pequeñas en plazos
cortos. En la medida que puedan plantearse indicadores de calidad
para verificar y medir el cumplimiento de los tiempos establecidos sería
de muchísima ayuda para la empresa.
Reconozca que el mejor trabajo surge de equipos
autoorganizados.

El trabajo organizado es parte de una cultura organizacional,


normalmente las empresas que trabajan con sistemas de calidad gozan
de este tipo de beneficios porque en la empresa sucede únicamente lo
que esta programado desde un inicio, es decir, no se dan sorpresas.
Brinde a las personas motivadas el entorno y el apoyo
que necesitan, y confíe en ellos para hacer el trabajo.
Brindar confianza a todos los involucrados en el proyecto es
importante, esto se convierte en personas motivadas que contribuyen a
la consecución de los objetivos estratégicos de toda empresa.
Cree procesos que promuevan esfuerzos
sustentables
Los procesos deben generar un valor para la empresa, es decir, no
solamente deben existir procesos de nombre.
Los procesos deben ser parte fundamental, deben ser los pilares que
soportan el peso de la empresa.
Mantenga un ritmo constante para
completar el trabajo.
El ritmo y carga de trabajo debe ser equilibrada a lo largo y ancho de
todo el proyecto, no pueden existir días sobrecargados de trabajo y
otros sin que exista trabajo.
La carga de trabajo debe ser acorde a las capacidades de cada
colaborador dentro de la empresa.
Dé la bienvenida a los requisitos
cambiantes, incluso al final de un proyecto
Es normal que durante el proyecto se generen nuevos requerimientos o
requisitos y debemos tener la capacidad para integrarlos con el resto
del proyecto.
En algunas ocasiones no se tomaron en cuenta ciertos requisitos pero
en otros casos surgen cambios por cambios en las leyes o nuevas
exigencias de tipo legal.
Reúna al equipo del proyecto y a los propietarios
de negocios a diario durante todo el proyecto.

Es bastante complicado realizar este requerimiento sien embargo es


importante mantener comunicación con todas las partes interesadas
involucradas en el proyecto.
Haga que el equipo reflexione a intervalos regulares sobre
cómo ser más efectivo, luego sintonice y ajuste el
comportamiento en consecuencia.

Es importante que la persona que lidera el proyecto realice esta


práctica y de los mismo involucrados surgen las ideas de como ser mas
efectivos en el desarrollo del proyecto.
Para la aplicación de las ideas se deben implementar planes de acción
para aplicar dichas ideas.
Mida el progreso por la cantidad de
trabajo completado.
Durante todo el proyecto se debe medir la cantidad de trabajo
completado, de esa forma conoceremos lo que aun tenemos pendiente
por hacer y determinar si en el tiempo disponible podremos cumplir
con todo lo faltante.
Busque continuamente la excelencia.

Con todos los integrantes del equipo se debe buscar hacer las cosas de
la mejor manera, es decir, si todos los colaboradores hacen un trabajo
excelente la sumatoria de todo el trabajo de los colaboradores genera
la excelencia en todo el proyecto.
Aproveche el cambio para obtener una
ventaja competitiva
Aplicando metodologías agiles generamos un valor agregado ante
cualquier otro proyecto que no utilice una metodología de trabajo.
El ciclo de Desarrollo de Software Ágil
El ciclo de desarrollo de software ágil se puede dividir en seis pasos:
concepto, inicio, iteración/construcción, lanzamiento, producción y
retiro.
El Concepto
Implica la identificación de oportunidades comerciales en cada
proyecto potencial, así como una estimación del tiempo y el trabajo
que se requerirá para completar el proyecto. Esta información se puede
utilizar para priorizar proyectos y discernir cuáles vale la pena seguir en
función de la viabilidad técnica y económica.
Inicio
Se identifican los miembros del equipo, se establece la financiación y se
discuten los requisitos iniciales con el cliente. También se debe crear
una línea de tiempo que describa las diversas responsabilidades de los
equipos y defina claramente cuándo se espera que se complete el
trabajo para cada sprint. Un sprint es un período de tiempo establecido
durante el cual se debe completar un trabajo específico y prepararlo
para su revisión.
Iteración Construcción
Es cuando los equipos comienzan a crear software de trabajo basado
en los requisitos y la retroalimentación continua. El ciclo de Desarrollo
de Software Ágil se basa en iteraciones o ciclos de desarrollo únicos
que se basan entre sí y conducen al siguiente paso del proceso de
desarrollo general hasta que se completa el proyecto. Cada iteración
suele durar entre dos y cuatro semanas, con una fecha de finalización
establecida. El objetivo es tener un producto funcional para lanzar al
final de cada iteración.
Se producen múltiples iteraciones a lo largo del ciclo de desarrollo y
cada una posee su propio flujo de trabajo. Un flujo de iteración típico
consta de:

Definir requisitos basados ​en la acumulación de productos, la


acumulación de sprints y los comentarios de los clientes y las partes
interesadas.
Desarrollar software basado en los requisitos establecidos.
Realización de pruebas de garantía de calidad, formación y
documentación internas y externas.
Entregar e integrar el producto de trabajo en la producción.
Recopilar comentarios de los clientes y las partes interesadas sobre la
iteración con el fin de definir nuevos requisitos para el próximo sprint.
Liberación
Implica la prueba de garantía de calidad final, la resolución de cualquier
defecto restante, la finalización del sistema y la documentación del
usuario y, al final, la liberación de la iteración final a producción.
La Producción
Se centra en el soporte continuo necesario para mantener el software.
Los equipos de desarrollo deben mantener el software funcionando sin
problemas y al mismo tiempo enseñar a los usuarios exactamente
cómo usarlo. La fase de producción continúa hasta que finaliza el
soporte o se planea retirar el producto.
Jubilación
Incorpora todas las actividades de fin de ciclo, como notificar a los
clientes y la migración final. La versión del sistema debe retirarse de
producción. Esto generalmente se hace cuando un sistema necesita ser
reemplazado por una nueva versión o si el sistema se vuelve obsoleto,
innecesario o comienza a ir en contra del modelo comercial.
A lo largo del proceso Agile, se pueden agregar diferentes
características a la cartera de pedidos del producto, pero todo el
proceso debe consistir en repetir cada paso una y otra vez hasta que se
satisfagan todos los elementos de la cartera de pedidos. Esto hace que
el ciclo Agile sea más un bucle que un proceso lineal. En cualquier
momento, una empresa puede tener varios proyectos que ocurren
simultáneamente con iteraciones que se registran en diferentes líneas
de productos y una variedad de clientes internos y externos que
brindan diferentes necesidades comerciales.
GRACIAS

También podría gustarte