Tuesday, February 27, 2024

People, It's Time to Stop Agilesplaining

Are you frustrated that the C-suite doesn't get Agile? Perhaps the problem lies in how you explain Agile and not a lack of desire to understand.

Why the Agile Manifesto Isn't Enough

Let's face it, referencing a decades-old document created during a skiing trip by a group of men might not be the most relatable way to introduce Agile. Agile is about so much more than its origin story.

The Agile Manifesto was a fantastic springboard for spreading Agile concepts globally. However, it's not the most effective tool for explaining Agile to individuals or smaller teams. It can feel impersonal and overwhelming.

Focus on Value, Not History

Instead of lecturing about the Agile Manifesto, try this:

  1. Understand their needs. What are their priorities and challenges? How can Agile help them achieve their goals?
  2. Speak their language. Connect Agile concepts to their existing knowledge and experience.
  3. Tell a story. Make Agile relatable through stories and examples they can remember and share.
  4. Minimize jargon. Avoid technical terms like "Agile" and "Agile Manifesto" whenever possible.

If you find yourself constantly relying on the Agile Manifesto, it might be a sign that you need to deepen your own understanding of Agile.

Agile Coaching: It's About Listening

The core of successful Agile implementation is active listening. Instead of treating Agile as a one-size-fits-all solution, tailor your approach to resonate with each individual or team.

Stop explaining Agile. Start listening and facilitating conversations that make Agile meaningful in their context. There's no need to resort to "Agilesplaining" - by focusing on value and clear communication, Agile adoption can flourish at all levels.

Tuesday, February 20, 2024

The Art and Science of Measuring Engineering Organizations

Feeling like you're constantly bombarded with requests to "measure your engineering team?" While engineering measurement can spark heated debates, it's a powerful tool that goes far beyond appeasing leadership. Effective measurement fosters open communication, builds trust between engineering and other departments, and ultimately improves team morale. By establishing a data-driven approach, you can gain valuable insights that inform strategic decision-making, optimize workflows, and propel your engineering organization towards continued success. Let's explore the nuances of engineering measurement and how to approach it strategically with a framework to help choose the right metrics for the right reasons?


Why Measure?


While debates around how to measure engineering effectiveness are common, the underlying value proposition is undeniable. Effective measurement goes beyond simply appeasing leadership or generating reports. It serves as the cornerstone for a data-driven approach to managing your engineering organization, unlocking a multitude of benefits. There are multiple reasons to measure an engineering organization:
  1. Self-assessment: Understanding your organization's performance and areas for improvement.
  2. Stakeholder communication: Providing insights to CEOs, boards, and other departments.
  3. Decision-making: Informing strategic choices about resource allocation and priorities.

Remember, measurement isn't about micromanaging or holding individuals accountable. It's about understanding your engineering landscape, identifying areas for growth, and fostering a culture of continuous improvement.

Stakeholders Needs

As discussed earlier, there are multiple reasons for measuring an engineering organization. Often, stakeholders will rely on engineering measurement for their own specific needs.  Here's a breakdown of the various stakeholders to consider and the data their engineering measurement needs:
  • You: As an engineering leader, you need data to make informed decisions about project selection, resource allocation, and overall team effectiveness.
  • Your CEO and Board: Executives are interested in how engineering contributes to the company's strategic goals.
  • Finance: Finance teams track headcount, vendor costs, and engineering's impact on the budget.
  • Strategic Peers: Product, design, and sales functions can leverage engineering metrics to optimize their own work.
  • Tactical Peers: Customer Success and Legal departments often have specific metrics related to engineering's output, such as user ticket resolution times.

Four Key Measurement Categories

The specific metrics you choose to measure will depend on your unique needs and stakeholders. However, there are several general categories of metrics that can be valuable for most engineering organizations. Here's a breakdown to get you started:
1. Measure to Plan: These metrics help you align engineering efforts with business goals and make informed decisions about project selection and resource allocation.
  • Examples:
    • Number of projects shipped by team and their impact on key performance indicators (KPIs) like revenue or user adoption.
    • Time spent on bug fixes vs. new features development.
    • Engineering capacity allocated to different business units or product lines.
2. Measure to Operate: These metrics provide insight into the health and stability of your software and teams, allowing you to identify and address potential issues before they impact users.
  • Examples:
    • Number and severity of incidents encountered.
    • Downtime experienced by user-facing APIs and websites.
    • Latency of user-facing APIs and websites.
    • Engineering costs normalized against a core business metric (e.g., cost to serve per API request).
