25

Sep

Publicado por: Carlos Marín | Agile | análisis de aplicaciones | kanban | metodologías | scrum

Desarrollo de proyectos con metodologías AGILE

Siempre que comentamos que trabajamos con metodologías ágiles, tenemos que explicar qué son: ¿Una técnica de programación? ¿Un paradigma de desarrollo? ¿Una manera de trabajar?

Agile es una metodología (un método de trabajo) que modifica nuestra forma de trabajar más “clásica”. Es importante tener en cuenta, que las metodologías ágiles no solo pueden aplicarse a proyectos de desarrollo de software, sino que actualmente se están aplicando en multitud de disciplinas muy dispares: construcción, gestión de proyectos, procesos comerciales,…

Las metodologías Agiles, centrándonos estrictamente en proyectos de desarrollo de software, parten de la base que el cliente va descubriendo lo que quiere durante el proceso de desarrollo y, a la vez, el equipo de desarrollo, va descubriendo como solucionarlo.

Esto nos lleva a la conclusión que aquellos proyectos de software donde teníamos largas y tediosas reuniones con el cliente al principio del proyecto para decidir los requerimientos básicos y que una vez finalizada esta fase de recogida de requerimientos no volvíamos a contactar con él hasta la fecha de entrega del prototipo; momento en el que seguramente detectábamos que nuestro prototipo “no era lo que el cliente esperaba” o “está bien pero…”; es una muy mala elección de metodología de trabajo ya que a pesar de haber consensuado las funcionalidades de la aplicación, el resultado ofrecido, no es ni por asomo lo que el cliente esperaba.

Con Agile y cualquiera de los métodos de trabajo ágiles, vamos desarrollando las aplicaciones para terceros en base a pequeños desarrollos orientados a una funcionalidad y un perfil de usuario (historias de usuario) que vamos validando con nuestros clientes, normalmente cada dos semanas (es lo que llamamos sprint), asegurándonos, de esta forma, que lo que estamos desarrollando se ajusta exactamente a lo que el cliente quiere y evitándonos sufrir largos y costosos procesos de modificaciones y adecuaciones para que nuestro desarrollo sea lo que el cliente quería.

Las principales ventajas que obtenemos incorporando las metodologías ágiles a nuestros desarrollos son:

  • Mejora de la satisfacción del cliente, puesto que estará más involucrado en el proyecto y podrá evaluar cada poco tiempo la marcha del proyecto, contribuyendo a una mayor sensación de propiedad y control sobre el desarrollo.
  • Mejora la motivación e implicación del equipo de desarrollo, puesto que todos los miembros del equipo técnico conocen en todo momento el estado del proyecto. De la misma forma, la implicación del equipo en la estimación de las tareas o ‘issues’ contribuirá a sentirse más implicados en las tareas a realizar durante el sprint.
  • Ahorro de tiempo y costes, puesto que el desarrollo basado en metodologías ágiles es mucho más eficiente y rápido que los desarrollos basados en otras metodologías.
  • Mejora de la velocidad y eficiencia. Agile se basa en las entregas parciales pero funcionales de la aplicación, lo que nos lleva a obtener el PMV (producto mínimo viable) en un menor tiempo.
  • Eliminación de las funcionalidades innecesarias. Gracias a las entregas parciales y a la clasificación de las historias de usuario, podremos determinar cuáles son las funcionalidades realmente necesarias y cuáles son totalmente innecesarias.
  • Mejora de la calidad de producto. La continua relación e interacción entre el equipo técnico y los clientes asegurará que el producto final sea exactamente lo que el cliente quería y necesita, es decir, obteniendo un producto de mayor calidad (si definimos calidad como el grado de satisfacción del cliente en relación a lo que la aplicación debería hacer).
  • Detección precoz de los errores. En proyectos de desarrollo de software, cuanto antes detectemos los errores e incidencias, menos costosa será su resolución. Las metodologías ágiles permiten detectar estos errores en fases iniciales del proyecto.

Así pues, el uso de metodologías ágiles no solo contribuirá a la mejora y eficiencia de nuestros proyectos sino que mejorarán la  sensación de control por parte del cliente así como la implicación del equipo de desarrollo, generando aplicaciones más eficaces, eficientes y robustas.

Carlos Marín

https://es.linkedin.com/in/cmarinmu

 

Barcelona
Passeig Gaiolà 13
+34 933 801 144
Lleida
Carrer Agustins 7
+34 973 988 222
Andorra
(Escaldes-Engordany)
Parc de la Mola 10, AD700
Bogota
Carrera 9A #99-07 Piso 9. Despacho 02
Torre la Equidad