← All AI Engineer talks

AI Engineer World's Fair 2024

The ROI of AI: Why You Need Eval Frameworks

Beyang Liu· Co-Founder and CTO, Sourcegraph25:28

Read the talk

The ROI of AI: Why You Need Eval Frameworks

Six ways to evaluate coding assistants connect developer flow to business value, without pretending that software productivity has a single precise measure.

From a talk by Beyang Liu

Who can actually measure the return?

How many engineering organizations have a quantitative, precise framework for measuring the return on AI tools? In Beyang Liu’s opening audience poll, among engineering leaders, individual contributors and middle managers, only one attendee raises a hand. Others acknowledge that their evaluations still depend on how the tools feel. Liu, Sourcegraph’s CTO and co-founder at the time, is addressing the gap between experiencing a useful tool and demonstrating its business impact.

Sourcegraph began with a familiar developer problem: understanding large, complex codebases. Its first product was a code search engine, built to help developers find their way through unfamiliar software.

Slide titled “About Sourcegraph” with a search interface above code search results and a references panel.
Sourcegraph’s code search interface and code navigation examples.

After roughly a decade building search, Sourcegraph served organizations ranging from startups to Fortune 500 companies and government agencies. Its coding assistant, Cody, brought that search capability into AI-assisted development. Liu describes its release as about two years earlier; the public launch chronology instead places its launch in spring 2023, before this 2024 talk.

The product analogy is Perplexity for code: retrieve and rank relevant information before asking a language model to use it. In Liu’s comparison, an assistant restricted to open editor files has only local context; Cody can draw relevant snippets from across a codebase. That retrieval capability is a substantial part of the product’s value, separate from the language model itself. Selling it to organizations such as 1Password, Palo Alto Networks and Leidos—the government contractor Liu connects to airport security machines—meant answering different questions about ROI for different buyers.

0:360:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:36 · section reference included

A straightforward feature becomes a series of side quests

The developer’s experience starts with a task that looks straightforward: build a feature. Using slides he credits to Palo Alto Networks engineering director Gunjan Patel, Liu follows what happens next. Dependencies need installing. A UI component turns out to be unfamiliar. A framework needs learning. Each gap becomes a side quest that consumes both time and attention. In Liu’s telling, thirty minutes and two cups of coffee later, the developer has solved the immediate problem but has to reconstruct the original task. The accompanying slide renders the same joke as 28 minutes.

Slide titled “Bridging the gaps old school way” shows a figure above stones filling a small dip, with a larger dip still ahead, and the text “28 minutes and 2 cups of coffee later...”
Bridging a coding gap the old-school way.

AI can bridge those gaps while the developer still remembers the larger goal. The benefit is not only faster completion of an isolated operation: it is preserving enough focus to finish the feature and deliver the intended experience instead of giving up. Staying in flow is a recognizable benefit; turning it into business-impact evidence is the harder problem.

3:503:58
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:50 · section reference included

More beans, or better beans?

Consider the difference between specialty coffee and supermarket Folgers. Both involve beans, but counting beans does not describe their quality. Liu turns that distinction into a miniature company: Bob grows the beans, representing engineering; Pat sells them, representing the sales leader or CRO; Alice counts them, representing the CFO or CEO.

Now Bob grows beans with AI, and Pat sells beans with AI. Alice still has to ask where the return is. Pat’s output is comparatively easy to quantify through sales. Bob faces a harder conversation: Alice wants to know how many more beans the company produces, while Bob wants to explain that the beans are getting better. Neither concern makes the other disappear. The tool costs money, so finance needs evidence; engineering needs that evidence to reflect quality as well as quantity. Liu reports seeing this tension repeatedly in conversations with engineering leaders.

Precise AI ROI measurement inherits the difficulty of measuring developer productivity. If an organization could precisely quantify the productivity added by an assistant, it would also need a defensible account of what developer productivity means. Liu calls this NP-hard and sketches a reduction-proof joke before pretending to end the talk and tell everyone to give up. This is a rhetorical analogy, not a complexity-theoretic result about ROI.

The practical response is to choose a tractable evaluation that answers the organization’s actual decision. The following six frameworks come from different customer conversations; they are alternatives and complements, not a checklist every customer must complete.

5:365:43
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:36 · section reference included

1. Roles eliminated

The classic labor-saving calculation assumes a fixed demand for output. Buy a tool, observe an increase in production capacity, and reduce staffing while continuing to supply the required number of widgets. It is an intuitive framework when the business objective is to produce the same output at lower labor cost.

Liu says Sourcegraph had not encountered this evaluation criterion among its software-development customers. He had seen it more often in functions treated as cost centers, particularly consumer-facing support. Engineering leaders generally did not describe their organizations as widget factories: the work involved improving software and user experiences, not producing interchangeable units.

An extensive backlog changes the decision. Liu poses a hypothetical productivity improvement of 20% and asks whether the organization would tackle more backlog work or cut staff. Those are strategic alternatives, not equivalent percentage calculations. His answer is that software companies overwhelmingly want to address the important work they already cannot reach. Under that objective, additional capacity has value even when no roles disappear.

