0% encontró este documento útil (0 votos)
148 vistas5 páginas

Metodología Ágiles

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 5

Las metodologías ágiles

Por definición, las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las condiciones del
proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su desarrollo a las
circunstancias específicas del entorno.

En esencia, las empresas que apuestan por esta metodología consiguen gestionar sus proyectos de forma flexible,
autónoma y eficaz reduciendo los costes e incrementando su productividad. Con este Curso en modelos organizativos
ágiles 100% online aprenderás los aspectos básicos para gestionar las metodologías ágiles dentro de tu empresa.

El Manifiesto Ágil.

Según el Manifiesto 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. Es más importante construir un buen equipo que construir el entorno. Muchas
veces se comete el error de construir primero el entorno y esperar que el equipo se adapte automáticamente. Es mejor
crear el equipo y que éste configure su propio entorno de desarrollo en base a sus necesidades.

• Desarrollar software que funciona más que conseguir una buena documentación. La regla por seguir es “no producir
documentos a menos que sean necesarios de forma inmediata para tomar una decisión importante”. Estos documentos
deben ser cortos y centrarse en lo fundamental.

• La colaboración con el cliente más que la negociación de un contrato. Se propone que exista una interacción constante
entre el cliente y el equipo de desarrollo. Esta colaboración entre ambos será la que marque la marcha del proyecto y
asegure su éxito.

• Responder a los cambios más que seguir estrictamente un plan. La habilidad de responder a los cambios que puedan
surgir a lo largo del proyecto (cambios en los requisitos, en la tecnología, en el equipo, etc.) determina también el éxito o
fracaso del mismo. Por lo tanto, la planificación no debe ser estricta sino flexible y abierta.

Los valores anteriores inspiran los doce principios del manifiesto. Son características que diferencian un proceso ágil de
uno tradicional. Los dos primeros principios son generales y resumen gran parte del espíritu ágil. El resto tienen que ver
con el proceso a seguir y con el equipo de desarrollo, en cuanto metas a seguir y organización del mismo. Los principios
son:

I. La prioridad es satisfacer al cliente mediante tempranas y continuas entregas de software que le aporte un
valor.
II. Dar la bienvenida a los cambios. Se capturan los cambios para que el cliente tenga una ventaja competitiva.
III. Entregar frecuentemente software que funcione desde un par de semanas a un par de meses, con el menor
intervalo de tiempo posible entre entregas.
IV. La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto.
V. Construir el proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en
ellos para conseguir finalizar el trabajo.
VI. El diálogo cara a cara es el método más eficiente y efectivo para comunicar información dentro de un equipo
de desarrollo.
VII. El software que funciona es la medida principal de progreso.
VIII. Los procesos ágiles promueven un desarrollo sostenible. Los promotores, desarrolladores y usuarios
deberían ser capaces de mantener una paz constante.
IX. La atención continua a la calidad técnica y al buen diseño mejora la agilidad.
X. La simplicidad es esencial.
XI. Las mejores arquitecturas, requisitos y diseños surgen de los equipos organizados por sí mismos.
XII. En intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, y según esto ajusta
su comportamiento.
Metodologías Ágiles Metodologías Tradicionales
Basadas en heurísticas provenientes de Basadas en heurísticas provenientes de
prácticas de producción de código prácticas de producción de código
Especialmente preparados para cambios
Cierta resistencia a los cambios
durante el proyecto
Impuestas internamente (por el equipo) Impuestas externamente
Proceso menos controlado, con pocos Proceso mucho más controlado, con numerosas
principios políticas/normas
No existe contrato tradicional o al menos es
Existe un contrato prefijado
bastante flexible
El cliente interactúa con el equipo de desarrollo
El cliente es parte del equipo de desarrollo
mediante reuniones
Grupos pequeños (<10 integrantes) y
Grupos grandes y posiblemente distribuidos
trabajando en el mismo sitio
Pocos artefactos Más artefactos
Pocos roles Más roles
Menos énfasis en la arquitectura del La arquitectura del software es esencial y se
software expresa mediante modelos

Las Historias de Usuario

Son la técnica utilizada para especificar los requisitos del software. Se trata de tarjetas de papel en las cuales el cliente
describe brevemente las características que el sistema debe poseer, sean requisitos funcionales o no funcionales. El
tratamiento de las historias de usuario es muy dinámico y flexible. Cada historia de usuario es lo suficientemente
comprensible y delimitada para que los programadores puedan implementarla en unas semanas [12]. Beck en su libro [2]
presenta un ejemplo de ficha (customer story and task card) en la cual pueden reconocerse los siguientes contenidos:
fecha, tipo de actividad (nueva, corrección, mejora), prueba funcional, número de historia, prioridad técnica y del cliente,
referencia a otra historia previa, riesgo, estimación técnica, descripción, notas y una lista de seguimiento con la fecha,
estado cosas por terminar y comentarios. A efectos de planificación, las historias pueden ser de una a tres semanas de
tiempo de programación (para no superar el tamaño de una iteración). Las historias de usuario son descompuestas en
tareas de programación (task card) y asignadas a los programadores para ser implementadas durante una iteración.