3. Measure to Optimize: These metrics help you understand how efficiently your engineering teams are working and identify areas for improvement.
  • Examples:
    • Developer productivity surveys (e.g., developer satisfaction with tooling, processes, etc.).
    • Lead time for completing user stories or bug fixes.
    • Code churn (the amount of code that is changed but ultimately discarded).
    • Established industry frameworks like Accelerate or SPACE (these frameworks measure software delivery performance).
4. Measure to Inspire and Aspire: These metrics showcase the transformative impact of engineering on the business, motivating both current and potential hires.
  • Examples:
    • Reduction in development time for a particular feature after a technical improvement.
    • Increased scalability and reliability of the system after infrastructure upgrades.
    • Elimination of manual tasks through automation.
Remember: When choosing metrics, focus on those that are actionable and will directly influence decision-making.  Avoid vanity metrics that don't provide meaningful insights.
Here are some additional tips for selecting metrics:
  • Start small and scale up: Don't overwhelm yourself by trying to measure everything at once. Begin with a few core metrics and expand as you gain confidence.
  • Balance the need for accuracy with the need for progress: While it's important to have reliable data, don't get bogged down in perfecting metrics before you even begin collecting data.
  • Align with existing data collection efforts: Where possible, leverage data already being collected by your team or other departments.

By following these guidelines and tailoring your measurements to your specific context, you can establish a data-driven approach that empowers you to effectively manage your engineering organization.

Anti-patterns

The realm of engineering measurement is littered with potential pitfalls.  Here are some common missteps or anti-patterns to watch out for:
  • Misusing Optimization Metrics for Performance Evaluation: It can be tempting to judge individual or team performance based on metrics designed to optimize workflows. For instance, a team generating fewer pull requests than others might be seen as less productive.  However, this judgment could be inaccurate. Context is crucial. Perhaps the team is exceptionally skilled at writing clean code, requiring fewer pull requests for review.  Focus on evaluating teams based on metrics that reflect planning and operational effectiveness rather than optimization goals.
  • Individual Measurement vs. Team Measurement: Software development is a collaborative effort. While one engineer might be focused on coding this sprint, another might be providing the support necessary for the first engineer's success.  While individual data can be useful for diagnostics, it's a poor tool for measuring overall team performance.  Keep your focus on metrics that reflect the efforts and achievements of the entire organization or individual teams.  If a metric suggests a potential problem, then you can investigate individual data for further diagnosis but avoid using it for direct evaluation.
  • Fearing Data Misuse:  Some leaders worry that their CEO or board will misinterpret data.  For example, they might see a concern if they discover engineers only deploy code twice a week, potentially misconstruing this as laziness.  While these discussions can be frustrating, remember that avoiding them won't solve the problem.  Instead, take the time to educate stakeholders who misinterpret data.  Approach these conversations with an open mind, acknowledging that there may be room for misinterpretation, and guide them towards a more nuanced understanding of the data's implications.
  • Isolating Metric Selection:  While having a clear vision for measurement is important, avoid making decisions in a vacuum. Solicit feedback and iterate on your chosen metrics, especially when you're new to a company.  Projecting your understanding from a previous role can erode trust within your new team.  Instead, build trust by incorporating feedback from your team and peers throughout the process of selecting and implementing engineering metrics.

By recognizing these pitfalls and taking proactive steps to avoid them, you can steer clear of misinterpretations and ensure your measurement efforts yield valuable insights that benefit your engineering organization.  Remember, effective measurement is an ongoing process, not a one-time fix.  As your organization and its goals evolve, so too should your metrics and how you utilize them.

Building Confidence in Your Data