9:159:29
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:15 · section reference included

2. A/B testing velocity

A velocity experiment uses the organization’s existing planning process as its baseline:

  1. Divide the organization into a tool-enabled group and a control group.
  2. Give the first group access to the assistant and withhold it from the second.
  3. Estimate feature and bug-fix timelines through normal planning.
  4. Observe how each group executes against those estimates.

The comparison asks whether access to the tool changes delivery against planned work, rather than merely increasing activity inside the assistant.

Liu reports that Palo Alto Networks used a similar evaluation and concluded that approximate delivery timelines accelerated by 20–30% with Cody. The talk does not specify an assignment procedure, measurement period or statistical analysis, so this is a customer-reported timeline result rather than a documented randomized trial.

The main challenges are comparability, confounding and cost:

  • Different work: Infrastructure, backend and frontend teams are not interchangeable experimental units.
  • Events outside the tool: A key contributor leaving or a COVID outbreak can change delivery speed independently of AI access.
  • Observation effort: Splitting access and sustaining the experiment long enough to gain confidence requires coordination and time.

Liu considers this a useful way to test an assistant’s effectiveness when the organization can afford that effort and account for the differences between teams.

11:1611:29
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:16 · section reference included

3. Time saved as a function of engagement

A cheaper evaluation starts with voluntary use. If developers repeatedly choose a code search engine, the working assumption is that searching helps them accomplish something faster. Identify useful actions in the product’s telemetry, assign an estimated time saving to each, and aggregate the results. Liu proposes two minutes saved per code search as an illustrative conservative assumption, even though an exceptional search might prevent half a day or a week of wasted work.

The arithmetic separates observed action counts from assumed savings:

T^saved=aAnat^ana=observed count of action at^a=estimated minutes saved per action a\begin{aligned} \widehat{T}_{\text{saved}} &= \sum_{a \in A} n_a\,\widehat{t}_a \\ n_a &= \text{observed count of action } a \\ \widehat{t}_a &= \text{estimated minutes saved per action } a \end{aligned}

Choosing small values for the per-action estimates produces what Liu calls a lower-bound estimate. Its conservatism still depends on whether the chosen actions actually save that time. Vendors can expose the necessary analytics: Cody’s administrator reporting included explicit invocations, chats, questions about the codebase and inline code-generation actions.

An illustrative TypeScript calculation keeps those assumptions visible instead of hiding them inside a single ROI number:

typescript

type ActionEstimate = {
  action: string;
  count: number;
  minutesSavedPerAction: number;
};

function estimatedMinutesSaved(actions: ActionEstimate[]): number {
  return actions.reduce(
    (total, action) => total + action.count * action.minutesSavedPerAction,
    0,
  );
}

const example: ActionEstimate[] = [
  { action: "code-search", count: 30, minutesSavedPerAction: 2 },
];

console.log(estimatedMinutesSaved(example)); // 60 estimated minutes

Here, 30 searches is a teaching input and two minutes is Liu’s proposed assumption. In an evaluation, telemetry supplies the count; the team remains responsible for the time-saving estimate.

An implicit suggestion is not the same signal as an explicit request. Autocomplete can appear without a developer choosing to invoke it. Counting every displayed completion would reward a product for pushing more suggestions, including low-quality ones. For this interaction, Liu recommends acceptance-rate criteria rather than raw exposure counts.

Liu’s break-even example uses about $9 per month for Cody and values developer time at $100–$200 per hour. The $9 figure was the historical individual Cody Pro price, not an enterprise deployment quote. Those inputs imply approximately 2.7–5.4 minutes of saved time per month to cover the subscription:

Tbreak-even=CmonthlyVhourly×609200×60=2.7 minutes9100×60=5.4 minutes\begin{aligned} T_{\text{break-even}} &= \frac{C_{\text{monthly}}}{V_{\text{hourly}}}\times 60 \\ \frac{9}{200}\times 60 &= 2.7\text{ minutes} \\ \frac{9}{100}\times 60 &= 5.4\text{ minutes} \end{aligned}

This expresses the subscription cost in units of developer time; it does not mean those minutes automatically become cash savings.

The framework’s simplicity is also its limitation. It can describe routine time savings, but it misses a feature that gets finished only because the developer no longer abandons a frustrating detour. It also omits second-order effects of faster execution and the value of accelerating a major company initiative. Those omissions motivate evaluations closer to the organization’s desired outcomes.

13:2413:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:24 · section reference included

4. KPIs tied to desired changes

Organizations already track indicators they believe correlate with engineering quality and business impact. The danger is selecting an easy-to-count proxy, especially lines of code generated. Liu describes seeing a familiar mistake return with AI: treating code volume as developer productivity. Sourcegraph even lost deals on generated-line counts, initially prompting the team to investigate whether Cody needed a product improvement.

The investigation led to a different explanation: Liu says a competing product triggered suggestions more aggressively. Optimizing that number could therefore change the frequency of suggestions without producing the organizational improvement the buyer wanted. Choose a KPI because it measures a desired change, not because the tool makes it easy to count.

