En los 80 se nos decía: “Cuanto antes empecéis a programar, más tarde terminaréis. ¿Cómo os ponéis a programar, sin analizar antes el problema, diseñar la solución y planificar el trabajo? ¿Os imagináis que un arquitecto hiciera lo mismo?”
Aprendimos a elaborar en primer lugar los requisitos del sistema, la especificación de requisitos del software, el plan de proyecto, la gestión de riesgos, matrices de trazabilidad, etc.
Pero los clientes insistían, que no podían definir completamente el producto desde el principio, que empezáramos y ya nos irían diciendo.
Aprendimos a basar la calidad de los programas en los procesos de la empresa y al hacerlo, descubrimos que no podían sustituir al talento de las personas.
La experiencia nos enseñó que los proyectos se pueden abordar con dos estrategias distintas: de forma planificada, con el know how definido en los procesos; o de forma iterativa con el conocimiento de las personas.
Y nos hemos dividido en dos bandos: el de la planificación y el de la agilidad. Hemos perdido la cabeza creando y etiquetando metodologías en cada bando: Scrum, XP, Kanban, Lean, Scrumban…
El consejo es huir del “etiquetado” metodológico y ser prágmáticos. Conocer las diferencias de base y enfoque entre planificación y agilidad. Las fortalezas y debilidades de cada una y a partir de ahí, que los “artefactos” de las diferentes doctrinas son simples prácticas, no “metodologías”. Unos, útiles para construir planes, otros para mantener requisitos cambiantes. Con sprints podemos iterar el producto en pulsos de tiempo prefijado (sprints), con técnicas kanban iteraremos el producto en un flujo continuo de crecimiento.
Cuanto mayor sea el inventario de prácticas que conozcamos, más flexible podrá ser nuestro trabajo y mayor nuestra capacidad para adaptarlo a las características de cada proyecto.
¿Por qué no se va a usar en un proyecto con gestión predictiva, planificación de póquer para conducir una reunión de estimación por juicio de expertos? o un tablero de gestión visual kanban.
¿Por qué no se pueden aplicar criterios de institucionalización de CMMI a las prácticas empleadas en una empresa ágil?