[{"data":1,"prerenderedAt":604},["ShallowReactive",2],{"blog-loop-engineering":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"image":11,"tags":12,"body":17,"_type":598,"_id":599,"_source":600,"_file":601,"_stem":602,"_extension":603},"/blog/loop-engineering","blog",false,"","Agile Was the Original Loop Engineering","What a 1986 idea teaches a 2026 workflow","2026-07-02","/images/loop-engineering-banner.svg",[13,14,15,16],"ai","agents","agile","process",{"type":18,"children":19,"toc":584},"root",[20,28,44,49,54,59,66,152,157,189,193,198,228,275,280,285,290,295,300,323,326,340,352,363,368,373,378,383,405,410,415,420,425,430,435,439,444,449,454,458,466],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":26,"value":27},"text","The hottest new discipline in AI engineering was invented in 1986.",{"type":21,"tag":22,"props":29,"children":30},{},[31,33,42],{"type":26,"value":32},"Today it's called ",{"type":21,"tag":34,"props":35,"children":39},"a",{"href":36,"rel":37},"https://datasciencedojo.com/blog/agentic-loops-explained-from-react-to-loop-engineering-2026-guide/",[38],"nofollow",[40],{"type":26,"value":41},"loop engineering",{"type":26,"value":43},": designing the cycle an autonomous agent runs in. Which pieces of work to work on next. Specifying how the output gets verified. Deciding when to stop. Get the loop right, the AI companies promise, and you can create agents that ship production code around the clock. Get it wrong and you burn weeks of effort shipping nothing. The loop, not the model, separates the two.",{"type":21,"tag":22,"props":45,"children":46},{},[47],{"type":26,"value":48},"Software teams have seen this problem before, and we had a name for the solution: agile. It came with its own set of artifacts and practices. The backlog: a single ranked queue of what to build next. The sprint: a short, bounded iteration that turns the top of that queue into working software. The Definition of Done: the checks every piece of work must pass before it counts, a stopping rule with a clearly-defined endpoint. The retrospective: the team inspecting its own process, coming up with feedback to inform the next cycle. A queue, an iteration, a stopping rule, a feedback signal. Agile was a control loop running on the original agents: human software developers!",{"type":21,"tag":22,"props":50,"children":51},{},[52],{"type":26,"value":53},"AI Agents didn't make that loop obsolete; they made it machine-actionable. The ranked queue turns into a file the agent can edit. \"Done\" becomes a gate its work must pass. The retrospective becomes edits to both. The iteration speed changes, from weeks to minutes, and the economics change, from hours to tokens, but agile lives on, because the goal was always about shipping incremental value in uncertain environments.",{"type":21,"tag":22,"props":55,"children":56},{},[57],{"type":26,"value":58},"We don't need to discard the old process. But we are in a phase of revising and compiling it. If you want to see how I've baked these practices into my workflows, and how I was able to complete several weeks worth of traditional sprint work in 5 days: read on.",{"type":21,"tag":60,"props":61,"children":63},"h2",{"id":62},"contents",[64],{"type":26,"value":65},"Contents",{"type":21,"tag":67,"props":68,"children":69},"ul",{},[70,80,89,98,107,116,125,134,143],{"type":21,"tag":71,"props":72,"children":73},"li",{},[74],{"type":21,"tag":34,"props":75,"children":77},{"href":76},"#the-original-loop",[78],{"type":26,"value":79},"The original loop",{"type":21,"tag":71,"props":81,"children":82},{},[83],{"type":21,"tag":34,"props":84,"children":86},{"href":85},"#built-for-a-slower-world",[87],{"type":26,"value":88},"Built for a slower world",{"type":21,"tag":71,"props":90,"children":91},{},[92],{"type":21,"tag":34,"props":93,"children":95},{"href":94},"#what-loop-engineering-actually-is",[96],{"type":26,"value":97},"What loop engineering actually is",{"type":21,"tag":71,"props":99,"children":100},{},[101],{"type":21,"tag":34,"props":102,"children":104},{"href":103},"#scrum-compiled",[105],{"type":26,"value":106},"Scrum, compiled",{"type":21,"tag":71,"props":108,"children":109},{},[110],{"type":21,"tag":34,"props":111,"children":113},{"href":112},"#the-backlog-builds-itself",[114],{"type":26,"value":115},"The backlog builds itself",{"type":21,"tag":71,"props":117,"children":118},{},[119],{"type":21,"tag":34,"props":120,"children":122},{"href":121},"#what-happens-to-the-roles",[123],{"type":26,"value":124},"What happens to the roles",{"type":21,"tag":71,"props":126,"children":127},{},[128],{"type":21,"tag":34,"props":129,"children":131},{"href":130},"#the-collaboration-dividend",[132],{"type":26,"value":133},"The collaboration dividend",{"type":21,"tag":71,"props":135,"children":136},{},[137],{"type":21,"tag":34,"props":138,"children":140},{"href":139},"#the-receipts",[141],{"type":26,"value":142},"The receipts",{"type":21,"tag":71,"props":144,"children":145},{},[146],{"type":21,"tag":34,"props":147,"children":149},{"href":148},"#the-loop-survives-the-operator",[150],{"type":26,"value":151},"The loop survives the operator",{"type":21,"tag":60,"props":153,"children":155},{"id":154},"the-original-loop",[156],{"type":26,"value":79},{"type":21,"tag":22,"props":158,"children":159},{},[160,162,169,171,178,180,187],{"type":26,"value":161},"In 1986, Hirotaka Takeuchi and Ikujiro Nonaka published ",{"type":21,"tag":34,"props":163,"children":166},{"href":164,"rel":165},"https://hbr.org/1986/01/the-new-new-product-development-game",[38],[167],{"type":26,"value":168},"\"The New New Product Development Game\"",{"type":26,"value":170}," in Harvard Business Review: traditional development, with departments handing off work to each other like relay runners, loses to teams that move down the field together, like a rugby scrum. ",{"type":21,"tag":34,"props":172,"children":175},{"href":173,"rel":174},"https://www.agile-academy.com/en/foundations/the-origins-of-scrum/",[38],[176],{"type":26,"value":177},"Sutherland and Schwaber brought the idea to software in the 1990s",{"type":26,"value":179},", and the ",{"type":21,"tag":34,"props":181,"children":184},{"href":182,"rel":183},"https://agilemanifesto.org/",[38],[185],{"type":26,"value":186},"Agile Manifesto",{"type":26,"value":188}," followed in 2001. Under the branding, scrum makes one durable claim: under uncertainty, don't plan everything and then execute. Run short empirical loops, pull the most valuable work first, verify everything against an agreed \"done,\" and stack the increments.",{"type":21,"tag":190,"props":191,"children":192},"scrum-loop",{},[],{"type":21,"tag":60,"props":194,"children":196},{"id":195},"built-for-a-slower-world",[197],{"type":26,"value":88},{"type":21,"tag":22,"props":199,"children":200},{},[201,203,210,212,218,219,226],{"type":26,"value":202},"Scrum's ceremonies were sized for their era's constraint: human development time, coordinated in weeks. Then the constraint moved, and the obituaries followed. Capgemini's Steve Jones ",{"type":21,"tag":34,"props":204,"children":207},{"href":205,"rel":206},"https://www.infoq.com/news/2026/02/ai-agile-manifesto-debate/",[38],[208],{"type":26,"value":209},"argues that agents building apps in hours have killed the Agile Manifesto outright",{"type":26,"value":211},". The people doing the work disagree: ",{"type":21,"tag":34,"props":213,"children":215},{"href":205,"rel":214},[38],[216],{"type":26,"value":217},"Forrester finds 95% of practitioners still consider agile relevant",{"type":26,"value":179},{"type":21,"tag":34,"props":220,"children":223},{"href":221,"rel":222},"https://scrumexpansion.org/",[38],[224],{"type":26,"value":225},"Scrum Guide Expansion Pack",{"type":26,"value":227}," Sutherland co-published in June 2025 recognizes AI as a potential member of the development team, with humans keeping accountability.",{"type":21,"tag":22,"props":229,"children":230},{},[231,233,240,242,248,250,257,259,266,268,273],{"type":26,"value":232},"I side with the 95%, and not only from nostalgia. When ",{"type":21,"tag":34,"props":234,"children":237},{"href":235,"rel":236},"https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/",[38],[238],{"type":26,"value":239},"METR ran a randomized controlled trial in 2025",{"type":26,"value":241},", experienced developers with early AI tools were 19% ",{"type":21,"tag":243,"props":244,"children":245},"em",{},[246],{"type":26,"value":247},"slower",{"type":26,"value":249},", while believing they were 20% faster. ",{"type":21,"tag":34,"props":251,"children":254},{"href":252,"rel":253},"https://www.gitclear.com/the_ai_code_quality_maintainability_gap",[38],[255],{"type":26,"value":256},"GitClear, analyzing 623 million code changes",{"type":26,"value":258},", found refactoring collapsed from 21% of changed lines to 3.8% since AI assistants arrived. And ",{"type":21,"tag":34,"props":260,"children":263},{"href":261,"rel":262},"https://echometerapp.com/en/ai-in-agile-software-development/",[38],[264],{"type":26,"value":265},"70% of agentic-AI users report faster individual task completion, while only 17% report better team collaboration",{"type":26,"value":267},". The gains are individual. The team-level gains are missing. Closing that gap is what process is ",{"type":21,"tag":243,"props":269,"children":270},{},[271],{"type":26,"value":272},"for",{"type":26,"value":274},".",{"type":21,"tag":22,"props":276,"children":277},{},[278],{"type":26,"value":279},"So is scrum still necessary? More than ever. Just less as meetings than as principles that can keep up with rapidly changing technology.",{"type":21,"tag":60,"props":281,"children":283},{"id":282},"what-loop-engineering-actually-is",[284],{"type":26,"value":97},{"type":21,"tag":22,"props":286,"children":287},{},[288],{"type":26,"value":289},"An agent is a language model wrapped in a control loop. A single model call is stateless; it can't finish multi-step work any more than a single neuron can finish a thought. The harness gathers context, lets the model act through tools, observes the result, and feeds it back until a stopping rule fires. It has four parts: the queue work is pulled from, the context the loop wakes up to, the verification it must pass, the record it leaves behind.",{"type":21,"tag":22,"props":291,"children":292},{},[293],{"type":26,"value":294},"Queue, context, verification, record. Now rename them: backlog, planning, Definition of Done, retrospective, and it begins to sound a lot like a sprint.",{"type":21,"tag":60,"props":296,"children":298},{"id":297},"scrum-compiled",[299],{"type":26,"value":106},{"type":21,"tag":22,"props":301,"children":302},{},[303,305,312,314,321],{"type":26,"value":304},"I'm running two side projects this way: ",{"type":21,"tag":34,"props":306,"children":309},{"href":307,"rel":308},"https://jjanes.ca/blog/pagematch",[38],[310],{"type":26,"value":311},"PageMatch",{"type":26,"value":313},", a Kotlin/Spring book-recommendation platform I'm rearchitecting onto Google's Agent Development Kit, and Slide, an Android puzzle game I shipped on the ",{"type":21,"tag":34,"props":315,"children":318},{"href":316,"rel":317},"https://play.google.com/store/apps/details?id=com.slidesequel",[38],[319],{"type":26,"value":320},"Google Play Store",{"type":26,"value":322},". In both repos, every scrum practice survives. Not as a meeting, but as a file the agent reads or a gate it can't get past.",{"type":21,"tag":297,"props":324,"children":325},{},[],{"type":21,"tag":22,"props":327,"children":328},{},[329,331,338],{"type":26,"value":330},"The ranking is where the economics live. ",{"type":21,"tag":34,"props":332,"children":335},{"href":333,"rel":334},"https://framework.scaledagile.com/wsjf",[38],[336],{"type":26,"value":337},"WSJF",{"type":26,"value":339}," (Weighted Shortest Job First, from SAFe) scores each item as Cost of Delay over Job Size, both on a modified-Fibonacci scale: 1, 2, 3, 5, 8, 13. Cheap, valuable, risk-reducing work floats to the top; big epics sink, a blind spot you override by hand.",{"type":21,"tag":22,"props":341,"children":342},{},[343,345,350],{"type":26,"value":344},"Ask an agent to estimate an item and it will soberly say \"2–3 days,\" then finish in three minutes, because it learned estimation from decades of human sprint plans. The estimates still work anyway, because estimation was never about wall-clock time. It's about ",{"type":21,"tag":243,"props":346,"children":347},{},[348],{"type":26,"value":349},"relative",{"type":26,"value":351}," size: an 8-point job still costs about four 2-point jobs in context, tools, and review. The ratios survive a 100x speedup even though the units are nonsense; that's why the Fibonacci scale caught on, its gaps too wide to argue about, forcing you to rank instead of measure.",{"type":21,"tag":22,"props":353,"children":354},{},[355,357,361],{"type":26,"value":356},"The value scores are guesses too, and wilder ones: nobody knows what a feature is worth until users touch it. That's not an argument against the ranking; it's the argument ",{"type":21,"tag":243,"props":358,"children":359},{},[360],{"type":26,"value":272},{"type":26,"value":362}," the loop. Scrum's founding bet was that under uncertainty you don't estimate harder, you shorten the feedback cycle until being wrong is cheap. A wrong bet once took a whole sprint to discover; now it can take minutes. You don't need better estimates. You need cheaper errors, and the loop is a mechanism for making errors cheap.",{"type":21,"tag":22,"props":364,"children":365},{},[366],{"type":26,"value":367},"WSJF transfers to agents unmodified because its inputs were always relative scores, not measured units: Job Size predicts token and review spend the way it used to predict engineer-days, so the formula becomes value per token. An agent will pursue the wrong task with perfect diligence. The backlog is what stops it.",{"type":21,"tag":60,"props":369,"children":371},{"id":370},"the-backlog-builds-itself",[372],{"type":26,"value":115},{"type":21,"tag":22,"props":374,"children":375},{},[376],{"type":26,"value":377},"The loop doesn't just consume the backlog; agents are remarkably good at producing it. Point a model at a codebase and task it with reviewing backlog items, and it can return epics broken into small, ready-to-start tasks with acceptance criteria, estimates, and proposed WSJF scores. The audit in the receipts below was itself agent work, and my Android app's backlog grew the same way, from three review personas. Refinement was the ceremony teams skipped as tedious. Now it's the cheapest step in the loop, which inverts the failure mode: an agent will happily generate an infinite backlog. Grooming becomes pruning, and what's worth doing stays a stubbornly human judgment. The agent proposes, and becomes a Product Co-Owner of the software project along with the human team.",{"type":21,"tag":60,"props":379,"children":381},{"id":380},"what-happens-to-the-roles",[382],{"type":26,"value":124},{"type":21,"tag":22,"props":384,"children":385},{},[386,388,395,397,403],{"type":26,"value":387},"Scale this to a team and each scrum role moves up one level of abstraction. The Product Owner becomes the most leveraged person in the room: execution got cheap, so direction is the bottleneck, and priorities must be machine-readable. ",{"type":21,"tag":34,"props":389,"children":392},{"href":390,"rel":391},"https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-operationalizing-agentic-ai/software-delivery.html",[38],[393],{"type":26,"value":394},"AWS's prescriptive guidance",{"type":26,"value":396}," calls this ",{"type":21,"tag":398,"props":399,"children":400},"strong",{},[401],{"type":26,"value":402},"intent design",{"type":26,"value":404},": specify the what, the why, and the guardrails; the agent figures out the how. The Scrum Master's impediment removal becomes harness engineering, because an ambiguous Definition of Done now blocks a fleet, not a person. And developers become orchestrators and verifiers rather than authors, so velocity gives way to review throughput: how fast a human can responsibly accept work. As the AWS authors put it: building is no longer the hard part. Managing emergence is.",{"type":21,"tag":60,"props":406,"children":408},{"id":407},"the-collaboration-dividend",[409],{"type":26,"value":133},{"type":21,"tag":22,"props":411,"children":412},{},[413],{"type":26,"value":414},"Which brings back that 17% collaboration number. Agentic gains stay individual because most harnesses are private: personal prompts, personal chats, context living in one head. Commit the harness to the repo and the leverage becomes the team's. That was always scrum's actual promise: shared context and transparency. Artifacts deliver more of it than meetings ever did.",{"type":21,"tag":22,"props":416,"children":417},{},[418],{"type":26,"value":419},"But that's advice, not a mechanism, and process frameworks have died on this hill. Keeping a shared backlog honest is a collective action problem: updating the ticket costs you and pays your teammates, and scrum's social enforcement can decay into status theater. Agents change the incentive structure. Your agent is only as good as the context it wakes up to, so writing context down becomes self-interest, and your teammates inherit it as a side effect. The commons problem dissolves when the private cost becomes a private benefit. Enforcement turns mechanical too: an agent doesn't skip the Definition of Done because it's Friday afternoon.",{"type":21,"tag":22,"props":421,"children":422},{},[423],{"type":26,"value":424},"What's left to coordinate is genuinely human: collaboration across teams and alignment between stakeholders on what those teams should build, and hopefully eventually increasing the value that real people get out of using the software. Agile owns the tool for that fight, the retrospective, upgraded so process changes land as pull requests to the working agreement.",{"type":21,"tag":60,"props":426,"children":428},{"id":427},"the-receipts",[429],{"type":26,"value":142},{"type":21,"tag":22,"props":431,"children":432},{},[433],{"type":26,"value":434},"The 31 issues I fixed in my off-hours came from an agent audit of PageMatch, plus the issues the loop logged along the way: 36 in all. The loop worked them in WSJF order between June 28 and July 2. The agent's own effort estimates for those 31 items summed to 27.5 to 37.5 engineer-days, six-plus weeks of traditional sprint work, delivered in five calendar days. The Definition of Done held; the test suite grew from zero to 35 in the same five days.",{"type":21,"tag":436,"props":437,"children":438},"backlog-timelapse",{},[],{"type":21,"tag":60,"props":440,"children":442},{"id":441},"the-loop-survives-the-operator",[443],{"type":26,"value":151},{"type":21,"tag":22,"props":445,"children":446},{},[447],{"type":26,"value":448},"I've been shipping AI systems to production since 2019, long enough to watch hype cycles announce the death of whatever came before them. Scrum's ceremonies were never the point. They were the 1990s implementation of an older claim: under uncertainty, deliver value in small verified increments, and let the process reflect on itself. There are two ways to get this wrong. Drop the process because agents are fast, and you get speed without progress. Keep the meetings at human cadence, and you slow your agents to the speed of your calendar. The answer is neither: keep scrum's rules, and move them out of meetings and into the repo, where the loop can execute them. Let the backlog be a file the agent reads. Let \"done\" be a gate the work must pass. Let the retrospective be edits to both. Then spend your tokens and attention where they buy the most value.",{"type":21,"tag":22,"props":450,"children":451},{},[452],{"type":26,"value":453},"Agile was loop engineering all along. We just finally built tools fast enough to make that obvious.",{"type":21,"tag":455,"props":456,"children":457},"hr",{},[],{"type":21,"tag":22,"props":459,"children":460},{},[461],{"type":21,"tag":243,"props":462,"children":463},{},[464],{"type":26,"value":465},"Further reading:",{"type":21,"tag":67,"props":467,"children":468},{},[469,484,505,519,531,543,556,570],{"type":21,"tag":71,"props":470,"children":471},{},[472],{"type":21,"tag":243,"props":473,"children":474},{},[475,477,482],{"type":26,"value":476},"Takeuchi & Nonaka, ",{"type":21,"tag":34,"props":478,"children":480},{"href":164,"rel":479},[38],[481],{"type":26,"value":168},{"type":26,"value":483}," (HBR, 1986)",{"type":21,"tag":71,"props":485,"children":486},{},[487],{"type":21,"tag":243,"props":488,"children":489},{},[490,496,498],{"type":21,"tag":34,"props":491,"children":493},{"href":235,"rel":492},[38],[494],{"type":26,"value":495},"METR: Measuring the Impact of Early-2025 AI on Experienced Developer Productivity",{"type":26,"value":497}," and the ",{"type":21,"tag":34,"props":499,"children":502},{"href":500,"rel":501},"https://metr.org/blog/2026-02-24-uplift-update/",[38],[503],{"type":26,"value":504},"2026 experiment-design update",{"type":21,"tag":71,"props":506,"children":507},{},[508],{"type":21,"tag":243,"props":509,"children":510},{},[511,517],{"type":21,"tag":34,"props":512,"children":514},{"href":221,"rel":513},[38],[515],{"type":26,"value":516},"The Scrum Guide Expansion Pack",{"type":26,"value":518}," (2025)",{"type":21,"tag":71,"props":520,"children":521},{},[522],{"type":21,"tag":243,"props":523,"children":524},{},[525],{"type":21,"tag":34,"props":526,"children":528},{"href":390,"rel":527},[38],[529],{"type":26,"value":530},"AWS Prescriptive Guidance: Evolving software delivery for agentic AI",{"type":21,"tag":71,"props":532,"children":533},{},[534],{"type":21,"tag":243,"props":535,"children":536},{},[537],{"type":21,"tag":34,"props":538,"children":540},{"href":205,"rel":539},[38],[541],{"type":26,"value":542},"InfoQ: Does AI Make the Agile Manifesto Obsolete?",{"type":21,"tag":71,"props":544,"children":545},{},[546],{"type":21,"tag":243,"props":547,"children":548},{},[549],{"type":21,"tag":34,"props":550,"children":553},{"href":551,"rel":552},"https://sdtimes.com/agile/is-agile-dead-in-the-age-of-ai/",[38],[554],{"type":26,"value":555},"SD Times: Is Agile dead in the age of AI?",{"type":21,"tag":71,"props":557,"children":558},{},[559],{"type":21,"tag":243,"props":560,"children":561},{},[562,568],{"type":21,"tag":34,"props":563,"children":565},{"href":252,"rel":564},[38],[566],{"type":26,"value":567},"GitClear: The AI Code Quality & Maintainability Gap",{"type":26,"value":569}," (refactoring and code-duplication data)",{"type":21,"tag":71,"props":571,"children":572},{},[573],{"type":21,"tag":243,"props":574,"children":575},{},[576,582],{"type":21,"tag":34,"props":577,"children":579},{"href":261,"rel":578},[38],[580],{"type":26,"value":581},"AI in Agile: State of the Evidence 2026",{"type":26,"value":583}," (collaboration statistics)",{"title":7,"searchDepth":585,"depth":585,"links":586},3,[587,589,590,591,592,593,594,595,596,597],{"id":62,"depth":588,"text":65},2,{"id":154,"depth":588,"text":79},{"id":195,"depth":588,"text":88},{"id":282,"depth":588,"text":97},{"id":297,"depth":588,"text":106},{"id":370,"depth":588,"text":115},{"id":380,"depth":588,"text":124},{"id":407,"depth":588,"text":133},{"id":427,"depth":588,"text":142},{"id":441,"depth":588,"text":151},"markdown","content:blog:loop-engineering.md","content","blog/loop-engineering.md","blog/loop-engineering","md",1783435967723]