1
0 Comments

How We Ship Products in 38 Days (Not 4 Months) - The Workflow We Built

I want to share something we've spent the last 18 months building — not because it's perfect, but because we made enough mistakes getting here that someone else might save a few months reading this.

We run an AI-native product engineering company called Ailoitte. Our core offering is what we call AI Velocity Pods — small, highly structured teams that ship production-ready software in fixed timelines, on fixed-price contracts. Our baseline target is 38 days for a working product.

That number sounds like pure marketing. I know. Let me show you the actual engineering machinery behind it, including the parts that broke completely the first time.

The Problem We Were Trying to Solve

We weren't trying to build a fast delivery model just to look flashy. We were trying to survive a permanent shift in client expectations.

In 2023, every serious founder and product lead we talked to had the exact same complaint: software agencies were slow, expensive, and structurally incentivized to stay that way. Hourly billing meant that a three-month project that dragged to six months was more profitable for the agency than one that wrapped up in ten weeks. There was no mechanism to align the vendor's interests with the client's business goals.

We had the same structural problem internally. Our sprints were well-run by industry standards. Our estimates were reasonable. But "reasonable" in traditional software services still meant 12–16 weeks for anything meaningful—plus a buffer, plus a round of late-stage revisions that nobody planned for.

The honest version: we were competent but not fast. And in a market where AI was starting to dramatically compress development cycles, competent-but-not-fast was becoming a dangerous place to be.

So we made a high-stakes bet: what if we built our entire operation around a strict 38-day constraint? Not as a sales promise — but as an actual operational forcing function?

What a Velocity Pod Actually Is

A Pod is a dedicated five-person unit. It isn't a loose team that happens to have five people; it is a deliberately assembled configuration where every single role is completely load-bearing:

  • 1 AI-Augmented Tech Lead: Owns the macro architecture decisions, data modeling, and strict PR reviews.
  • 2 Senior Engineers: Write highly scalable production code, not quick-and-dirty prototypes.
  • 1 QA Engineer: Automatically runs and manages agentic test workflows (more on this below).
  • 1 Delivery Lead: Handles client communication, meticulous scope control, and immediate blocker removal.

That last role is the one most agencies consistently underinvest in. A delivery lead isn't a project manager in the traditional sense — they aren't just tracking Jira tickets. They are running active interference: catching scope creep before it lands in a sprint, securing client feedback within 24 hours, and ensuring engineers are never waiting on a business decision.

The Golden Rule: Developer idle time is the absolute most expensive thing that can happen in a rapid-delivery model. The delivery lead's sole job is to make sure it never happens.

The Pod operates with a hard scope freeze at Day 4. Everything that will be built in the 38-day window is explicitly defined and signed off before Day 5. After that, new requests go directly into a post-launch backlog. This is non-negotiable, and it's where most of our early client friction came from.

The Orchestration Layer: Eliminating Decision Latency

The fastest thing we did to improve delivery speed wasn't adopting a shiny new AI tool. It was eliminating decision latency.

Every morning, the Pod runs a 15-minute asynchronous standup — written, never spoken — that answers exactly three questions:

  1. What shipped yesterday?
  2. What is in flight today?
  3. What requires an immediate decision?

The delivery lead reviews it, resolves anything operational within the hour, and immediately escalates technical decisions to the tech lead.

Decisions that used to take 48 hours—because they had to go through a meeting scheduler, wait for follow-ups, and filter back through another sync—now take under two hours. That compounding efficiency across a tight 38-day timeline is hard to overstate.

Traditional Agency Model:
[Dev Blocked] ──> [Schedule Meeting] ──> [Client Sync] ──> [Follow Up] ──> [Resolved: 48h+]

AI Velocity Pod Model:
[Dev Blocked] ──> [Async Standup Alert] ──> [Delivery/Tech Lead Triage] ──> [Resolved: <2h]

On the tooling side, every Pod utilizes a shared context environment. When an engineer opens a new ticket, they have instantaneous access to the full codebase context, prior decisions, and architectural rationale. This isn't buried in a wiki nobody reads; it is piped directly into their AI-assisted development environment (leveraging Claude and GitHub Copilot).

A senior engineer joining mid-sprint can get fully productive in a few hours rather than a few days because the AI handles the context ramp-up that typically causes human slowdowns.

How Agentic QA Works (And How It Failed First)

This is the part I am most proud of, and simultaneously the part that embarrassed us the most before we got it right.

Our original QA setup was completely traditional: a QA engineer at the end of a sprint running manual test cases, backed by standard unit tests from the devs. It worked fine. It also took about a week per sprint cycle, making QA the ultimate bottleneck on every single release.

We completely redesigned QA to run continuously throughout the build, not at the end of it.

Traditional Pipeline:
[Design] ──> [Code Build] ──> [Sprint Complete] ──> [Manual QA Bottleneck: 7 Days] ──> [Ship]

Agentic QA Pipeline:
[Design] ──> [Code Build + Automated PR Hooks] ──> [Continuous Agentic QA: 2 Days] ──> [Ship]

Every single Pull Request now triggers an automated agentic test suite covering unit, integration, and regression layers. The QA engineer's job isn't to run the tests manually anymore — it's to design the test coverage strategy, monitor the agentic test runs, interpret failure vectors, and decide when something requires a deep human look. The agentic layer handles execution; the human handles judgment.

We use Playwright for end-to-end testing, custom-built evaluation harnesses for AI-adjacent features, and a lightweight synthetic monitoring layer running in staging continuously. When a build breaks, the QA engineer gets a tagged alert with the full Git context: not just "test X failed," but "test X failed, and here are the three specific PRs that touched this module since it last passed."

