<?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>DEV Community: Abby Lehr</title>
    <description>The latest articles on DEV Community by Abby Lehr (@abbyjlehr).</description>
    <link>https://dev.to/abbyjlehr</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229019%2Feebd1099-5bfe-40d7-9c8e-a1f62e0050c6.png</url>
      <title>DEV Community: Abby Lehr</title>
      <link>https://dev.to/abbyjlehr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abbyjlehr"/>
    <language>en</language>
    <item>
      <title>No questions before the first demo: how agents made us move our product engineering handoff</title>
      <dc:creator>Abby Lehr</dc:creator>
      <pubDate>Thu, 05 Nov 2026 16:55:52 +0000</pubDate>
      <link>https://dev.to/abbyjlehr/no-questions-before-the-first-demo-how-agents-made-us-move-our-product-engineering-handoff-23kg</link>
      <guid>https://dev.to/abbyjlehr/no-questions-before-the-first-demo-how-agents-made-us-move-our-product-engineering-handoff-23kg</guid>
      <description>&lt;p&gt;I'm Abby, a growth engineer at a small startup. This year, the way work reaches me changed completely. This post covers what broke, what we changed, and the one rule that made it work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What broke
&lt;/h2&gt;

&lt;p&gt;For years our team ran on a familiar ratio: roughly one or two people in product to five engineers.&lt;/p&gt;

&lt;p&gt;Product took an idea, researched it and shaped it in detail. Then they handed it over, and engineers finished the planning, built it and shipped it.&lt;/p&gt;

&lt;p&gt;In February two things happened at once. Our CEO and head of product moved from London to the US, eight hours away from the engineers. And agents got good enough that product people could write real code.&lt;/p&gt;

&lt;p&gt;That broke the ratio. By the time product had taken a customer problem, researched the options and decided on the shape of a solution, they knew enough to hand it straight to an agent and get a good result in a couple of hours. That was faster than handing it to an engineer, and they could do it at any hour, which mattered with eight time zones in the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rebalance the team, or rebalance the handoff?
&lt;/h2&gt;

&lt;p&gt;We had two options. We could cut engineers, or we could move the handoff.&lt;/p&gt;

&lt;p&gt;We moved the handoff, and it was the right call.&lt;/p&gt;

&lt;p&gt;Product now hands over &lt;strong&gt;an idea, not a spec&lt;/strong&gt;. Engineers do the research, shaping and planning, then hand the build to an agent. My job changed from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;detailed specification → high-quality code&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ambiguous problem → high-quality code&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Engineers now make many of the smaller product decisions that used to be settled long before the work reached us. Two things made that possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rule: no questions before the first demo
&lt;/h2&gt;

&lt;p&gt;When an engineer picks up a piece of work, they can't ask anyone anything until they've produced a demo. After that, they can talk to whoever they like, however they like.&lt;/p&gt;

&lt;p&gt;It sounds harsh, but it does two useful things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It forces product to put what really matters into the handover.&lt;/strong&gt; The engineer can't come back and ask, so the important context has to be written down up front.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It forces the engineer to own the tradeoffs.&lt;/strong&gt; The many small "how" decisions stop going back to product and get made by the person closest to the code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The engineer drives instead of the product manager, and that made the whole transition much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  do…while vs. until
&lt;/h2&gt;

&lt;p&gt;The second thing was a principle. We care a lot that engineers still &lt;em&gt;do engineering&lt;/em&gt;. That means understanding the system we're building, and making the important tradeoffs we'll have to support later, rather than leaving them to the AI. Whether we write, or even read, every line of code matters much less.&lt;/p&gt;

&lt;p&gt;Most AI coding tools we tried work like a &lt;code&gt;do…while&lt;/code&gt; loop:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;decide&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;looksDone&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="c1"&gt;// ...and now you reverse-engineer its decisions from the diff&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent makes all the decisions, and you're left trying to understand them afterwards.&lt;/p&gt;

&lt;p&gt;We wanted an &lt;code&gt;until&lt;/code&gt; loop instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;decisions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;humans&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;decide&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;   &lt;span class="c1"&gt;// the interesting part&lt;/span&gt;
&lt;span class="nf"&gt;until &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;decisions&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Humans make the interesting decisions, and the agent loops until the code matches them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Until
&lt;/h2&gt;

&lt;p&gt;That loop became the product we're building, called &lt;strong&gt;&lt;a href="https://until.dev/devto" rel="noopener noreferrer"&gt;Until&lt;/a&gt;&lt;/strong&gt;. It's a Git-backed, plan-driven workflow for you and your coding agents:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan:&lt;/strong&gt; you and your agent draft the outcome, the approach, and what's out of scope.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review:&lt;/strong&gt; a teammate approves the plan or sends it back with comments. This is where your attention goes, because it's where the decisions are.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build:&lt;/strong&gt; approval releases the plan as jobs. Agents claim them, leave handoff notes as they go, and ask you when a decision is yours to make.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check:&lt;/strong&gt; an agent review compares the code with the approved plan and lists every place they differ.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It runs locally in your own Git repo, with no server, no account and no telemetry. It works with Claude Code, Cursor, Codex, Amp, OpenCode, or any agent that can run a command.&lt;/p&gt;

&lt;p&gt;We're not public yet, but you can &lt;strong&gt;&lt;a href="https://until.dev/devto" rel="noopener noreferrer"&gt;join the waitlist&lt;/a&gt;&lt;/strong&gt;, or apply for early access if you want to try it on a real project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The long version
&lt;/h2&gt;

&lt;p&gt;Dylan, our CEO, went through all of this in his DevOpsDays talk, &lt;em&gt;Pull requests are dead, long live peer review&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/k0azO-2bKXg" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;How has your team's handoff between product and engineering changed since agents got good? And has anyone else tried a "no questions before the demo" rule? I'd love to hear how it went.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>github</category>
      <category>agents</category>
      <category>software</category>
    </item>
  </channel>
</rss>