Roles XP

Los roles de acuerdo con la propuesta original de Beck son:

- Programador. El programador escribe las pruebas unitarias y produce el código del sistema.

- Cliente. Escribe las historias de usuario y las pruebas funcionales para validar su implementación. Además, asigna la
prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar mayor valor
al negocio.

- Encargado de pruebas (Tester). Ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas regularmente,
difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.

- Encargado de seguimiento (Tracker). Proporciona realimentación al equipo. Verifica el grado de acierto entre las
estimaciones realizadas y el tiempo real dedicado, para mejorar futuras estimaciones. Realiza el seguimiento del
progreso de cada iteración.

- Entrenador (Coach). Es responsable del proceso global. Debe proveer guías al equipo de forma que se apliquen las
prácticas XP y se siga el proceso correctamente.

- Consultor. Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto,
en el que puedan surgir problemas.
- Gestor (Big boss). Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando
las condiciones adecuadas. Su labor esencial es de coordinación.

Ventajas de implementar las metodologías ágiles en tu empresa

Existen muchas razones de porque usar y son tan importantes las metodologías ágiles, aquí repasamos las principales
ventajas.

Las metodologías ágiles mejoran la satisfacción del cliente dado que se involucrará y comprometerá a lo largo de todo el
proyecto. En cada etapa se informará al cliente de los logros y progresos del mismo, con la visión de involucrarlo
directamente para sumar su experiencia y conocimiento, y así, optimizar las características del producto final obteniendo
en todo momento una visión completa de su estado.

Otra de las ventajas es la mejora de la motivación e implicación del equipo de desarrollo. Pero esta mejora no es casual:
las metodologías ágiles permiten a todos los miembros del equipo conocer el estado del proyecto en cualquier momento,
así, los compromisos son negociados y aceptados por todos los miembros del equipo.

Por otro lado, cabe destacar que optar por la aplicación de una gestión ágil permite ahorrar tiempo y costes. El desarrollo
ágil trabaja de un modo más eficiente y rápido, y con ello, se cumple de forma estricta el presupuesto y los plazos
pactados dentro de un proyecto.

Se trabaja con mayor velocidad y eficiencia. Una de las máximas de su aplicación es que se trabaja a través de entregas
parciales del producto, de este modo, es posible entregar en el menor intervalo de tiempo posible una versión mucho
más funcional del producto.

Gracias a las entregas parciales (centradas en entregar en primer lugar aquellas funcionalidades que aportan valor) y a la
implicación del cliente será posible eliminar cualquier característica innecesaria del producto.

Las metodologías ágiles permiten mejorar la calidad del producto. La continua interacción entre los desarrolladores y los
clientes tiene como objetivo asegurar que el producto final sea exactamente lo que el cliente busca y necesita. Con este
enfoque es posible abrazar la excelencia tecnológica obteniendo así un producto tecnológicamente superior. Si necesitas
lanzar un producto este Postgrado en Digital Product Management te ayudará a realizarlo gracias a metodologías
como Agile & Scrum.

No nos olvidamos que, gracias a su aplicación es posible alertar de forma rápida tanto de errores o problemas que
puedan sucederse a lo largo del proyecto. Es posible dar respuesta a todos aquellos problemas que puedan darse desde
el inicio, con lo que mejoramos en costes y entrega.

Y, finalmente, las metodologías ágiles permiten rentabilizar nuestras inversiones, y es que, gracias a la realización de
entregas tempranas el cliente tendrá rápido acceso a aquellas funcionalidades que aportan valor acelerando el retorno de
la inversión.

Metodologías ágiles más utilizadas

Pero ¿cuáles son los tipos de metodologías ágiles más utilizados en las empresas actuales? Existen diferentes opciones,
pero las más utilizadas son: programación extrema (XP), Scrum y Kanban, todas ellas se guían a través de un patrón
establecido por el Manifiesto Ágil realizado por varios autores que establecieron los 12 principios del software ágil.

1# Extreme Programming XP

Esta herramienta es muy útil sobre todo para startups o empresas que están en proceso de consolidación, puesto que su
principal objetivo es ayudar en las relaciones entre los empleados y clientes. La clave del éxito del Extreme Programming
XP es potenciar las relaciones personales, a través, del trabajo en equipo, fomentando la comunicación y eliminando los
tiempos muertos.

Sus principales fases son:

 Planificación del proyecto con el cliente


 Diseño del proyecto
 Codificación, donde los programadores trabajan en pareja para obtener resultados más eficientes y de calidad
 Pruebas para comprobar que funcionan los códigos que se van implementando
2# SCRUM

