← All posts

The 6-Step Process Behind 24h Pull Requests

·7 min read

AI coding tools are everywhere now. GitHub Copilot, Cursor, Claude Code — most engineering teams are using something. But there is a massive gap between "I use AI to autocomplete code" and "I have a structured AI development pipeline that ships production PRs with confidence."

The difference matters. One approach is ad-hoc — accept a suggestion, maybe it works, maybe it introduces a subtle bug you catch in production three weeks later. The other is systematic. Every task follows the same pipeline. Every PR arrives with the same quality guarantees.

Here is the process I use for every ticket I work on.


Step 1: Ticket Analysis & Diagnostics

Before touching any code, I understand the problem. This means reading the ticket, but it also means going deeper: scanning the codebase for all affected files, running database queries to understand the current data state, checking application logs for error patterns.

This is where AI shines as a research tool. A codebase with hundreds of files and thousands of cross-references? AI navigates it in seconds. It finds every call site of a function, every place a configuration value is read, every test that touches the affected code path. What used to take a senior developer 30–60 minutes of grep and file-hopping now takes under a minute.

The result is a complete picture before the first line of code changes. Not a guess. Not "I think this is the only place it is used." A verified, exhaustive list.


Step 2: Technical Plan

For anything beyond a one-line fix, the next step is a written plan: which files change, what the changes are, what risks exist, and what edge cases need handling. For complex tasks, the client sees and approves this plan before implementation begins.

This is the step most AI-assisted workflows skip entirely. The developer prompts the AI, gets code, pastes it in, and hopes for the best. A plan forces the work through a different filter: does this approach make architectural sense? Does it follow the existing patterns in this codebase? Are we changing the right layer?

Plans also prevent scope creep. A clear plan says "these 3 files change, nothing else." No accidental refactors. No "while I was in there, I also…" surprises in the PR.


Step 3: Implementation with Build Verification

Implementation follows the plan. AI generates the code changes, but within guardrails: the project's coding standards, naming conventions, existing patterns, and architectural decisions. This is not "generate code and see if it compiles." This is "generate code that looks like it was written by someone who has worked in this codebase for months."

Every change compiles. Every existing test passes. Build verification happens immediately after implementation — not as an afterthought before pushing. If the build breaks, the issue is caught and fixed in the same work session, not discovered by a CI pipeline an hour later.


Step 4: Internal Quality Review

Before your team reviews the code, every change goes through an internal quality pass. This is not a linter check — it is a semantic review that looks for logical errors, security issues, pattern violations, and edge cases specific to your codebase.

The kind of things this catches: "you added a new API endpoint but did not add authorization." Or: "you changed the query but the sort order will break pagination for clients that depend on stable ordering." Or: "this retry logic does not have an idempotency check — duplicate payments are possible."

Issues found here are fixed before the PR is created. Your team never sees them.


Step 5: Smoke Tests Against a Real Environment

This is the step that separates "it compiles" from "it works." After implementation and review, the changes are tested against the actual development environment. Not mocked dependencies — real API calls, real database queries, real frontend interactions.

For a backend change, this means calling the actual API endpoint and verifying the response matches expectations. For a frontend change, this means loading the page, interacting with the component, and checking that the UI renders correctly. For a database change, this means running the query against real data and verifying the results.

Smoke tests are not exhaustive — that is what your QA process handles. They are confidence checks. "Does the thing I just built actually work when deployed?" The answer should never be a surprise at PR review time.


Step 6: Clean PR Ready to Merge

The final output is a pull request with four sections: Summary (what changed and why), Changes (file-by-file breakdown), Technical Details (patterns used, edge cases handled), and Testing (what was verified and how). Your team reads the PR, reviews the code, and merges.

No guesswork about what changed. No "I think this is safe." No archaeological expedition through the diff to understand the intent. The PR description tells the full story.


Why Structure Matters More Than Speed

AI makes coding faster. That is obvious. But speed without structure is how you accumulate technical debt at machine speed. An AI that generates code without a plan, without review, without testing — that is not a productivity tool. That is a liability.

The six-step process is deliberately rigid. Every ticket — bug fix, feature, migration — goes through the same pipeline. The steps are not optional. The order does not change. The output format is always the same.

This rigidity is the point. When every PR follows the same process, quality becomes predictable. Your team knows what to expect. Review time drops because the PR format is familiar. Deployment confidence goes up because smoke tests already ran. Onboarding friction disappears because the analysis was done upfront.


The Result

A structured AI pipeline delivers what ad-hoc AI usage promises but rarely achieves: production-quality code, shipped fast, with confidence. Not "fast and hope nothing breaks." Fast and tested. Fast and reviewed. Fast and documented.

If your backlog is growing and you want to see this process applied to one of your real tickets — send a backlog item. I will respond with a written technical analysis in 24 hours. No call, no commitment.

Have a backlog growing faster than your team? Send one item — I will reply with how I would approach it.

Send a backlog item — free →