En estos más de 12 años de trabajar directamente con la agilidad y más de 20
como profesor universitario, constantemente en entrenamientos y cursos he
hablado del manifiesto ágil, y cuando lo hago sigo el siguiente proceso:
-
Muestro el manifiesto en inglés (no difiero mucho con la traducción) -
agilemanifesto.org
-
Lo presento en español -
agilemanifesto.org/iso/es/manifesto.html
- Lo explico y discuto.
-
Explico quiénes son los que firmaron el manifiesto ágil e invito a que los
busquen y sigan en redes, blogs, empresas, Twitter, Facebook, Youtube,
LinkedIn (como dicen modernamente, los invito a stalkear).
-
Luego paso a los principios en español -
agilemanifesto.org/iso/es/principles.html
y similarmente los explico y discuto en detalle.
Y aunque he brindado cursos de agilidad y de SAFe
(www.scaledagileframework.com)
en inglés, me ocurre como a todos, a veces pasamos por encima de las cosas sin
hacernos conscientes de ellas.
Bueno, quiero compartirles algo que me impactó luego de 20 años de explicar el
manifiesto ágil a mis estudiantes (1); existe una discrepancia radicalmente
importante entre el texto en inglés y español en el tercer principio del
manifiesto, el cual reza:
En inglés:
-
Business people and developers
must
work together
daily throughout the
project.
En español
-
Los responsables de negocio y los desarrolladores
trabajamos juntos de forma
cotidiana durante todo el
proyecto.
Se observa que en la traducción hacia el español se pierde el must, el cual denota obligatoriedad o imposición. Considerando lo anterior,
unas posibles traducciones más fieles al texto en inglés podrían ser:
-
Los responsables de negocio y los desarrolladores
debemos trabajar juntos diariamente durante todo el proyecto.
-
Los responsables de negocio y los desarrolladores
tenemos que
trabajar juntos diariamente durante todo el proyecto.
-
Los responsables de negocio y los desarrolladores
tenemos la obligación de
trabajar juntos diariamente durante todo el proyecto
Completamente diferente, ¿No es cierto? Una sola palabra genera una realidad
distinta en español, como dicen en coaching
“el lenguaje crea realidad”, y nos hace ver que es
conditio sine qua non no funciona la agilidad que promovemos, pues
partimos de la base que quienes hacemos agilidad cumplimos los 4 valores y 12
principios, y fallar en el involucramiento diario de la gente de negocio
generará que fallemos en nuestro propósito de construir soluciones que
coincidan con las necesidades de los clientes y usuarios.
De igual forma, cambié la palabra
cotidiana (2) por
diariamente, aunque significan
lo mismo, quiero hacer este hecho aún más explícito.
Otra traducción un poco débil dentro del manifiesto ágil se encuentra en el
segundo valor, el cual expresa:
En inglés
-
Working software over
comprehensive
documentation
En español
-
Software funcionando sobre documentación
extensiva
Según el diccionario Oxford son sinónimos de comprehensive: complete, full
(3); por lo cual unas traducciones más cercanas a la intención en inglés
podrían ser:
-
Software funcionando sobre documentación
completa
-
Software funcionando sobre documentación
integral
Pongamos foco en el punto de dolor
No dudo que al igual que yo, muchos instructores, agile coaches, scrum
masters, practicantes ágiles, áreas de TI, áreas de negocio, etcétera, han
leído y usado la traducción del manifiesto ágil en español interpretando ese
trabajamos juntos sin el énfasis que le pusieron los autores en inglés, pero
el hecho más preocupante es que existen muchas áreas de negocio y clientes
que insisten en hacer agilidad sin estar involucradas, delegando a los
equipos de software la construcción de la solución, sin entender que es un
factor de éxito en escenarios de incertidumbre y de construcción
incremental.
Cabe adicionar que varios informes del caos del Standish Group -
www.standishgroup.com - a lo largo de las últimas tres décadas han demostrado que los proyectos
de software más exitosos son aquellos en los que está el cliente involucrado
y comprometido diariamente.
Áreas de negocio perdidas en el contexto del desarrollo de software
Aunado a lo anterior, existe desde las áreas de negocio (y aun desde algunas vicepresidencias, direcciones o gerencias de TI) una ingenuidad sana pero que a la vez trae consecuencias negativas en los procesos de construcción de soluciones de software, y es creer que hacer software es un proceso predictivo, estable y que puede ser delegado sí existe una buena documentación.
Existen varios factores, que compiten en contra de la predictibilidad y la estabilidad de los procesos de software:
- El proceso de desarrollo software es un proceso de adquisición de conocimiento (4), entre más se interactúa con el cliente, mejor se entiende su necesidad y lo solución es moldeada de acuerdo con el entendimiento de esta.
- Como lo afirmaba Watts S. Humphrey (conocido como padre de la calidad del software) "Para un nuevo sistema de software, los requisitos no serán completamente conocidos hasta después que los usuarios hayan usado el sistema", por lo tanto, implica una validación de la constante del software para descubrir la solución deseada (5).
- La complejidad creciente del software, la cantidad de conexiones de este y las posibles interacciones y comportamientos requiere de un proceso de acompañamiento de quien lo solicita.
- De una solución de software solo el 20% es usado frecuentemente, 30% usado algunas veces, 50% poco o nunca usadas (6). Por lo tanto, si queremos llegar a construir software más rápido debemos evitar a toda costa construir software que no será usado y esto solo se logrará con un ejercicio constante de priorización y validación por parte del cliente del área usuaria.
- Los requisitos de software son inestables en un mundo cambiante o VUCA (7). Actualmente los requisitos tienen una vida útil de seis meses o menos (8). Ver imagen continuación
En conclusión, el proceso moderno de hacer software, es decir, como se hace hoy en el Siglo XXI, se podría resumir en:
Define un poco* de software a ser construido
↪ Construye lo poco anteriormente definido
↪ Entrega a los usuarios lo construido lo antes posible para validar si es lo requerido o no
*Entiéndase poco como la cantidad de requisitos suficientes para un mes de trabajo (o menos) de un equipo de desarrollo de software.
Cerrando
Si eres cliente o del área de negocio, cuando se están creando soluciones de
alto valor para la organización que cuestan varios cientos de miles de dólares
y que van a generar un impacto en la satisfacción, en la eficiencia o en el
entorno, se requiere no solo involucramiento, sino compromiso.
 |
