Desarrollo web, desarrollo ágil

Para que “algo” funcione en internet tiene que ser ágil desde todos los puntos de vista. Las páginas web deben pesar poco, el tiempo de respuesta desde que se pide una página hasta que se muestra en el navegador tiene que ser casi inmediato y, dentro de un sitio, si una página ha de ser visitada, más vale que se acceda a ella en pocos clics. Afortunadamente estos conceptos ya han sido aceptados y digeridos por la mayoría de profesionales que se dedican a la “construcción de internet”.

Sin embargo, muchas veces es obviado el concepto de agilidad en la fase de desarrollo. Aunque existen muchas formas y metodologías para aplicarlo, una vez más, lo más importante es aplicar la lógica y entender bien lo que se está haciendo para poder llegar a ser “ágiles”. Se trata de aplicar unos conceptos fundamentales que cada metodología implementará de una manera. Algunas metodologías son Scrum, Programación Extrema (XP) o Agile Unified Process (AUP).

Scrum: Procesos y elementos

Scrum: Procesos y elementos

¿Qué es desarrollo ágil?

Según el manifiesto para el desarrollo ágil de software, éste se basa en 4 pilares básicos:

  • Somos un equipo. Poco aportan unos procedimientos muy estrictos y las herramientas más caras del mercado si el equipo de desarrollo no sabe utilizarlos. Se trata de repartir coherentemente las responsabilidades y el trabajo del desarrollo. Debe haber una cabeza sin duda, pero la implicación y  motivación de cada miembro del equipo es decisiva para el éxito del proyecto. No será fácil aplicar este concepto si se piensa únicamente en horas/hombre (horas/recurso) como un activo del proyecto.
  • Hacemos software, no documentos. El segundo principio dice que hay que dar la importancia justa a la documentación. Si se pretende hacer una documentación exquisita con extensos documentos funcionales que recojan todas y cada una de las necesidades de la aplicación, ocurrirá una de estas dos cosas: En el mejor de los casos, el producto final no se parecerá en nada a lo planteado en estos documentos, o, en el peor, el desarrollo no empezará nunca.
  • Tendremos que hablar con el cliente. Para muchos esto es lo más duro. Trabajando en consultoría es frecuente oír decir que el cliente no sabe lo que quiere, que las especificaciones son malas, que no saben nada de informática o que cambian de opinión cada dos por tres. Seguramente, pero “that’s life”. La solución no es fácil, pero todo pasa por ser flexibles, no hacer rígidos planes al principio y sí hacer continuas iteraciones para ver que se ha hecho y que se va a hacer. Siempre con la aprobación y colaboración del cliente.
  • Ooops, algo ha cambiado. Esta es la piedra filosofal del desarrollo ágil. Hay que estar listo para el cambio. Las iteraciones de desarrollo deben ser cortas. Estar preparado para cambios de prioridades.

En resumidas cuentas, para hacer una super-aplicación, habrá que empezar haciendo un programita, mostrarlo al cliente (aunque sea interno en la empresa), recoger las sugerencias y cambios y preparar la siguiente iteración (seguramente es suficiente con una pequeña lista de tareas). Iteración tras iteración se llegará a la super-aplicación, pero mientras tanto ya tenemos algo. No olvidar nunca que estas iteraciones deben ser cortas (Scrum propone 2 semanas – 1 mes). Si no da tiempo a hacerlo todo en el tiempo prefijado, seguramente habrá alguna tarea que se pueda dejar para la siguiente iteración.

Anuncios

Etiquetas: , , , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: