<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Maksim</title>
    <description>The latest articles on Forem by Maksim (@makcbrain).</description>
    <link>https://forem.com/makcbrain</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3825346%2F808d0cd8-cee6-47f9-b66f-6b08679a5844.jpeg</url>
      <title>Forem: Maksim</title>
      <link>https://forem.com/makcbrain</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/makcbrain"/>
    <language>en</language>
    <item>
      <title>I tried to measure how much Claude Code and Cursor actually changed our team's productivity</title>
      <dc:creator>Maksim</dc:creator>
      <pubDate>Thu, 14 May 2026 07:23:02 +0000</pubDate>
      <link>https://forem.com/makcbrain/i-tried-to-measure-how-much-claude-code-and-cursor-actually-changed-our-teams-productivity-jkg</link>
      <guid>https://forem.com/makcbrain/i-tried-to-measure-how-much-claude-code-and-cursor-actually-changed-our-teams-productivity-jkg</guid>
      <description>&lt;p&gt;I tried to evaluate how AI has affected frontend development at our company. I looked at all 7 of our projects and 5 developers who use AI in their work.&lt;/p&gt;

&lt;p&gt;The general feeling was that we'd started writing code faster. But it was only a feeling — I wanted either confirmation or refutation. Management is over the moon about how wonderful AI is, and even gave us corporate access to Cursor and Claude Code. They love to bring this up at every All Hands meeting, but nobody has actually shown any proof that adopting AI has had a real impact on how much useful-to-our-users code we ship.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Metric
&lt;/h2&gt;

&lt;p&gt;For the metric, I decided to simply take the amount of code written. I know that's a bit crude, but I don't see how to measure this objectively otherwise (suggestions welcome in the comments).&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology
&lt;/h2&gt;

&lt;p&gt;Take four six-month periods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Last six months (2025-10-01 → 2026-03-31)&lt;/strong&gt; — most of our developers actively used tools like Cursor and Claude Code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The six months before that (2025-04-01 → 2025-09-30)&lt;/strong&gt; — used them, but not as actively.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Another six months back (2024-10-01 → 2025-03-31)&lt;/strong&gt; — this was mostly just chatting with an LLM. Nothing like launching Claude Code from the console, and the models were significantly dumber than today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Another six months back (2024-04-01 → 2024-09-30)&lt;/strong&gt; — the ChatGPT 3.5–4o era, when if anyone used AI for coding at all, it was only for isolated snippets in chat mode. This last period serves as the &lt;strong&gt;baseline&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Digging further back didn't seem worth it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caveats in Counting Code
&lt;/h2&gt;

&lt;p&gt;So we compare the volume of code written, but there are some caveats:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Auto-generated files.&lt;/strong&gt; Things like &lt;code&gt;package-lock.json&lt;/code&gt;, test mocks, vendored branding dependencies, and the like have to be excluded.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unit tests.&lt;/strong&gt; There's a real observation that we've started writing more unit tests via AI. In fact, that's now the only way we write them. Tests are great, of course, but what matters to the end user is product code, not tests. So for a clean experiment, tests need to come out of the comparison (the numbers with tests will be there too, below).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation.&lt;/strong&gt; We've also started writing more documentation with plans for AI, plus all sorts of instructions and skill files. Since this code/text doesn't ship to the user, we exclude it as well.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Noise.&lt;/strong&gt; All sorts of garbage needs to be removed: commits that apply new linter/formatter rules, accidental inclusions of auto-generated code, mass code moves, chains of reverts, and similar junk — to get a reasonably clean dataset.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Accounting for the Number of Developers
&lt;/h2&gt;

&lt;p&gt;Before comparing numbers between the half-year periods, we need to handle one more thing: what if we started writing more code simply because there are more developers, or because the new folks happen to write more? In our case, the team has indeed grown in headcount over the last while (regards to everyone who insists AI will replace us all). So the cohort for comparison only includes people who have been at the company for the past two years, and only those who definitely use AI in their work. We have employees who are pretty lukewarm on AI and use it sparingly — they're out of the calculation.&lt;/p&gt;

&lt;p&gt;A spoiler right away: among the 5 developers, there are two who use AI in their work but whose numbers haven't moved at all over the last two years — they wrote what they wrote, and they still write the same amount. Make of that what you will, but the fact stands: if you give someone a microwave and they spend less time heating food, that doesn't mean they'll start eating more. Maybe these people just rest more now while AI writes the code for them. Or maybe code-generation speed was never the bottleneck in their work in the first place.&lt;/p&gt;

&lt;p&gt;For the metric, we'll use the average amount of code per working day for the whole group.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tool
&lt;/h2&gt;

&lt;p&gt;For all of this, we'll use the &lt;a href="https://plugins.jetbrains.com/plugin/25498-git-insight" rel="noopener noreferrer"&gt;Git Insight&lt;/a&gt; plugin for JetBrains IDEs — it can do everything described.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preparing the Data
&lt;/h2&gt;