| Imagen generada con Dall-e (9) |
Algunos consejos para ti, sí eres de negocio o Product Owner:
- Participa activamente en las sesiones del marco de trabajo
- Prioriza por valor el trabajo a realizar o Product Backlog
- Proporciona retroalimentación sobre el software funcionando
-
Interactúa
diariamente con el
equipo
-
Interactúa con tus usuarios y conócelos, valida sus expectativas y
valida el uso de la aplicación una vez la comiencen a usar
-
Si careces de tiempo para estar con el equipo solucionador, y quieres
entregar los requerimientos y que otros lo construyan sin tu compromiso;
la agilidad y el construir soluciones de software de alto valor y
retorno no es lo que tu o tu organizacion están buscando; y con
seguridad construirás software de desperdicio.
Si eres del equipo solucionador, de TI o desarrollador:
- Involucra y compromete al cliente
- Muéstrale el valor de participar con el equipo
- Enséñale a priorizar
- Garantiza a que comprenda el valor de las entregas tempranas
-
Compártele experiencias de otras personas en la industria acerca de usar
marcos ágiles
- Instrúyele como puede generar valor más rápido con menos alcance
-
Convéncelo que en escenarios de incertidumbre su interacción
diaria y continua es
garantía de éxito.
-
Demuestra progreso con software de valor funcionando en periodos de un
mes o menos, con preferencia al periodo más corto.
Ahora, respecto a las traducciones del tercer principio del manifiesto,
usa la que mejor se adapte a tu entorno.
Saludos ágiles,
Jorge Abad.
Nota de agradecimiento
Quisiera agradecer a mi gran amigo
Lucho Salazar, pues al momento de hacer traducciones me ha hecho mucho énfasis en
la rigurosidad de la traducción y respetar la intención del autor, por
ejemplo, en la actual
Guía de Scrum 2020, en la cual soy uno de los colaboradores bajo la guía de Lucho, y allí
hemos puesto mucho esfuerzo en que las palabras en inglés sean lo mismo que
en español, al igual que las frases e intención de los autores, algunos de
los retos interesantes estuvieron con:
-
Openess, traducido como apertura normalmente, pero una traducción
más fiel sería Franqueza
-
Accountability: que significa responsable de que algo se haga,
aunque no sea el ejecutor, pero en español no tiene traducción directa y
quedó con la palabra de responsabilidad que significa lo mismo, sea que
se delegue o no.
Comentarios, referencias y aclaraciones