Este documento presenta formas de organizar las prácticas y técnicas que pueden adoptar los equipos de trabajo (SQUADs) para el desarrollo ágil de productos. Propone organizar las prácticas en función de los ciclos de desarrollo y fases del proyecto, similar a como Mendeleiev organizó los elementos químicos en su tabla periódica. También recomienda enfocarse en métricas como el tiempo de ciclo y frecuencia de implementaciones para medir el éxito de las prácticas adoptadas.
2. Contenido
El propósito de esta breve presentación es indagar sobre
las posibles formas de organizar las prácticas y técnicas
de desarrollo que pueden adoptar los equipos de trabajo
(SQUADs) de la siguiente manera:
❏ Preludio (sobre la presentación anterior de SQUADs)
❏ Introducción (a la segunda parte)
❏ Prácticas relacionadas con el flujo de trabajo
❏ Prácticas y técnicas concretas
❏ Ideas para la organización de prácticas y técnicas
❏ La conexión Mendeleyev
2
3. Preludio
Esta presentación tiene como precedente la
charla sobre diseño de equipos (SQUADs)
Conviene señalar a la audiencia (o al lector
medianamente sensato), que la mayoría de
las ideas, prácticas y técnicas son bien
conocidas durante los últimos 10 años
3
4. Preludio
Sólo a modo de recordatorio (para los que no estuvieron), la primera parte refiere
a los aspectos fundacionales hasta llegar a la propuesta de valor de los SQUADs
• Parte I: Agilidad: principios, prácticas y otras demencias
• Parte II: Diseño accidental o intencional
• Parte III: La ley de Conway y sus corolarios
• Parte IV: El modelo de Dreyfus
• Parte V: SQUADs propuesta de valor
• Parte VI: Apéndice
4
5. Introducción
El muchacho de la derecha es, como sabe
cualquiera, Wassily Wassilyevich
Kandinsky
Primero abogado, economista, luego
pintor, escritor, profesor *1
Considerado el padre del arte abstracto
Sinestético*2
Finado desde 1944
(*1) Nos gusta homenajear polímatas
(*2) Es una alteración sensorial, no una patología. Personajes conocidos son: Baudelaire,
Nabokov, Proust y Mozart (quien afirmó que el tono "fa" se correspondía con el amarillo)
5
6. Introducción
Al maestro se le postuló al cerebro la siguiente
idea: "hay una relación inevitable entre las
formas básicas (triángulo, cuadrado y
círculo) y los colores primarios (amarillo, rojo
y azul)"
De ahí que, para Kandinsky, la fórmula
debía ser:
triángulo-amarillo, cuadrado-rojo y
círculo-azul
El resultado de lo anterior, no es simple y
tiene como resultado el origen del arte
abstracto, cuyo padre es el mismo
Kandinsky
Producto final: Azul, 1924 6
7. Introducción
Hagamos uso de la analogía de formas y colores en dos partes… la primera un
tanto ingenua (o efímera), la segunda un poco más elegante
● El diseño de equipos de trabajo constituyen las formas elementales
(SQUADs, SQUAD-Ops, Discovery-SQUADs)
● El conjunto de prácticas, técnicas (y herramientas asociadas) son la
manera de darle color a la ejecución
● Combinados los anteriores, podemos ejercer el complejo arte de
desarrollar productos digitales
¿Qué prácticas y que técnicas? 7
8. Prácticas relacionadas con el flujo de trabajo
Tres cosas que permiten mejorar el flujo de trabajo
● Mostrar el trabajo (cuando no lo hacemos, aparece "el
crimen perfecto")
● El tamaño de la pieza a trabajar (small batches)
● Calidad del producto / entregable (no es negociable)
Conviene saber qué es lo que empeora el flujo de trabajo
● Las dependencias (suelen hacer que no fluya el valor)
● Operar bajo el máx(utilización) de los equipos (Kingman)
8
9. Flujo de trabajo
Mostrar el trabajo
● Todo trabajo no planificado, toda actividad
requerida (que habitualmente tiene poco
análisis y lleva más de lo esperado) es el
crimen perfecto: no deja evidencias
● De modo que cuando tenemos que
argumentar sobre porque no llegamos con el
trabajo planificado, no podemos
evidenciarlo…
● El trabajo no planificado debe entrar en el
board
9
10. Flujo de trabajo (cont.)
En honor al profesor George Boole
Supongamos que necesitamos dos inputs para
terminar algo
● Queremos, por ejemplo, escribir y publicar un simple
artículo
● Una vez escrito, necesitamos: diseñar el post y publicarlo
en wordpress (los dos inputs)
Decidimos que el diseño y la publicación son dos
inputs que provienen de otros lugares
De modo que, tenemos 1 sola chance en 4 de que
podamos publicar en tiempo y forma
George Boole es…
James Moriarty
Además de ser el padre de la Revolución
Digital, George Boole es la inspiración del
temido Prof. James Moriarty, la mayor mente
del crimen (y el archienemigo de Sherlock
Holmes)
Pero esa es una historia para otra charla sobre
lógica y novelas policiales ;-)
10
11. Flujo de trabajo (cont.)
Por las dudas que lo anterior le haya provocado un infarto de córnea, expliquemos:
Si 0 es verdadero y 1 es falso, y dependemos de dos inputs para publicar nuestro
contenido (diseño y publicación); las permutaciones son como siguen
00 -> Tenemos ambos inputs, entregamos en fecha
01 -> Entregamos tarde
10 -> Entregamos tarde
11 -> Entregamos tarde
Es posible que le parezca que lo anterior no reviste ninguna gravedad
Hasta que se da cuenta de que se puede expresar mediante la siguiente
función f(x) = 2x
11
12. Flujo de trabajo (cont.)
Ahí se desayuna (mitad por haber sido torturado en su adolescencia con las funciones aún existiendo las planillas
de cálculo), de que es una función que "crece rapidito..."
¿Y con 3 inputs?. Para jugar con los números, tenemos (y siempre tendremos)
una sola chance para entregar pero en 8!!
1. 000 -> Tenemos los 3 inputs, entregamos en fecha
2. 001 -> Entregamos tarde
3. 010 -> Entregamos tarde
4. 011 -> Entregamos tarde
5. 100 -> Entregamos tarde
6. 101 -> Entregamos tarde
7. 110 -> Entregamos tarde
8. 111 -> Entregamos tarde
El impacto en la entrega, por ende, es asimétrico
Es una forma muy fina de decir que, si agrego más dependencias, se va todo a la mierda!
12
13. El tamaño de la pieza (paquete, story, etc..)
Se trata de "partir" el trabajo, por ejemplo,
las user stories (sabiendo que puede
comenzar por los patrones conocidos)
● Pasos de un workflow
● Validaciones
● Reglas de negocio
● Variaciones en los tipos de datos
Otra alternativa (más violenta) es limitar el
tamaño de las user stories a x story points
(ejemplo: x=5)
Flujo de trabajo (cont.)
13
14. Flujo de trabajo (cont.)
Algunas ventajas obvias cuando el contexto aplica:
● Trabajar en small batches, simplifica la complejidad del trabajo a realizar
● Algo más simple, es más fácil de testear, por ende, los bugs aparecen y se
resuelven más rápido
● El sentido de logro y el feedback llegan antes
● Se minimizan los riesgos concretos de no entregar lo que no está bien
● El ciclo de desarrollo se ajusta más y por ende, entregamos valor de
negocio con mayor frecuencia
● Reduce el carry-over de stories
14
15. ¿Cómo organizamos todas las prácticas (y sus
técnicas) en función de los ciclos de desarrollo de
producto?
Los anglosajones tienen un dicho:
"Beauty is in the eye of the beholder" que se puede explicar así:
La belleza no existe por sí misma, ha de ser creada por quien la ve,
observa, experimenta o se da cuenta
15
16. Adoptar SQUADs Product development practices
16
Una forma (trivial) es, anotar las disciplinas en función de los ciclos y, en su
intersección, anotar las prácticas
17. Adoptar SQUADs Product development practices
17
Por ejemplo, es posible listar prácticas cuando ponemos foco (overlay) en la planificación (plan) y
estamos comenzando (explore) ...
20. Algunas prácticas técnicas dignas de considerar
Por ejemplo, en release...
● Dev Environments (containers)
● Feature flagging (toogles)
● TIP (testing in production)
● Trunk based development
(TBD)
● Blue/green Deployment
● GitOps (XasC. repositories)
● <inserte aquí la próxima>
20
21. ¿Otra alternativa para organizar?
Imitar la forma en la cual se estructuran
las tácticas de arquitectura de
software en términos de atributos de
calidad (el enfoque del Software
Engineering Institute)
El problema a resolver se plantea como
pregunta y luego se ofrecen las
alternativas...
Creo que no sirve, tenemos demasiadas
preguntas dependiendo de la fase
(iteración, sprint, incremento, etc.) de
ejecución
21
22. La conexión Mendeleyev: El alfabeto del Universo
En 1790, la humanidad conocía la
friolera de 23 elementos (mitad
porque se le antojó a Lavoisier)
Para 1870 ya había como 70
Fue Mendeleiev quien trabajó en la
innovación (*1)
más relevante en el
campo de la química en siglo XIX, es
decir, cómo organizar los elementos
A la fecha, se conocen 118 (
*2)
(*1) Es un ejemplo notable cómo un pedazo de papel cumple con la idea de
innovación
(*2) Es el número máximo que sospecho tengo en cantidad de neuronas
22
23. La conexión Mendeleyev: El alfabeto el Universo
23
Cada fila de elementos es un período (tienen el mismo número de electrones).
Dentro de cada fila, están ordenados por número atómico (creciente).
Las columnas agrupan elementos de mismas propiedades físico-químicas
24. Simple, pero complejo...
La tabla se lee con facilidad, pero...
El número 79 (el del oro), es el número
atómico que no es otra cosa que el número de
protones en el núcleo…
Ahora cuando quiere saber cómo los
elementos intercambian electrones (con la
excepción de los gases nobles) es otra historia
Los tipos (me refiero a los electrones), se alojan
en los subniveles de energía (que le
corresponden a cada nivel (n) energético),
donde residen los orbitales y es allí donde se
mueven y alojan en relaciones matemáticas
conocidas (#e=2n2
)
24
26. ¿Y los colores de Kandinsky?
Revisemos, por curiosidad, el azul de
ultramar, uno de los colores empleados por
los Florentinos (como Leonardo) de exigente
preparación
El color se logra obteniendo partículas de
color azul de una piedra semipreciosa, el
lapislázuli
Su fórmula química (representación de los
elementos que forman un compuesto y la
proporción en que se encuentran) es:
3Na2
O • 3Al2
O3
• 6SiO2
• 2Na2
S
Es decir, Na (sodio), AI (aluminio), Si (silicio), S (azufre)
26
27. Compuestos y prácticas
Los compuestos, como las prácticas se pueden
ir adoptando a medida que identificamos (o
queremos) resolver un problema en
particular
En lugar de:
● Prometer velocidad
● Prometer productividad de las personas
Para los SQUADs tiene sentido medir lo que
se quiera cambiar/mejorar, por ejemplo:
● Aumentar el cycle time
● Incrementar la frecuencia del
deployment
● Reducir el time-to-fix
27
28. Bienvenidas...
Mejores ideas (deben sobrar)
para organizar las prácticas y
técnicas de los SQUADs de
forma tal que, tanto los equipos
como los clientes puedan
visualizar, observar,
experimentar, darse cuenta
del valor que agregamos en la
entrega de servicios
28
Dmitri Ivanovich Mendeleev (1834-1907) químico Ruso,
el último de 17 hermanos. Nunca mereció el premio
Nobel de Química (evidencia el circo del premio).
Pasó 20 años trabajando sobre la tabla.
El elemento 101 de la tabla es el Mendeleivo, un
homenaje al químico
29. Eso es todo… gracias!
Los créditos corresponden a:
Kandinsky,
Mozart,
Boole,
Leonardo,
Lavoisier,
Mendeleyev
29