Leidos made the desired change concrete by distinguishing interruptions from activities it wanted developers to spend more time doing:

Desired directionActivities
Less timeAnswering questions; interrupting teammates
More timeBuilding features; writing unit tests; reviewing code

Those categories defined the evaluation period. They express how Leidos wanted work to change; Liu does not give a measured improvement for each category.

16:3216:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:32 · section reference included

5. Impact on key initiatives

An initiative-based evaluation maps the assistant to engineering objectives and key results. Consider a migration from COBOL to Java, or from React to Svelte. If that migration is a top-level engineering priority, the relevant question is what it would be worth to finish months or years sooner—or to make the project feasible at all. The unit of value is the initiative, not an individual completion or search.

An audience member immediately asks the difficult question: how do you measure how far the tool pulled delivery forward? Liu’s answer is that this becomes a judgment call for the engineering leader. Leaders may already have started the work or completed similar migrations, giving them experience of the difficult parts. They compare that experience with what the product can do and estimate the acceleration.

Liu also cites unnamed case studies in which work taking a year or longer was compressed into a couple of months. He supplies no project details or measurement method here. Such examples can inform a leader’s estimate, but the framework still depends on an explicit judgment about the project’s likely trajectory with and without the tool.

18:1918:37
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

18:19 · section reference included

6. Developer surveys within a budget

A survey can provide useful evidence even when it appears less rigorous than a delivery experiment. Run a pilot, let developers use the tool, optionally compare it with another assistant, and ask which they preferred. This captures the judgment of the people who must integrate the product into their daily work.

Liu contrasts unrestricted developer-happiness purchasing during the 2021 zero-interest-rate period with a constrained allocation process. First establish the budget for productivity investments; then use developer preferences to decide which tools fit inside it. Referring to a Pragmatic Engineer survey chart, Liu gives a typical allocation range of 5–25% for developer productivity and tools, without specifying the budget denominator in his explanation. The decision mechanism does not require adopting that range: ask developers what they value most, subject to the organization’s actual spending limit.

“Framework #6: Survey” slide with columns for how it works, a budget-allocation case study, and criticisms, plus a small scatter plot.
A survey framework for allocating a developer-productivity budget.
19:3519:45
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

19:35 · section reference included

Define success, then make room to learn

The frameworks address different decisions, from routine subscription value to the timing of a major migration. None eliminates the underlying measurement problem. Returning to the P-equals-NP joke, Liu urges skepticism toward anyone promising a precise measure of AI ROI or developer productivity. The practical requirement is clear success criteria shared by engineering, stakeholders and the vendor. Everyone should know what evidence would count as a successful evaluation.

Adoption itself can require intervention. Productivity tools often spread from developers upward, but Liu reports that top-down AI mandates sometimes helped overcome skepticism. In those cases, a CEO committed the organization to adopting Cody or coding AI and asked developers to learn how to use it, despite its imperfections. The rationale was skill development for a change expected to unfold over the following decade, rather than an assumption that every interaction would already work well.

20:4220:56
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

20:42 · section reference included

From completions to agents, with code still at the center

The closing direction places coding tools on a spectrum from inline next-token completions to fully automated offline agents. Increasing automation is only one goal: tools also need greater reliability and broader usefulness across languages and development scenarios. Liu’s proposed path moves through that spectrum rather than jumping directly to full automation.

The next step in Sourcegraph’s talk-time vision was an online agent living in the editor, still responsive to human feedback and guidance. That intermediate form preserves a way for the developer to steer the work while the assistant becomes more capable. It is a proposed direction here, not a report that the future system had already been delivered.

The Mythical Man-Month supplies the second closing image: familiar fallacies about software productivity may survive the arrival of AI developers. Liu asks whether the fundamentals have changed. His framing favors one highly productive engineer over many mediocre developers who require extensive guidance, then applies the same question to automation: should the goal be a crowd of mediocre AI developers, or much greater capability for the skilled humans crafting the user experience? His hundred-agent-versus-100×-leverage contrast is a provocation about the objective, not a measured multiplier.

The final audience question asks whether developers will move away from coding toward metaprogramming, leaving code as boilerplate. Liu reports that, in one personal coding session the previous Friday, Cody wrote 80% of the code while he requested individual functions. Working at the function level rather than line by line helped him stay in flow.

The output, however, was still code. Liu predicts that natural language will not fully replace it, because code describes intended behavior precisely. Prompting can change how a developer expresses a request and how much of the implementation they type, while code remains the precise source of truth for what the software actually does.

21:5122:04
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

21:51 · section reference included

Resources

From the talk

Updates since the talk

