How AI Code Assist Tools Create Value

How AI Code Assist Tools Create Value

Before we can know if a new tool or practice or process is helping we have to anticipate what advantage or leverage it is expected to bring to individuals, processes, or the org at large.

The early controlled studies like the GH 55% study and the McKinsey study, along with reports from many customers, show that "dev task time savings" is the most reliable benefit of using this technology. Dev Task Quality or Costs can also be improved sometimes. For example, a recent GitHub study on quality found that when developers are expected to improve quality and were given a way to gauge quality, they can then use GitHub Copilot to deliver higher quality code.

It's a common mistake for companies to try to measure the time savings benefit using process cycle metrics. Even though this approach occasionally reflects a shadow of "dev task time savings", in the majority of cases I've seen, it doesn't.

If it works sometimes, Why is this a mistake?

The main reason is that AI Code assist tools are directly impacting task efficiency as a first-order impact. There's no direct impact on process level efficiency. This means task duration, and consequently process cycle time, are only "contingent" second order impacts that can easily fluctuate. For example, Devs are able to use time savings in different ways. If they are empowered to use their judgment they can:

  1. Intentionally shorten task duration
  2. Intentionally improve task quality (testing, test coverage, documentation, or modularity)
  3. Intentionally try to do more work within given task duration
  4. They can even use the time for something unrelated to the task like learning, experimentation, work-life flexibility, or knowledge sharing.?

No telemetry can capture these micro decisions, or the varying amounts of time-saved routed to various intentions.

( Note: organizations that insist on glossing over these decisions are likely to fail at increasing the level of decision-making and decision-quality that will be required to benefit organizationally from improving Dev Task Efficiency. )

Improving Task Efficiency will often create pressure to increase Cycle frequency, but doesn't necessarily improve cycle overhead. If the time freed up by more efficient tasks is used to create a more efficient process, or to remove inefficiencies, then subsequent cycles will have less overhead - this is a path of compounding returns on time saved.

If, on the other hand, time savings merely is used to start the next cycle sooner, then that perpetuates the same cycle overhead or even increases it. This scenario is a path of diminishing returns on time saved. In this path, whether there is a net improvement in "productivity" entirely depends on whether there is enough Task efficiency gain to offset the increase in Process overhead that comes from more cycles. This is a path I heavily discourage because it will lead to muted benefit in the short term, and is unsustainable in the long term.


Three Models of Improvement for AI Code Assistants


The above diagram walks through the "domino effect" that AI Code Assistants can have at the Task, Developer, and Org Level. In future articles, we'll explore what this model of improvement means for Measurement, Value potential, and why we must improve Decision-Making to keep making progress.




James Williams

Search AI Specialist

3 周

Interesting read. I'm sold on AI code assistants. Github co-pilot is a fantastic pair programmer partner for me and has been since I jumped into the AI space. Legacy metrics around cycle time and even code quality are incredibly misleading in a world where more and more business processes involve code that integrates with LLMs. The "presales engineer" role is an excellent example. I write more code now then I did 10 years ago. Heck, I write more code now then 20 years ago. That's because it is so much easier and faster to solve problems with code or to prototype an "art of the possible solution" in code when you know how to use AI code assistants and other LLM powered tech. It's a shame more pre-sales engineers haven't figured this out. If you can't create value with code then you won't be a technologist much longer.

Dimitar Bakardzhiev

Efficient Product Development

1 个月

In manufacturing time savings are used to start the next cycle sooner. In parallel they try to create a more efficient process. That is what Lean is all about. They don't measure the "micro decisions" but the takt time i.e. the time between two deliveries when items are produced sequentially. That is, they look at the production process from the outside, as a black box, and use cycle time as a proxy for gauging improvements. They apply that blackbox view also to the most granular production entity e.g. a team or a work station where they measure the cycle time. Why is that not applicable to software development?

要查看或添加评论,请登录

Matt Gunter的更多文章

  • A case for Bayesian Reasoning

    A case for Bayesian Reasoning

    The book "Everything Is Predictable" by Tom Chivers provides a compelling argument for the superiority of Bayesian…

  • Measuring the Business Value of GitHub Copilot

    Measuring the Business Value of GitHub Copilot

    The most common benefit Developers see from the use of GitHub Copilot is time savings. It's easy for Developers to…

    6 条评论
  • An Inspiring Story of Repair, Improvement, Surprising Possibilities...

    An Inspiring Story of Repair, Improvement, Surprising Possibilities...

    ?? Watch The Last Repair Shop An Inspiring Short Film That Challenges Our Understanding of Systems ?? Theme: This…

    1 条评论
  • Three Ways Throughput Can "Transform" Your Business: A Satirical Allegory

    Three Ways Throughput Can "Transform" Your Business: A Satirical Allegory

    The moral (and humor) in this story is that: Structure matters. Coordination determines what structure is possible.

    9 条评论
  • Measuring more but learning less

    Measuring more but learning less

    Driving continuous improvement and making better decisions is something I think everyone can agree on. If individuals…

  • Four Ways to Fail at improving software development

    Four Ways to Fail at improving software development

    Rely on Activity Metrics and Promote the Idea that More Activity is More Valuable. Focusing on activity metrics (e.

  • Average Limitations

    Average Limitations

    When averages misinform and mislead —precision, causality, and predictability provide a repeatable path to better…

  • The Misguided Focus on Throughput in Knowledge Work

    The Misguided Focus on Throughput in Knowledge Work

    In the world of manufacturing, the Theory of Constraints (ToC) has long been a cornerstone of improving efficiency and…

    84 条评论
  • Maximizing Outcomes with AI

    Maximizing Outcomes with AI

    In a world where automation (AI enabled tools) handle an increasing number of tasks, human decision-making remains…

    1 条评论
  • Rediscovering Agency...

    Rediscovering Agency...

    Depicting individuals who were usually isolated and disconnected from their environments, in the Nighthawks Hopper…

    1 条评论

社区洞察

其他会员也浏览了