Systems Thinking Radar - Ep. 1
- Alfredo Artiles from Pensando en Sistemas el Desarrollo de Producto <alfredoartiles@substack.com>
- Hidden Recipient <hidden@emailshot.io>
Systems Thinking Radar - Ep. 1Equilibrio entre control y velocidad. Teoría de las ventanas rotas. The XY Problem. Juegos infinitos.
Esta es la primera entrega de un nuevo formato que intercalaré con los ensayos largos que suelo escribir. Tengo más temas acumulados en borrador de los que seré capaz de escribir, y tampoco creo que os apetezca leer artículos extensos con mayor frecuencia. Mi idea con este formato más ligero es poder compartir notas más en crudo sobre el contenido que voy consumiendo, a la vez que me permita revisitar algunos conceptos ya tratados, pero en un formato más resumido. 🔄 Un bucleEquilibrio entre control y velocidad
Conseguir el equilibrio entre control y velocidad en desarrollo de software solo es posible mediante ciclos cortos de aceleración, aprendizaje y ajuste. Inspirado en la última entrega de Edu Ferro de la serie sobre Lean Software Development Entregar lo más rápido posible. 🤔 Una teoríaTeoría de las ventanas rotasYa introduje brevemente la teoría de las ventanas rotas como parte del artículo sobre la «tragedia de los recursos comunes».
Esta semana, Val Muñoz de Bustillo ha publicado en Polymatas un profundo análisis sobre el origen de la teoría de las ventanas rotas y hasta qué punto está respaldada por la evidencia. También disponible en formato podcast.
Val resume que, aunque la evidencia aún no es completamente concluyente en cuanto a la reducción del crimen y comportamientos extremos influenciados por el desorden, sí lo es en cuanto a su contribución al aumento del desorden. Desde mi experiencia en el desarrollo de software, encuentro que esta teoría tiene bastante validez cuando hablamos de la entropía del código. Lo he experimentado personalmente y lo he observado en mis equipos. Pero, ¿qué dice la evidencia sobre su aplicación en el contexto del desarrollo de software? The broken windows theory applies to technical debtEste estudio examinó la conexión entre la teoría de las ventanas rotas (BWT por sus siglas en inglés) y la deuda técnica. Se encontró que niveles elevados de deuda técnica existente en un sistema llevaban a los desarrolladores a introducir más deuda técnica al extender el sistema. Los desarrolladores eran más propensos a tomar decisiones subóptimas, como usar nombres de variables poco descriptivos o reimplementar código en lugar de reutilizar la funcionalidad existente (Levén et al., 2022). El objetivo fue analizar empíricamente si la deuda técnica existente en un sistema fomenta la introducción de más deuda técnica por parte de los desarrolladores. Se utilizó un enfoque mixto, que incluyó un experimento controlado con 29 desarrolladores y entrevistas de seguimiento. Los desarrolladores completaron tareas de extensión de sistemas con alta o baja deuda técnica. El análisis mostró que la presencia de deuda técnica afecta la tendencia de los desarrolladores a:
Behavioral Influence of Technical DebtOtro estudio observó que los desarrolladores tienden a «auto-admitir» deuda técnica cuando trabajan en entornos donde la calidad del código ya es baja. El efecto de las ventanas rotas se refleja aquí, ya que los desarrolladores se sienten menos motivados para mantener altos estándares en sistemas con problemas existentes (Wehaibi et al., 2016). 🧠 Un modelo mentalThe «XY Problem»El «XY Problem» es un término que describe una situación en la que alguien plantea una pregunta sobre la solución que ha ideado para un problema (Y), en lugar de preguntar directamente sobre el problema original (X). Como resultado, los demás intentan ayudar a resolver la solución propuesta (Y), que podría no ser la mejor opción, cuando en realidad el enfoque correcto sería resolver el problema original (X). Ejemplo:
Aquí, en lugar de preguntar cómo mejorar el rendimiento general al consultar una API (problema X), la persona ha preguntado cómo implementar una solución específica (Y). Quizás la mejor respuesta hubiera sido optimizar la propia consulta a la API o usar otro método más eficiente, pero al centrarse en Y, se limita el enfoque a una solución que puede no ser la ideal. También en estadísticas y la teoría de sistemas tenemos el error tipo III (δ), que se define como «plantear la pregunta equivocada y usar la hipótesis nula incorrecta». En este caso, no solo se responde incorrectamente, sino que todo el planteamiento del problema está mal estructurado desde el inicio, incluyendo tanto la pregunta como las hipótesis subyacentes. Cuando identificamos que se está cayendo en el «XY Problem» y conseguimos identificar el problema real, estamos aplicando disolución de problemas por reestructuración. Fuente: xyproblem.info 🗣️ Una citaJuegos infinitos
Cuando leí esto me sentí muy identificado con Kasparov. Aunque estoy muy lejos de ser el mejor del mundo en nada, sí que me he puesto objetivos que parecían inalcanzables. Y, una vez alcanzados, sentía esa especie de vacío en plan: «¿Y ahora qué?» Esta cita de Kasparov se explica maravillosamente con otra de Kevin Kelly:
Lo ideal es que el propio camino se convierta en el objetivo. Disfrutar del día a día, hacer deporte porque te hace sentir mejor. Como subproducto, puede que te pongas en forma y consigas ese six pack, pero lo importante es que el proceso mismo sea gratificante. Como propone James Clear en Hábitos Atómicos, no hay cambios duraderos de hábitos sin cambios en la identidad. La meta no es correr un maratón, la meta es convertirse en corredor. Más sobre juegos infinitos:
Esto es todo por hoy. Si te gusta este nuevo formato, házmelo saber, así como cualquier sugerencia sobre otra categoría de píldoras que sería interesante añadir. |