&lt;p&gt;The first step is to merge all the big feature branches into some integration branch. Our project happens to have two feature branches where large features have been in development for several months, and that code needs to be counted too, otherwise the statistics get skewed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Remove unwanted file extensions
&lt;/h3&gt;

&lt;p&gt;Open the plugin, go to the &lt;strong&gt;Project Statistics&lt;/strong&gt; tab, look at the list of file extensions, and drop the ones that shouldn't be counted — you might immediately spot some XML files that have no business being in the stats. They can be removed from the statistics right from the context menu (right click).&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Look for suspiciously large files
&lt;/h3&gt;

&lt;p&gt;Walk through the extension list and drill into them (double click) — look for suspiciously large files (sort by size). It depends on your project, but in ours these were &lt;code&gt;mock.json&lt;/code&gt; files generated automatically for unit tests — we don't want them in the stats. They can be removed from the same context menu, and not one by one but by glob patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Exclude folders and files
&lt;/h3&gt;

&lt;p&gt;By default the plugin doesn't count files already in &lt;code&gt;.gitignore&lt;/code&gt;, plus some others like &lt;code&gt;package-lock.json&lt;/code&gt;, archives, and images. But your project might have some folder you want to exclude too — for example, one containing branding dependencies with library code. Go to the &lt;strong&gt;Settings&lt;/strong&gt; tab and add a glob pattern to exclude such files/folders.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Deal with suspicious commits
&lt;/h3&gt;

&lt;p&gt;Go to &lt;strong&gt;Developer Statistics&lt;/strong&gt; → &lt;strong&gt;Suspicious commits&lt;/strong&gt;. This view collects commits the plugin considers suspicious: too large, looking like a formatter run, reverts, and so on.&lt;/p&gt;

&lt;p&gt;It's really worth working through this list — you can exclude either whole commits from the statistics, or individual files/folders inside a commit. Don't skip this! In one of our projects I found a chain of commits applying a new ESLint ruleset: a commit, its revert, another commit, then another revert, and finally a new commit — &lt;strong&gt;200,000 lines&lt;/strong&gt; of changes in total. I removed all of them from the stats.&lt;/p&gt;

&lt;p&gt;You can also click on bars in the chart if there are anomalies and look at the commits from that period — maybe you'll find something else to drop.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Create Tests and Docs file categories in Settings
&lt;/h3&gt;

&lt;p&gt;We need to be able to view statistics both with and without tests and documentation. A category consists of a name and glob patterns matching files. For our projects, tests look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*.spec.[tj]s
*.spec.[tj]sx
*.test.[tj]s
*.test.[tj]sx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For documentation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. First Results
&lt;/h3&gt;

&lt;p&gt;This is what we get out of it:&lt;/p&gt;

&lt;h4&gt;
  
  
  All code:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjnieo1qib4q1nj0rysh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjnieo1qib4q1nj0rysh.png" alt="All code" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Code without tests and docs:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx268speyld2a0z09sce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx268speyld2a0z09sce.png" alt="Code without tests and docs" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I extended the timeline back to 2023, when all 5 developers were already at the company.&lt;br&gt;
Judging by the charts, the overall trend is positive. The only thing left is to look at the actual numbers.&lt;br&gt;
You can also see that during the first two years our developers were producing a fairly stable amount of code — which is at least an indirect sign that the methodology holds up.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. The Numbers
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Period&lt;/th&gt;
&lt;th&gt;all code&lt;/th&gt;
&lt;th&gt;without test and docs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;base period&lt;/td&gt;
&lt;td&gt;+249/-100&lt;/td&gt;
&lt;td&gt;+193/-89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;second&lt;/td&gt;
&lt;td&gt;+327/-146 (+31%/+46%)&lt;/td&gt;
&lt;td&gt;+263/-119 (+36%/+34%)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;third&lt;/td&gt;
&lt;td&gt;+472/-243 (+90%/+143%)&lt;/td&gt;
&lt;td&gt;+399/-222 (+107%/+149%)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fourth&lt;/td&gt;
&lt;td&gt;+721/-332 (+190%/+232%)&lt;/td&gt;
&lt;td&gt;+479/-283 (+148%/+218%)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  8. Conclusions
&lt;/h3&gt;

&lt;p&gt;There's a clear trend of code volume rising steadily. Code review is becoming the bottleneck in development.&lt;br&gt;
Overall, we got at least a 2x increase in code produced. Maybe even closer to 3x.&lt;br&gt;
On the other hand, all we've learned is that we write three times more code. We don't really know anything about &lt;em&gt;that&lt;/em&gt; code. Maybe there's more tech debt now? Maybe it's code for features our customers don't actually need? Or maybe it really is solid, useful code. That's a much harder question, and not an easy one to answer objectively.&lt;br&gt;
Either way, in the AI era we keep writing more and more code — that part is a fact. Development has changed dramatically over the past couple of years, and I can't recall another shift like it in our industry over the past 15 years. Interesting to see where this all takes us.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
