BUILD CULTURE

Menu

Close

BUILD CULTURE

Menu

Close

The 3 Checklists That Changed How We Ship Software

The 3 Checklists That Changed How We Ship Software

Three lightweight checklists helped one engineering team reduce incidents, improve handoffs, and ship with more confidence. Here's how they replaced ambiguity with clarity — and made onboarding, QA, and releases smoother across the board.

Oct 15, 2025

Featured

The impact of tech on society
The impact of tech on society

For a long time, shipping at our company felt like a coin toss. Sometimes it went smoothly — sometimes it didn’t. We weren’t building experimental hardware. We were shipping a pretty standard SaaS platform. But even with sprint planning, QA cycles, and retros, we were still getting hit by surprise bugs, rushed handoffs, and launch-week fire drills.

We didn’t need more meetings. We needed more clarity. That’s when we introduced three simple checklists that changed everything.

The Problem Wasn’t Velocity — It Was Ambiguity

Before we added checklists, we had:

  • Engineers writing great code… but not checking for cross-team impact.

  • QA missing edge cases… because the specs weren’t complete.

  • Features going live… without comms or support teams even knowing.

We weren’t short on talent or effort. We were short on shared expectations.

Checklist 1: Pre-Merge (Developer-Owned)

This is the checklist every engineer runs through before merging a PR:

  • Did I write/update tests?

  • Have I confirmed this change doesn’t affect shared components or downstream services?

  • Have I tagged or looped in any teams affected by this change?

  • Have I updated docs or flags as needed?

  • We weren’t short on talent or effort. We were short on shared expectations.

Why it matters: This isn’t about hand-tying devs — it’s about protecting their time. T

his checklist drastically reduced rework and questions after code was merged.

Checklist 2: Pre-Release (Squad-Owned)

Once a feature is dev-complete, we review it as a squad with this list:

  • Has QA signed off?

  • Are product requirements met — not just implemented, but understood?

  • Are comms, docs, and internal tools ready?

  • Do we have a rollout plan (full deploy vs flag, percentage rollout, etc)?

  • Has support been briefed?

Why it matters: This is where we catch most of the “oh wait…” moments. It forces us to look beyond our terminal and see the full feature lifecycle.

Checklist 3: Post-Release (Team-Owned)

After the release, we close the loop:

  • Did anything break or spike in metrics?

  • Have we reviewed logs or feedback channels?

  • Are follow-ups or fixes needed?

  • Is there anything worth retroing — and sharing with the broader org?

  • Did we learn anything that should be added to a future checklist?

Why it matters: This makes sure we actually learn from launches. It also creates a feedback loop between engineers and PMs, helping us refine how we define “done.”

What Changed After We Introduced Checklists

  • Production incidents dropped 36% in the first quarter

  • Support tickets tied to new features decreased

  • Confidence increased — PMs, EMs, and QA now know exactly what “ready to ship” means

The most underrated outcome? New engineers onboard faster. They see our process in action from day one — and can contribute without second-guessing expectations.

Why These Work (When So Many Process Changes Don’t)

  • They’re written by engineers, for engineers. These weren’t handed down by management. They came from pain points the team actually felt.

  • They’re visible and accessible. Each checklist is embedded in our Notion playbooks, linked in our PR template, and occasionally pasted into Slack by leads to reset expectations.

  • They’re short. We’re talking 4–6 items each. If a checklist becomes a bureaucratic mess, it dies. Fast.

Final Thoughts

Checklists aren’t magic. They don’t fix bad specs or broken culture. But in our case, they became a simple, shared tool to reduce stress, protect quality, and raise the bar across teams.

If you’re tired of hearing “I thought someone else handled that” — start here. One checklist at a time.

For a long time, shipping at our company felt like a coin toss. Sometimes it went smoothly — sometimes it didn’t. We weren’t building experimental hardware. We were shipping a pretty standard SaaS platform. But even with sprint planning, QA cycles, and retros, we were still getting hit by surprise bugs, rushed handoffs, and launch-week fire drills.

We didn’t need more meetings. We needed more clarity. That’s when we introduced three simple checklists that changed everything.

The Problem Wasn’t Velocity — It Was Ambiguity

Before we added checklists, we had:

  • Engineers writing great code… but not checking for cross-team impact.

  • QA missing edge cases… because the specs weren’t complete.

  • Features going live… without comms or support teams even knowing.

We weren’t short on talent or effort. We were short on shared expectations.

Checklist 1: Pre-Merge (Developer-Owned)

This is the checklist every engineer runs through before merging a PR:

  • Did I write/update tests?

  • Have I confirmed this change doesn’t affect shared components or downstream services?

  • Have I tagged or looped in any teams affected by this change?

  • Have I updated docs or flags as needed?

  • We weren’t short on talent or effort. We were short on shared expectations.

Why it matters: This isn’t about hand-tying devs — it’s about protecting their time. T

his checklist drastically reduced rework and questions after code was merged.

Checklist 2: Pre-Release (Squad-Owned)

Once a feature is dev-complete, we review it as a squad with this list:

  • Has QA signed off?

  • Are product requirements met — not just implemented, but understood?

  • Are comms, docs, and internal tools ready?

  • Do we have a rollout plan (full deploy vs flag, percentage rollout, etc)?

  • Has support been briefed?

Why it matters: This is where we catch most of the “oh wait…” moments. It forces us to look beyond our terminal and see the full feature lifecycle.

Checklist 3: Post-Release (Team-Owned)

After the release, we close the loop:

  • Did anything break or spike in metrics?

  • Have we reviewed logs or feedback channels?

  • Are follow-ups or fixes needed?

  • Is there anything worth retroing — and sharing with the broader org?

  • Did we learn anything that should be added to a future checklist?

Why it matters: This makes sure we actually learn from launches. It also creates a feedback loop between engineers and PMs, helping us refine how we define “done.”

What Changed After We Introduced Checklists

  • Production incidents dropped 36% in the first quarter

  • Support tickets tied to new features decreased

  • Confidence increased — PMs, EMs, and QA now know exactly what “ready to ship” means

The most underrated outcome? New engineers onboard faster. They see our process in action from day one — and can contribute without second-guessing expectations.

Why These Work (When So Many Process Changes Don’t)

  • They’re written by engineers, for engineers. These weren’t handed down by management. They came from pain points the team actually felt.

  • They’re visible and accessible. Each checklist is embedded in our Notion playbooks, linked in our PR template, and occasionally pasted into Slack by leads to reset expectations.

  • They’re short. We’re talking 4–6 items each. If a checklist becomes a bureaucratic mess, it dies. Fast.

Final Thoughts

Checklists aren’t magic. They don’t fix bad specs or broken culture. But in our case, they became a simple, shared tool to reduce stress, protect quality, and raise the bar across teams.

If you’re tired of hearing “I thought someone else handled that” — start here. One checklist at a time.

© 2025 Build Culture | All rights reserved.

BUILD

CULTURE

© 2025 Build Culture | All rights reserved.

BUILD

CULTURE

© 2025 Build Culture | All rights reserved.

BUILD

CULTURE