Rolling out a new set of engineering metrics is just the first step.  The true value comes from continually analyzing and refining that data. Here are some key practices to ensure your data is working for you:
  • Regular Data Reviews: Schedule regular reviews (weekly is ideal) to examine your metrics.  Focus on how the data has changed over time (month, quarter, year) to identify trends. Whenever possible, set goals against your metrics.  Both achieving and missing these goals can be valuable learning experiences, highlighting areas that require further attention.
  • Hypothesis-Driven Analysis: Don't just observe data changes, strive to understand them.  Develop hypotheses for why the data might be changing.  For example, if you see a cost-per-request increase despite a rise in requests per second, investigate the reason for this unexpected outcome.  Use this newfound understanding to refine your hypothesis and the metrics you track.
  • Collaborative Data Exploration: Don't go it alone! Data analysis is most effective when conducted with a team with diverse perspectives.  Including individuals from different departments allows for brainstorming various hypotheses about how the data might behave.  This collaborative approach fosters collective learning and a deeper understanding of the data's nuances.
  • Segmentation is Key: Real-world experiences can vary greatly within an organization.  For instance, reliability and latency metrics might not reflect the experience of European users if your data centers and most users are located in the United States.  Similarly, build strategies likely differ between Scala, Python, and Go teams.  Segmenting your data allows you to capture these distinct experiences and gain a more nuanced understanding of your engineering landscape.
  • Bridging the Gap Between Data and Experience: Don't solely rely on objective measurements.  Compare these metrics with the subjective experiences of your teams.  If, for example, build times are supposedly decreasing, but engineers still feel like builds are slow, investigate the discrepancy.  What factors might be contributing to this difference in perception?  By bridging this gap, you ensure your data accurately reflects the reality of your engineering organization.

Following these practices will equip you to effectively analyze your data, identify areas for improvement, and ultimately make data-driven decisions that propel your engineering organization forward. Remember, data is a powerful tool, but its true value lies in how you interpret and utilize it.  By dedicating time to understanding your data's limitations and fostering a culture of data exploration, you can ensure your metrics guide you rather than mislead you.


In conclusion, effectively measuring your engineering organization isn't about collecting dust on a dashboard full of numbers. It's about harnessing the power of data to gain actionable insights that drive continuous improvement. By following the framework outlined and avoiding common pitfalls, you can establish a data-driven culture that empowers your engineers and propels your organization forward. Remember, measurement is an ongoing process, not a one-time fix. As your organization and its goals evolve, so too should your metrics and how you utilize them. Embrace a culture of data exploration, continuously refine your approach, and watch your engineering organization reach its full potential.

Tuesday, February 6, 2024

The Technology Supercycle: Navigating Our Future

We find ourselves at the heart of what is being termed the "technology supercycle," a profound era marked by the simultaneous maturation of three transformative general-purpose technologies: Artificial Intelligence (AI), Biotechnology, and the Connected Device/Sensor Ecosystem. This convergence has the potential to alter our economic and societal landscapes as significantly as the Industrial Revolution and the emergence of the internet once did.

Artificial Intelligence: Revolution and Responsibility

While not new, artificial intelligence continues to dominate tech trends due to its expansive capabilities and inherent challenges. Despite its potential, AI faces significant issues such as ingrained biases, accountability in decision-making, and the dangers posed by open-source models that could be exploited for harmful purposes. Moreover, generative AI is progressing from simple text-based systems to more complex models that can transform abstract concepts into tangible outcomes, extending its influence across various domains.

Smart Device Ecosystem: Innovations and Intrusions

The proliferation of smart devices and sensors—ranging from VR/AR headsets dubbed "face computers" to sophisticated wearables capable of interpreting human intentions—is creating a new frontier in technology. These devices not only enrich the user experience but also funnel vast amounts of real-world data into AI systems through large action models. However, this integration raises significant concerns regarding privacy and the potential for social scoring systems reminiscent of scenarios from "Black Mirror."

Biotechnology: Beyond Silicon

In the realm of biotechnology, groundbreaking developments in synthetic biology and biological computers—particularly those utilizing human brain cells or organoids—herald a new age of computing that could surpass traditional silicon-based systems. These innovations promise to deliver faster, more energy-efficient, and powerful computational abilities, potentially reaching exascale computing levels previously outlined in reports like those from MIT Technology Review.

Societal Impacts: Steering the Supercycle

The concentration of technological power in the hands of a few, driven by a techno-utopian agenda, poses significant risks to societal balance and equity. To address these, it is imperative for governments to establish dedicated bodies to manage the disruptive impacts of this supercycle on industries and employment.

Furthermore, companies are urged to redefine their strategic approaches by mapping out evolving value networks. This proactive stance will enable them to better anticipate disruptions and identify opportunities for creating future value.

Personal and Professional Navigation Strategies

For individuals, success in this era demands an informed understanding of the trends shaping our world and their potential impacts. Adopting strategic foresight and engaging in long-term planning are crucial to adapt and thrive amidst these changes. It is equally important for individuals and organizations to participate actively in discussions aimed at directing the technology supercycle toward a more equitable future.

As we ride the waves of this technology supercycle, it becomes increasingly important to engage proactively and strategically. By understanding the forces at play and their potential impacts, we can harness these technologies to foster a thriving, inclusive future.

Can the EU Compete?