This system cut our total QA cycle time down from ~7 days to ~2 days for a comparable enterprise feature set.

What Failed First

We tried to automate far too much of the judgment layer early on. We initially built a system that would automatically open high-priority blocker tickets if the test failure rate crossed a certain threshold.

In practice, it created false urgency twice a week because the thresholds were too sensitive. The engineers grew fatigued and started ignoring the alerts entirely. We lost two whole weeks re-establishing engineering trust in our own QA signals.

The Lesson: Agentic QA should automate execution and contextual alerting, never the ultimate decision-making. Keep the human explicitly in the judgment loop.

How Fixed Pricing Forced Us to Get Good

This is the uncomfortable part of the story. When we first moved to fixed-price contracts, we lost money on three of our first five engagements. Not a little money. Serious margin.

  • Failure 1 (Scope): We underspecified what "done" meant for a complex integration feature. The client had a reasonable but completely different interpretation. We ended up building both versions out of pocket because our contract definition was too loose. That cost us three weeks of unplanned dev time.
  • Failure 2 (Feedback Latency): We built the features correctly, but the client accumulated questions and hidden concerns for two weeks without raising them. By the time they surfaced, the backlog was deep enough to cause a mid-project delivery crisis. We had optimized our delivery process, but not our feedback loops.
  • Failure 3 (Technical Dependencies): We scoped a product that had an undisclosed upstream dependency on a third-party API. Halfway through our build, that API was deprecated by the vendor. It was bad luck, but it taught us we needed better technical discovery.

What fixed pricing actually does is make every single operational weakness immediately visible in your P&L. There is nowhere to hide. Hourly billing hides engineering inefficiency; fixed pricing brutally exposes it.

Those three failures were expensive, but they served as the clearest diagnostic we've ever had on where our process was broken. After month six of running fixed-price operations, our delivery margins stabilized and are now consistently healthier than they ever were under traditional Time & Materials (T&M). The forcing function works — it just takes a few real cycles to calibrate.

The Real Numbers, Honestly

Here is what 38-day delivery actually looks like across our project history:

  • Median Delivery Time: 41 days. We hit the exact 38-day mark about 60% of the time. The remaining projects run 3–5 days over entirely due to client feedback latency, not active engineering build time.
  • Scope Changes Post-Day 4: About 70% of clients ask for at least one change after the scope freeze. We defer 100% of them to the post-launch backlog. Roughly 40% of those clients choose to commission a follow-on Pod to build those additions right after launch.
  • Rework Rate: We define rework as code that ships, then must be rewritten within 30 days due to an architectural or quality issue. Our current rework rate sits at 8%. The industry average in our experience crawls closer to 25–30%. Our agentic QA loop is the core driver of that gap.
  • Client NPS: We started tracking this rigorously 9 months ago. It currently sits at 71. The clients who score us lowest are almost exclusively the ones where we had structural friction around the Day 4 scope freeze—which tells us we are still optimizing how we set that expectation early on.

What We’d Do Differently From Day 1

  1. Hire the Delivery Lead role before you think you need it. We tried to split this function across our tech lead and an account manager for the first few months. It failed completely. The delivery lead requires a highly distinct skill set — part operator, part diplomat, part technical product thinker.
  2. Execute the scope freeze conversation before the contract is signed, not after. The clients who struggle to adapt to a hard freeze are the ones who heard about it for the first time on Day 4 of development. Now, we walk through the exact mechanics of the freeze during sales calls. We lose some prospects over it, but the ones who sign are the right clients.
  3. Build your evaluation harnesses before your first project starts. We spent our first six months building test infrastructure retroactively, project by project. Now, our core test harness is completely templated; the QA engineer simply customizes it for the specific repository rather than building it from zero.
  4. Charge for the pre-scoping phase. We used to do scoping for free as part of the sales cycle. Prospects didn't take it seriously. When we started charging a small, dedicated fixed fee for the scoping sprint (Days 1–4), the quality of client input skyrocketed and downstream scope surprises dropped to near zero.

What We’re Still Figuring Out

We still don't have a perfect solution for engagements where the client’s internal corporate stakeholder review process moves slower than our active build cycles. We have had projects where our engineers shipped everything on Day 36, but the client didn't clear internal compliance to deploy until Day 52. That isn't an engineering failure on our end, but it blurs our 38-day delivery timeline in case studies.

We are also continuously calibrating our framework for heavily AI-adjacent features — such as complex RAG pipelines or systems heavily dependent on shifting LLM inference quality — where initial scope definition is naturally fluid. That is the exact engineering frontier we are actively solving for right now.

Let's Discuss

If you are running an engineering team, an agency, or are currently mapping out a complex product build, I'd love to hear your thoughts. How are you tackling context ramp-ups and QA bottlenecks in your sprints? Let's talk in the comments.

To view the complete operational breakdown of our delivery framework, check out the AI Velocity Pod Methodology.

Tags: #product-management #development #growth #ops

posted to Icon for group Looking to Partner Up
Looking to Partner Up
on May 27, 2026
Trending on Indie Hackers
30 days ago I posted here with $0 revenue. Here's what actually happened next. User Avatar 151 comments How to spot high-intent customers in 5 minutes, for free. User Avatar 48 comments Fixing broken scrapers instead of working on my actual product. So I made it my problem. User Avatar 39 comments I Built a Habit Tracker SaaS Alone in 6 Weeks (No CS Degree, No Team). Here's Exactly How User Avatar 39 comments I built an open-source PII masking layer for LLM APIs — early traction, looking for design partners User Avatar 29 comments How to see revenue problems before they get worse User Avatar 23 comments