The Leadership Garden Newsletter – #54
Hello friend, I’m Csaba from Leadership Garden, and this is a weekly list of interesting articles that I come across that help me grow my thinking.
I hope you find something new to think about and share it with your friends.
And, if you forgot, this is in your inbox because you asked me to send it to you. You can always unsubscribe by clicking the link at the bottom of this email.
Inside Look: Measuring Developer Productivity and Happiness at LinkedIn
😃 Measuring developer productivity and happiness is a priority at LinkedIn.
📊 Over 50 metrics and dashboards were used to measure developer productivity, but lacked a holistic view.
🛠️ LinkedIn developed a new internal product called the Developer Insights Hub (iHub) to visualize developer experience and happiness metrics.
🎯 Metrics were designed using the “Goals-Signals-Metrics” (GSM) framework to focus on productivity and happiness goals.
📈 Metrics adopted include Developer Build Time, Code Reviewer Response Time, Post-Commit CI Speed, CI Determinism, Deployment Success Rate, and Net User Satisfaction.
🎨 The user experience was designed with a focus on simplicity, layering of information, and accountability by teams.
🌟 The Developer Experience Index (EI) was introduced to help viewers understand the significance of metric values in terms of developer experience.
👥 Metrics were aggregated and presented on a team-by-team basis to foster accountability.
📚 A data platform was created to onboard new metrics without code changes, and team-specific metrics were added to the UI.
🚀 The Developer Insights Hub saw success, leading to increased adoption, positive feedback, and empowering conversations among teams.
🧠 Key learnings include aligning on metrics design, providing interpretations like the Experience Index, layering information to prevent overwhelm, and supporting team-specific metrics.
Accountability is Not Blame
💡 Software design relies on cooperation across power differentials in relationships.
🤝 Strategies like responsibility, transparency, and “commander eats last” foster cooperation.
📊 Providing an honest account of resource consumption builds trust in relationships.
❌ Blame shifts consequences to less powerful individuals, contrasting with responsibility.
🧠 Practicing accountability nurtures trust and cooperation in relationships.
🌀 Power in power-differentiated relationships is multidimensional and dynamic.
🔑 Accountability is a valuable strategy for both empowered and less powerful individuals.
💪 Distinguishing between power and strength is crucial, with strength developed and power given to others.
The many flaws of flow efficiency
As organizations try to improve their ways of working, better efficiency is often a cited goal. ‘Increasing flow’ is something else you may hear, with Flow Efficiency being a measure called out as something organizations need to focus on. The problem is that few, if any, share the many flaws of this metric.
🚦 Queues, such as dependencies and blockers, hinder flow in software development.
📊 Flow efficiency is calculated as the percentage of active time spent on a work item compared to the total time it takes to complete the item.
📉 Anecdotal evidence is commonly used to support flow efficiency claims, but there's a lack of solid data to back them up.
🔄 Identifying wait states in workflow is essential for accurate flow efficiency calculation, but many teams do not model them correctly.
🕰️ Real-time updates for active vs. wait time are impractical, leading to flawed flow efficiency numbers.
🚫 Flow efficiency calculations often do not account for blockers, making the metric less meaningful in real-world scenarios.
🎭 Using averages with flow metrics can be misleading, as it hides the context and inefficiencies of specific items.
💡 Instead of flow efficiency, focus on identifying and addressing the most frequent and impactful blockers to improve workflow.
Don't Yell At The Weather
Yelling at the weather sums up the reality of senior leadership in many companies when trying to “fix” a complex system.
🧠 Complexity requires a different mindset and approach for positive change.
📚 Facilitating learning is crucial for improvement, rather than just focusing on execution.
💡 Reframe failure as the price of admission to discovering the path to success.
🏢 Create a culture of experimentation and learning by embedding it in all aspects of the organization, from hiring to performance management.
📊 Design safe-to-fail experiments instead of relying on futurology for better results and understanding.
✍️ Embrace small-scale, safe-to-fail probes to learn and adapt in complex environments.
🙏 Repeatedly emphasize embracing failure as a competitive advantage and leverage it for growth.
You Want Modules, Not Microservices
Architecture is hard sometimes--people keep offering up some new idea that quickly becomes the mainstream “way to do it” without any context or nuance, and the industry, desperate to find ways to improve their architecture, snaps it up without hesitation. Microservices were the latest in the trend, and it's time we dissected the idea and got to the real root of what's going on.
😎 Microservices offer several benefits, including scalability, focus on business logic, availability, simplicity, responsiveness, and reliability.
🔄 The industry tends to re-use hype points and ideas over time, as demonstrated by similarities between microservices literature and older technologies like EJB and Oracle Tuxedo.
📈 Microservices can be advantageous in promoting big data best practices, enabling higher-quality code, facilitating cross-team coordination, and enabling real-time processing.
🔄 The concept of modular architecture has been present since the 70s, and it shares many similarities with microservices, emphasizing the importance of well-defined, independent chunks of code.
🏢 The core idea behind microservices is more about organizational clarity and independence of development teams, allowing them to handle their own dependencies and speed up development.
⚙️ However, microservices also face challenges related to the Fallacies of Distributed Computing and the Fallacies of Enterprise Computing, which must be carefully considered when implementing them.
🔍 Rethinking the real needs of the system and the organization is crucial when deciding whether to adopt microservices or alternative architectural approaches. The key is to establish a clear vision and direction for the teams and give them autonomy to achieve their goals.
Dropbox Engineering Career Framework
Take a look at Dropbox’s Career Framework for engineers and engineering managers. One thing I appreciate about it is that they talk about what they mean by the magic term “impact”.
💡 Bonus – a useful/fun website to try this week
Just Watch
Find the cheapest place to watch. Whether you are looking for a new show or movie, it can be hard to know which streaming service to use without opening all of them and comparing prices (if they have it). To solve this, Just Watch scans the libraries of each major service and gives you a comparison page.
If you liked this, please share with your friends and let them know how to subscribe. I'd be grateful for any feedback you have, just drop me an email at feedback@leadership.garden.
Did you know all the newsletters are available online? If you're interested in earlier issues, simply visit newsletter.leadership.garden and have fun!