Etiquetas

, , ,

Definiciones

Qué no es:

  • Tradicional.
  • Con “big design upfront” o una gran cantidad de  análisis y diseño realizado con anterioridad.
  • Proceso Adhoc, pero no quiere decir que los programadores se vuelvan locos (“Developers gone wild”) Tiene planificación.

Qué es:

  • Es un proceso iterativo, con múltiples etapas que van de 1 a 4 semanas. Al final de cada iteración hay código de producción y productos verificables. Estas iteraciones son específicas y exactas en su unidad de tiempo a través del proyecto.
  • Está enfocado en el negocio (Business focused) y enmarcado en una determinada cantidad de tiempo.
  • Es planificado, sigue una visión que dice que es lo que requiere el proyecto desde el punto de vista del modelo de negocios, a través de escenarios e historias de negocio (business specific stories).
  • El proceso Ágil evoluciona si se determina que en una etapa del negocio se debe cambiar el escenario. (Evolutionary Approach).
  • No es un proceso caótico como muchos piensan, es cambio planificado.
  • No es para todos los proyectos.

Es un proceso Iterativo: Una iteración es una entrega específica enfocada en una función del negocio (o en una historia de negocio (business stories)).

Es en función del tiempo: Generalmente una iteración toma de 1 a 4 semanas y el desarrollo ágil te obliga casi militarmente a ser estricto con los tiempos que estableces. Cuando planificas el proyecto es necesario que cada una de las iteraciones sea del mismo tiempo, no ir mesclando. Aunque se puede cambiar el tiempo después de verificar que no se planificó de buena forma, pero nunca parcialmente.

Responsivo al negocio: El negocio ve resultados y soluciones implementados de forma temprana. Obtiene resultados rápidos a sus necesidades y permite que este pueda ir evolucionando según cambios en los escenarios del negocio.

Centrado en las entregas: Está enfocado en producir entregas constantes a los requerimientos en tiempos determinados de tiempo para validar permanentemente el trabajo realizado.

The Agile Way

Do the things right (quickly)

  • Haz las cosas correctas (rápidamente):
  • Ver el proyecto es una suma de entregables
  • No hay que agregar más cosas que las necesarias (hacer lo justo y necesario)
  • Hay que trabajar eficientemente (Y para esto hay que tener las mejores herramientas (CPU, SW, etc.)).
  • Hay que evitar el trabajo sin valor
  • No enfocarse o replicar procesos que no entregan valor a la entrega.
  • Preocuparse solo de los procesos que satisfagan los requerimientos de negocios.

No significa hacer un trabajo a tontas y locas, se planifica, pero se planifica de forma ágil, se verifican status regularmente (diario) y se planifican las iteraciones.

  • Mito: En el desarrollo ágil solo se programa y testea.
  • Tenemos que mejorar constantemente (Get Better)
  • No repetir procesos porque sí, hay que fijarse en que las cosas que hacemos y como las hacemos están bien.

Business FOCUS development

Ante cualquier impulso o intención de heroísmo:

YAGTNT NVANE
You aren’t going to need it. No vas vas a necesitar eso

A menos que el negocio diga lo contrario.

Si el negocio necesita A y B, tú vas a producir A y B, No A’ y B’ o A++ y B++.

Entrega lo que el negocio precisa y nada más, no construyas para el futuro.

Esto puede ser súper contrario a lo que te han enseñado desde siempre, donde te decían que tienes que pensar siempre en ser lo más flexible y ofrecer la mayor cantidad de alternativas posibles frente a un problema para poder completar todas las posibles soluciones y cada solución analizarla por separado.

Pero la realidad es que se ha estudiado el tema y se la estadística dice que el 50% de los procesos que se planearon en la etapa de análisis jamás fueron implementados.

Poner foco en las actividades de negocio significa hacer el mínimo necesario. Pero ojo esto no significa ser flojo.

  • Lo mínimo necesario no es Baja calidad;
  • Lo mínimo necesario no es Nula planificación;
  • Lo mínimo necesario no es Baja funcionalidad;

La sociedad parece que premia y las compañías creen que la hacen toda con trabajadores que se quedan hasta tarde y hacen mil cosas más en una entrega (sin tener que pagarles más), pero reconozcamos, esta es una mala práctica que termina por joder al resto del equipo que puede que sea más eficiente y que resuelve los problemas en un horario razonable bajo estándares bien definidos.

Pregunta: ¿Los trabajólicos cumplen más tareas que las personas que trabajan menos horas?
Respuesta: A menudo, no lo hacen. Como son perfeccionistas, ellos se preocupan demasiado en detalles irrelevantes o que no generan consecuencias y no se mueven nunca a la tarea siguiente.
Bryan Robinson, Psiquiatra.

“[Los trabajólicos] no buscan la manera de ser más eficientes; buscan la forma de estar ocupados por siempre”.

Dr. Gayle Porter, Profesora de Administración, The State University of New Jersey

“A veces el verdadero héroe es el que está en su casa, disfrutando de su tiempo porque encontró la forma de resolver el problema de forma eficiente y rápida.”

37 Signals

Manifiesto Ágil

Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar:

  • A los individuos y su interacción, por encima de los procesos y las herramientas.
  • El software que funciona, por encima de la documentación exhaustiva.
  • La colaboración con el cliente, por encima de la negociación contractual.
  • La respuesta al cambio, por encima del seguimiento de un plan.

Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda.

En el Manifiesto Ágil fue firmado por Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff Sutherland y Dave Thomas.

Más información en http://agilemanifesto.org/

Consideraciones

  • Ágil no es para todas las personas ni para todos los proyectos.
  • Ágil no es la solución mágica para todos los problemas de IT.
  • Ágil es Liviano, “Lean”.

El desarrollo ágil es poco ceremonial, permite que los procesos sean flexibles, las personas más proactivas, las actividades más experimentales y siempre conducido por el negocio (business driven).

  • Ágil es Efectivo
  • Ágil es A Tiempo
  • Ágil es Dentro del Presupuesto.

Por último:

Rápido no es ser Apurado

No se trata de correr, se trata de ser eficiente.