Se caracteriza por ser la “metodología del caos” que se basa en una estructura de desarrollo incremental, esto es,
cualquier ciclo de desarrollo del producto y/o servicio se desgrana en “pequeños proyectos” divididos en distintas etapas:
análisis, desarrollo y testing. En la etapa de desarrollo encontramos lo que se conoce como interacciones del proceso o
Sprint, es decir, entregas regulares y parciales del producto final.

Esta metodología permite abordar proyectos complejos que exigen una flexibilidad y una rapidez esencial a la hora de
ejecutar los resultados. La estrategia irá orientada a gestionar y normalizar los errores que se puedan producir en
desarrollos demasiado largos, a través de, reuniones frecuentes para asegurar el cumplimiento de los objetivos
establecidos.

Las reuniones son el pilar fundamental de la metodología, donde diferenciamos entre: reuniones de planificación, diaria,
de revisión y de retrospectiva, la más importante de todas ellas, ya que, se realiza después de terminar un sprint para
reflexionar y proponer mejoras en los avances del proyecto. Los aspectos clave por los que se mueve el Scrum son:
innovación, flexibilidad, competitividad y productividad.

3# Kanban

La estrategia Kanban conocida como ‘Tarjeta Visual” muy útil para los responsables de proyectos. Esta consiste en la
elaboración de un cuadro o diagrama en el que se reflejan tres columnas de tareas; pendientes, en proceso o
terminadas. Este cuadro debe estar al alcance de todos los miembros del equipo, evitando así la repetición de tareas o la
posibilidad de que se olvide alguna de ellas. Por tanto, ayuda a mejorar la productividad y eficiencia del equipo de
trabajo.

Las ventajas que proporciona esta metodología son:

 Planificación de tareas
 Mejora en el rendimiento de trabajo del equipo
 Métricas visuales
 Los plazos de entregas son continuos

4# Agile Inception

Está orientada a la definición de los objetivos generales de las empresas. Su meta es clarificar cuestiones como el tipo
de cliente objetivo, las propuestas de valor añadido, las formas de venta. Suele girar entorno al método de “elevator
pitch“, que consiste en pequeñas reuniones entro los socios y el equipo de trabajo en las que las intervenciones no
pueden superar los 5 minutos.

Por qué formarse en metodologías ágiles

Como puedes ver optar por la aplicación y el uso de alguna de las metodologías ágiles existentes proporciona grandes
ventajas a cualquier empresa o profesional que opte por ellas en cualquier proyecto. Si quieres echa un vistazo a la
opinión de nuestra exalumna Maya Vila, Project Manager en Biokit y responsable de proyectos de I+D y cómo el
postgrado le ayudó a ser más eficiente en su trabajo y alcanzar sus metas profesionales.

INVEST

En 2003 Bill Wake desarrolló un método llamado INVEST para asegurar la calidad en la escritura de historias de usuario.
El método sirve para comprobar la calidad de una historia de usuario revisando que cumpla una serie de características:

I - Independent (independiente)

N - Negotiable (negociable)

V Valuable (valiosa)

E - Estimable (estimable)

S - Small (pequeña)

T - Testable (comprobable)
Independent (independiente)

Es ventajoso que cada historia de usuario pueda ser planificada e implementada en cualquier orden. Para ello las
historias deberían de ser totalmente independientes (lo cual facilita el trabajo posterior del equipo). Resaltar que las
dependencias entre historias de usuario pueden reducirse combinándolas en una o dividiéndolas de manera diferente.

Negotiable (negociable)

Una historia de usuario es una descripción corta de una necesidad que no incluye detalles. Las historias deben ser
negociables ya que sus detalles serán acordados con el cliente o el usuario durante la fase de conversación. Por tanto,
se debe evitar historias de usuario con demasiados detalles porque limitaría la conversación acerca de las mismas.

Valuable (valiosa)

Una historia de usuario tiene que ser valiosa para el cliente o el usuario. Una manera de hacer una historia valiosa es
que la escriba el mismo.

Estimable (estimable)

Una buena historia de usuario debe de poder ser estimada con la precisión suficiente para ayudar al cliente, usuario o
propietario del producto a priorizar y planificar su implementación. La estimación generalmente la realizará el equipo de
trabajo y está directamente relacionada con el tamaño de la historia de usuario (una historia de usuario de gran tamaño
es más difícil de estimar) y con el conocimiento del equipo de la necesidad expresada (en el caso de falta de
conocimiento, serán necesarias mas fases de conversación acerca de la misma).

Small (pequeña)

Las historias de usuario deberían englobar como mucho unas pocas semanas/persona de trabajo. Incluso hay equipos
que las restringen a días/persona. Una descripción corta ayuda a disminuir el tamaño de una historia de usuario
facilitando así su estimación.

Testable (comprobable)

La historia de usuario debería ser capaz de ser probada (fase confirmación de la historia de usuario). Si el cliente o
usuario no sabe como probar la historia de usuario significa que no es del todo clara o que no es valiosa. Si el equipo no
puede probar una historia de usuario nunca sabrá si la ha terminado o no.

También podría gustarte