Read the complete timestamped transcript
  1. 0:00

    [upbeat music] I want to introduce our first speaker, uh, Beyang Liu, um, CTO of Sourcegraph, and I won't spoil the topic of the talk, but it's gonna be a good one.

  2. 0:19

    Thank you very much.

  3. 0:20

    Awesome. [clapping] Thank you, Peter. How's everyone doing this morning?

  4. 0:25

    Good. Yeah? Everyone, uh, awake, bright and early. Thanks for coming out. Almost awake. Awesome. Um, so before I, uh, dive into the talk here, I just wanted to get a sense of, you know, who we all have in the room.

  5. 0:36

    So, um, you know, who here is, like, a head of engineering or a VP of engineering?

  6. 0:42

    Okay, a good number of you. Who here is just a, a, you know, IC dev, interested in kind of like evaluating how things are going? Okay. And then w- what do you-- what, what do the rest of you do?

  7. 0:54

    Just shout out, uh, your roles. Anyone? Anyone? Middle management. Middle management. Okay, cool. [laughing] And who here has a really, you know, quantitative, very precise, thought-through, uh, evaluation framework for measuring the ROI of AI tools?

  8. 1:10

    Okay, one hand in the back. What company are you from, sir?

  9. 1:16

    Broadsignals. Broadsignals. Broadsignals. Okay, cool. So we got one person in the back. And then who here is sort of like, "We kind of are evaluating it, but it's really kinda like vibes at this point"?

  10. 1:26

    Anyone? Anyone brave enough to... Okay, cool. So you're in the right place. Now, who am I? Why am I qualified to talk on this topic? So I'm the CTO and co-founder of a company called Sourcegraph.

  11. 1:38

    Uh, we're a developer tools company. Uh, if you haven't heard of us, we have two products. One is a code search engine. So we started the company because we were developers ourselves, my co-fou- co-founder and I, and we were really tired of the slog of diving through large, complex codebases and trying to make sense of what was

  12. 1:53

    happening in them. The other product that we have is an AI coding assistant. Uh, so what this, uh, product does is it's essentially...

  13. 2:04

    Oh, sorry. I should mention that we have great adoption among really great companies. So we started this company ten years ago, uh, to solve this problem of tackling, uh, understanding code in large codebases, and today we're very fortunate to have, uh, you know, customers that range from early stage startups all the way through to the Fortune 500

  14. 2:22

    and even some government agencies. So what's the tie-in to AI ROI? So about two years ago, we released a new product called Cody, which is, uh, an AI coding assistant that ties into our code search engine.

  15. 2:36

    So you can kind of think of it as like a Perplexity for code, whereas, you know, your kinda vanilla, run-of-the-mill AI coding assistant, uh, only uses very local context, only has access to kinda like the open files in your editor.

  16. 2:49

    We spent the past ten years building this great code search engine that, uh, is really good at surfacing relevant code snippets from across your codebase. And it just so turns out that, like, that's a great superpower for AI to have, right?

  17. 3:01

    Um, you know, for, for those of us that have started using Perplexity, we can kinda see the appeal. And a big piece of the puzzle is not just the language model itself, but the ability to fetch and rank relevant context from, you know, a whole universe of data and information.

  18. 3:16

    And so we had to solve this problem, uh, in order to sell Cody into the likes of, uh, 1Password, uh, Palo Alto Networks, and, uh, Leidos, which is a big government contractor.

  19. 3:28

    If you flew in here from, uh, somewhere else, you probably entered through one of their security machines. We sold Cody to all these organizations, and so each one of these organizations has kind of like a different way of measuring ROI.

  20. 3:39

    They have different frameworks that they apply. And so we had to answer that question in, uh, a multitude of ways, and that's what I'm here to talk about.

  21. 3:50

    Okay, so I wanna start out with how I would describe the value prop of AI to someone who's actually using it, to a developer.

  22. 3:58

    So coding without AI, I think, you know, we've all felt this before if you've ever written a line of code. Uh, you start out by asking yourself, like, "Oh, this task, it's straightforward.

  23. 4:08

    It should be easy. Let me just go build this feature." I should mention, I poached these slides, uh, from, um, a, a director of engineering at Palo Alto Networks.

  24. 4:18

    He's actually giving another talk, uh, at this conference, Gunjan Patel. I thought he did an excellent job of describing the value prop that he was solving for as a director of engineering when they were purchasing, uh, a coding AI system.

  25. 4:29

    So this is the way he described it. You think it should be straightforward, but then there's all these side quests that you end up going on as a developer.

  26. 4:37

    It's like, "Uh-oh." Like, "I gotta go install a bunch of dependencies," or maybe, you know, there is this, uh, UI component that I have to go and figure out, this framework that I need to learn.

  27. 4:46

    So the gaps appear, and then without AI, bridging the gaps, uh, takes both time and focus. You kinda have to, you know, spin off a, a side process or go on a little mini quest, uh, and then, you know, thirty minutes and two cups of coffee later you're like, "Okay, I got it.

  28. 5:02

    I filled the gap, but what was I doing again?" And so AI helps bridge those gaps. It helps solve this problem. It helps, uh, developers really stay in flow and stay, uh, kind of like cognizant of the high level of what they're trying to accomplish.

  29. 5:18

    And so what this means is that more and more developers can actually do the thing that, that we wanna do, which is build an amazing feature and deliver an amazing experience, um, instead of giving up.

  30. 5:26

    Now, the question is: How do we measure this in a way that we can, uh, demonstrate the business impact of what this does to the rest of the organization?

  31. 5:36

    And so the answer is beans. Okay, who here drinks coffee?

  32. 5:43

    Okay, cool. Do you know the difference between a really great, uh, coffee bean and, you know, your kinda run-of-the-mill Folgers or, you know, the thing that you buy at the supermarket? [clears throat]

  33. 5:54

    Okay. Turns out we're all in the bean business. We think we're in the software business, but We're really selling beans, in a way. So in every company, there's someone, uh, let's call him Bob, who grows the beans, essentially the developer.

  34. 6:09

    Uh, there's another person, let's call, uh, him Pat, who sells the beans. That's your kinda CRO or sales lead. And then you have Alice on the side, who's kinda your CFO, uh, or, or CEO.

  35. 6:20

    Uh, and Alice has gotta count the beans. At the end of the day, you know, uh, [laughs]

  36. 6:24

    not to diss the finance people if there are any in the room, but, like, it's all about counting the beans and seeing how they add up. Now, I don't know if any of you have been paying attention, but in the past two years, the bean business has been revolutionized.

  37. 6:36

    This thing called AI has appeared. And so what does the bean business look like now?

  38. 6:42

    Well, Bob grows the beans with AI, and Pat is selling beans, but with AI. And then Alice is on the side being like, "Well, I'm counting all the beans, and where's the ROI?"

  39. 6:53

    And so this is the answer that, you know, B- basically Bob has to answer. Pat has kinda got it easy because Pat's job is just selling the beans. That's a much more quantifiable, uh, task.

  40. 7:04

    Um, those of us that are involved in software engineering and product development, it's a bit harder to measure. So there's tension in the bean shop, you know? Uh, Alice is asking Bob, you know, "How many more beans are we growing now with AI, Bob?"

  41. 7:16

    And Bob's like, "Well, it's complicated, Alice. Not all beans are the same. You know, there's some good beans, and there's some very bad beans. We're making our beans better."

  42. 7:23

    And then Alice is like, "Well, okay, the bean AI tool costs money, and we gotta measure its impact somehow."

  43. 7:32

    Anyone feel that tension? Anyone have this kinda, like, conversation? We, we've talked to a lot of heads of engineering who ha- see this tension very real with other parts of the org, specifically between finance and engineering.

  44. 7:45

    And I think the core of the problem is that measuring AI ROI for functions where the work is not directly quantifiable through a number is what I like to call NP-hard.

  45. 7:56

    So how many people are familiar with the term NP-hard here? Okay. Cool. We're all pretty technical. So NP-hard basically means if you have a tough challenge, uh, if you, if you have a problem, and you can basically reduce it to a class of very s- uh, difficult problems, it probably means your problem is not solvable.

  46. 8:14

    And measuring AI R- ROI reduces to measuring developer productivity or the productivity of whatever class of knowledge worker, uh, that you're managing. Uh, and so that implies if you can measure the AI ROI precisely, you can also measure developer productivity.

  47. 8:28

    And who here knows how to measure developer productivity?

  48. 8:33

    It's kind of an open question, right? So, uh, using the logic of your standard reduction proof, uh, this problem is intractable. So that's the end of my talk. I'm just here to tell you that this problem is intractable, and we should give up, right?

  49. 8:47

    Well, in the real world, we often find tractable solutions, uh, to intractable problems. And so, uh, what the meat of this talk is, is really sharing a set of evaluation frameworks that we've presented to different customers.

  50. 8:59

    Uh, not all of these are used by, uh, you know, any given customer. Um, but I wanted to give kind of like a, a sampling of the conversations that we've had.

  51. 9:07

    Uh, and hopefully there'll be some time for Q&A at the end where we can kind of talk through this and, and, uh, see what other people are doing.

  52. 9:15

    Okay, so framework number one, uh, is the famous roles eliminated, uh, framework. So this question gets asked a lot these days, especially, you know, on social media. Like, AI is here to take your job.

  53. 9:29

    So how does this framework work? Well, in the classic framing, you buy the tool, the, the labor-saving tool. You observe ... You know, you're in the bean business or the, the widget business.

  54. 9:37

    You observe that this tool yields an X percent increase, uh, in your capacity to build widgets. And then you can cut your workforce to meet the demands for whatever widgets you're selling.

  55. 9:48

    Now, in practice, we have not encountered this framework at all in the realm of software development. Um, we do see it more prevalent in other kinda business units, you know, things that are more viewed as, like, cost centers, like, uh, support and things like that, um, especially like, uh, consumer-facing customer support.

  56. 10:07

    But for software engineering, uh, for whatever reason, we haven't encountered this yet in any of our customers. And we think that the reason here is that, number one, you know, if you view your org as a widget factory, uh, then you're gonna prioritize outputting widgets.

  57. 10:22

    But the, the thing is that very few engineering leaders, effective engineering leaders these days view themselves as widget builders. You know, the widgets are kind of an abstraction, uh, that don't apply to the craft of software engineering.

  58. 10:33

    The other observation here is that the widgets that we're building, which is software at the end of the day, great user experiences, they're not really supply limited. So if you have, like, an extensive backlog, the question is, you know, if we made your engineers 20% more productive, would you go and, you know, do more, uh, 20% more

  59. 10:50

    of your backlog? Or you just cut down 20% of your workforce and say, like, "You know, it's fine. We don't need to get to the backlog." And for 99% of the companies out there that are building software, the answer is no.

  60. 11:01

    We wanna build a better user experience. These issues in our backlog are very important. We just can't get to them. So framework number one is kind of like, uh, talked about frequently, but in practice, we haven't really seen it as an evaluation criteria.

  61. 11:16

    Framework number two is what I like to call A/B testing, uh, velocity. So how this works is you basically segment off, uh, your organization into two groups, uh, the test group and the control group.

  62. 11:29

    And then, uh, you say group one gets the tool and group two does not. And then you go through your standard planning process. Most people, uh, as part of that planning process, what you do is you go and estimate the time that it will take to resolve, uh, certain issues.

  63. 11:44

    So, you know, how long is this feature gonna take to build? How, how long is it gonna, uh, take to work through these bug backlogs? And then because you've divided the groups into two now, uh, you have some notion of, like, you know, how well you're executing against your, your timeline.

  64. 11:57

    So you basically run this A/B test. Um, so Palo Alto Networks, one of our customers, uh, ran something similar to this. Uh, and the conclusion they drew was the, the approximate timelines got accelerated 20 to 30%, uh, using Cody.

  65. 12:12

    And so this is a very kind of, like, rigorous scientific framework. Um, we see it come up now and then, uh, especially when, when companies are of a certain size and, and they, they're very thoughtful about this question.

  66. 12:24

    Um, the criticisms about this framework are no two teams are exactly the same, right? Like, if you lop off your development org, you have, you know, your dev infrastructure on this side, maybe backend, and then you have front-end teams on this side.

  67. 12:35

    It's hard sometimes to compare these, th- these different teams to each other because, uh, software development is very different, uh, in different parts of your organization. There's also confounding factors.

  68. 12:46

    You know, maybe Team X, you know, had, a, an important leader or contributor depart. Uh, maybe Team Y, uh, you know, uh, suffered a bout of COVID that, you know, uh, blew through the team or, or things like that.

  69. 12:59

    So you have to account for these things when, when make your evaluation. And this framework is also high-cost and effort. You basically have to do the subdivision. You give one group access to the tool, and then you have to run it for an extended period of time in order to gain enough confidence.

  70. 13:12

    But provided you have the resources and the time to estimate it, we think this is a pretty good framework for honestly testing the ef- efficacy of, of an AI tool.

  71. 13:24

    Okay, framework number three. Um, I call this time saved as a function of engagement. So if you have a productivity tool,

  72. 13:32

    um, using the product should make people more productive, right? So if you have a code search engine, uh, the more code searches that people do, uh, that, that probably saves them time.

  73. 13:42

    If it didn't save them time, there would be no reason why they would go to the search engine. And so in this framework, what you do is you basically go look at your product metrics, and you break down all the different time-saving actions, uh, you identify them, and then you kinda tag them with an approximate estimate of

  74. 13:58

    how much time is saved in each action. And if you wanna be conservative, you can lower bound it. You know, like, you could say, like, "A code search probably saves me two minutes."

  75. 14:07

    That's maybe, like, a, a lower bound because there's, there's definitely, like, searches where, oh my gosh, like, it saved me, like, half a day or, uh, maybe, like, a whole week of work because it prevented me from going down, uh, an unproductive rabbit hole.

  76. 14:20

    But you can lower bound it and just say, like, "Okay, we're gonna get a lower bound estimate on the total amount of time saved." And then, uh, you go and ask your vendor, "Hey, can you build some analytics and share them with me?"

  77. 14:30

    So this is something that we built for Cody, uh, you know, very fine-grained analytics to show, uh, the admins and the leaders in the org exactly what actions are being, uh, taken.

  78. 14:42

    You know, how many explicit invocations, you know, how many chats, how many questions about the codebase, how many inline code generation actions, and those all map to a certain amount of time saved.

  79. 14:52

    There's one caveat here, which is in, uh, products where you have, like, an implicit trigger, like an autocomplete, um, you can't rely purely on engagement because it's not the human opting in to engage the product, uh, each time.

  80. 15:05

    It's sort of, like, implicitly shown to you. Um, and so there you tend to go with, uh, more of an acceptance rate criteria. You don't wanna do just raw engagements because then the product could just push a bunch of, like, low quality, uh, completions to you, and that would not be a good, uh, meas- metric of, of

  81. 15:20

    time saved. So we have a lot of customers that do this. They appreciate it. One of the nice things about this is that because we're lower bounding, it makes the, the, the value of the software very clear.

  82. 15:31

    Um, so a lot of, uh, developed tools, us included, I think, like, Cody is, like, nine dollars per month, and Sourcegraph is a little bit more than that, but it's like if you back out the math of how much an hour of a developer's time is worth, you know, typically it's around, like, a hundred to two hundred

  83. 15:45

    dollars. It's like if you save, you know, a couple minutes, uh, a month, this kinda pays for itself in terms of productivity. Um, the criticisms of this framework is, of course, it's a lower bound, so you're not, uh, fully assessing the value.

  84. 15:59

    If you go back to that picture I showed earlier of, you know, the dev journey where you're kind of bridging the gaps, uh, I think a big value of AI is actually completing tasks that hitherto or, uh, beforehand were just not completed because people got fed up, uh, or they got lazy, or they just had other things

  85. 16:15

    to do. So this doesn't capture that. Um, it doesn't account for the second order effects of the velocity boost. Um, and it's good for kinda, like, day to day, like, "Hey, is this speeding up the team?"

  86. 16:26

    But it doesn't capture some of the impact on key initiatives of the company.

  87. 16:32

    So that leads to the fourth evaluation framework. So a lot of our customers track certain KPIs that they th- they think are correlated with engineering quality and business impact.

  88. 16:42

    So lines of code generated. Does anyone here think lines of code generated is a good metric of developer productivity?

  89. 16:50

    Okay, I think i- in twenty twenty-four, we can all say that it's not. We have seen this resurfaced in the context of measuring ROI of AI because, uh, it's almost like we've forgotten all the lessons that we learned about human developer productivity, and with AI, uh, generated tools, now it's like, oh, like, you generated, like, you know,

  90. 17:08

    hundreds of lines of code for, uh, uh, a developer in a day. And so we, we noted that we were actually losing some deals on lines of code generated, and when we actually went and looked at the product experience, we were like...

  91. 17:19

    At first, we were like, "Hey, you know, maybe we should... There's a product improvement here that we should be making because people aren't accepting as many lines generated by Cody."

  92. 17:26

    But when we dug into this, we were like, oh, like, you know, the competitor's product, it's just more aggressively kinda, like, triggering and, and that's not, like, the sort of business that we wanna be.

  93. 17:35

    So more and more, we're kind of pushing our customers to not tie to generic metrics or, like, high-level metrics, but identify certain KPIs that attend to changes that you wanna make in your organization.

  94. 17:48

    So with Leidos, um, our, our big kinda government contracting, uh, customer, they identified a set of, uh, zones or actions that they felt were really important. Uh, they wanted to reduce the amount of time spent answering questions, spent bugging teammates, and m- uh, spend more developer time in these areas that they identified as value add.

  95. 18:09

    Uh, three things mainly, building features, writing unit tests, and reviewing code. And so that's what we tracked for, for their evaluation period.

  96. 18:19

    A fifth framework is impact on key initiatives. So this is the kinda like map your product to OKRs, uh, framework. Uh, and so there are a couple of companies where they're in the midst of a big code migration, like they're trying to migrate from, you know, Cobalt to Java or, uh, maybe, you know, from, uh, React to

  97. 18:37

    Svelte or the, or the latest JS framework. And these are kinda like top-level goals that the VP of engineering, um, really cares about. And so if you have a product that accelerates progress, uh, towards this, then the ROI is really just what's the value of bringing that forward by, you know, X number of months or, in some

  98. 18:55

    cases, X number of years, or making it possible at all.

  99. 18:59

    How do you measure how much you pulled it forward? Uh, that's a good question. So the question was how do you measure how much you pulled it forward? It is really a kind of judgment call with the engineering leader at that point.

  100. 19:10

    Um, by the time they have this conversation with us, they've typically already started it or have had a few of these under their belt, and they have to have an idea of the pain.

  101. 19:19

    Uh, and then they can assess kinda the shape of the product and, and the things that we do and estimate how much quicker it'll be done. We also have case studies demonstrating, like, hey, this thing that used to take, you know, a year or longer, we squished it into the span of, you know, a couple months.

  102. 19:35

    Okay. And then the last framework is what I'll call survey. So this sounds like the least rigorous framework, but I think it's still highly valuable. Basically, it's just run a pilot, uh, have your developers use it.

  103. 19:45

    You can compare against another tool, and then at the end of it, just ask your developers, uh, you know, which one was best. Um, more and more nowadays, we don't see this in an unbounded fashion.

  104. 19:56

    Like, you know, in the kinda like twenty twenty-one ZRTP period, uh, people were just like, you know, "Whatever makes the developers happy, let's just go buy that." Nowadays, we see it in more of a bounded fashion, which is, um, you know, a lot of orgs, uh, you know, uh, allocate some part of their budget toward investing in

  105. 20:14

    developer productivity and to develop productivity tools. So that chart over there shows kind of the range of orgs surveyed in, uh, a, a survey run by the Pragmatic Engineer, Engineer newsletter, and it typically ranges somewhere between five and twenty five percent.

  106. 20:28

    And so within that budget allocation, you have a certain amount of budget to allocate to tools. Um, then you basically say, s- uh, subject to that constraint, let me go ask my developers what tools they want the most.

  107. 20:42

    Okay. So I'm basically out of time, but hopefully this gave you a kind of like a sampling of, of the flavors of different frameworks that are involved. This is something that we've had to work through through a lot of customers, ranging from very small startups to very large, uh, companies in the Fortune five hundred.

  108. 20:56

    I just wanna say, you know, be skeptical of anyone saying P equals NP, of saying they, they have, uh, a precise way to measure AI ROI or developer productivity.

  109. 21:04

    No framework is perfect. The most important thing I think is define clear success criteria. Um, that's something that both you, your internal teams, and stakeholders will appreciate, and also the vendor because they know what success looks like.

  110. 21:17

    And then the last kinda final note here is productivity tools are often bottoms up, but we've actually found that top-down mandates with AI can sometimes help because developers can be a little bit of a skeptical crowd.

  111. 21:28

    But if you believe firmly that this is where the future is going and that people have to update their skill set to make productive use of LMS and AI, uh, to code more productively, we've actually seen success in this case, where a CEO basically says, "We're adopting Cody.

  112. 21:42

    We're adopting code AI. Go figure out how to use this. It's not gonna be perfect, but it's something that is gonna play out over the next decade."

  113. 21:51

    And then, sorry, one final thought. Um, as we move towards more automation, um, I like to think of two pictures in mind. So one picture is the graph on the right, which is a kind of like a landscape of, uh, code AI tools.

  114. 22:04

    So on the left-hand side, you have the kinda like inline completions, you know, very basic, completing the next tokens that you're typing. And then on the far right, you have kinda like the fully automated offline agents.

  115. 22:15

    And we're trying to make all these solutions more reliable, right? 'Cause like, uh, generative AI is sort of inherently unreliable. We're trying to make it more general and, and, uh, you know, uh, ma- make it productive in, in more languages and in more scenarios.

  116. 22:28

    And we actually think that the, the, the path there is to go from the left-hand side to the right-hand side, you know, not ju- jumping straight to the full automation because that's a very difficult problem.

  117. 22:39

    So we think the next phase of evolution for us is going from kinda like these inline code completion, uh, scenarios to more what we call online agents that live in your editor but can still react to human feedback and, uh, guidance.

  118. 22:52

    And then the second picture is, you know, the Mythical Man-Month. I think a lot of people are familiar with this classic work. It talks about the classic fallacies with respect to, uh, developer productivity that a lot of companies make.

  119. 23:04

    Um, one question I would pose to all of you is, have the fundamentals really changed? You know, as we have more, quote, unquote, "AI developers," uh, should we measure them by the same evaluation criteria?

  120. 23:15

    And I would ch-- the, the, the challenge question I would pose to all of you is, you know, I think the lessons from the Mythical Man-Month is you prefer to have one very smart engineer who's highly productive over ten, maybe even a hundred mediocre developers who are kind of productive but need a lot of guidance.

  121. 23:32

    And so as AI automation increases, the, the question is, do you want a hundred mediocre AI developers, or do you want a hundred X lever for, uh, the human developers, the really smart people who are gonna craft the user experience?

  122. 23:47

    All right, that's it for me. Um, yeah, if you wanna check out Cody, [audience applauding] that's the URL. And, uh, that's my contact info if you wanna reach out later. Do we have time for questions or...

  123. 23:58

    Um, we have time for perhaps one or two questions.

  124. 24:00

    One or two questions?

  125. 24:00

    I will run around with the microphone-

  126. 24:02

    Okay

  127. 24:02

    ... if anyone, just so we can catch it on audio. Cool.

  128. 24:09

    Thanks. Thanks for Cody. You, you are the best guys. I tried them all. I'm staying with you. [laughs]

  129. 24:14

    Oh, thanks.

  130. 24:14

    Uh, you've got really good insight what's happening now with software development. So what is your intuition, uh, are we going to get away from coding, and the code would become a boilerplate, and we move to meta programming, or it will be still code, uh, as a main, uh, s- output of the senior engineer?

  131. 24:35

    Yeah, that's a really good question. The, the usage patterns that we're observing now is more and more code is being written through natural language prompts. Like, I had an experience just on Friday, actually, where, like, Cody wrote eig- eighty percent of the code because I just kept asking it to write different functions that I wanted.

  132. 24:51

    Uh, and that was nice because I was thinking at, like, the function level rather than the kinda like line-by-line code level. Yeah. And it was nice 'cause it allowed me to stay in flow.

  133. 24:59

    But at the same time, like, the output was still code. And I, I really do think that, like, we're never gonna see a full replacement of code by natural language because it...

  134. 25:07

    Code is nice because you can describe what you want very precisely, and that precision is important as a source of truth for what the software actually does.

  135. 25:15

    Okay. I think that's probably it now.

  136. 25:17

    Okay.

  137. 25:17

    But thank you very much.

  138. 25:18

    Thank you.

  139. 25:18

    Thank you. [audience applauding] [upbeat music]