Engineering Leadership

Chapter 9 of 314 min readOpen access

Shipping Small Without Creating Chaos

Finding the smallest safe release that still lets you learn something real.

The Six-Week Release

A team releases every six weeks. The release day is tense. Many changes are bundled together. QA works late. Product waits nervously. Engineers prepare hotfix branches. Nobody wants to be the person whose change breaks production.

The team wants speed, but the system creates fear.

Another team ships several times a week. Changes are smaller. Feature flags separate deployment from release. Tests catch common regressions. Observability shows what happens. Rollbacks are practiced. Incidents still happen, but they are smaller and easier to understand.

The second team is not faster because it is reckless. It is faster because it designed for safe change.

Speed Does Not Come From Rushing

Rushing creates shortcuts, hidden work, and stress. Professional speed comes from reducing batch size and improving feedback loops.

Large batches are risky because they combine many changes. When something fails, the cause is harder to find. Large releases also delay learning. Users cannot respond to a feature that is stuck in a release train.

Small batches reduce risk. They make review easier, testing faster, rollback simpler, and learning sooner.

Trunk-Based Development

Trunk-based development keeps changes integrating into the main branch frequently. Instead of long-lived branches that drift, developers merge small increments behind safe controls.

This requires discipline:

  • Small pull requests.
  • Automated tests.
  • Feature flags for incomplete work.
  • Clear ownership.
  • Fast review.
  • Continuous integration.

The goal is not ceremony. The goal is to prevent integration from becoming a separate painful event.

Feature Flags

Feature flags allow teams to deploy code without exposing it to everyone immediately.

They support:

  • Internal testing.
  • Beta releases.
  • Gradual rollout.
  • A/B experiments.
  • Fast disablement if something goes wrong.

But flags also create complexity. Old flags must be removed. Flag ownership must be clear. Critical flags should be observable. A flag system without hygiene becomes another source of chaos.

Builders use flags as release tools, not as permanent architecture.

Testing as Confidence Infrastructure

Tests are not paperwork. They are confidence infrastructure.

Different tests answer different questions:

  • Unit tests: Does this logic behave correctly?
  • Integration tests: Do these parts work together?
  • End-to-end tests: Does the user flow work?
  • Contract tests: Do services agree?
  • Load tests: Does it handle expected pressure?
  • Regression tests: Did we break a known behavior?

The right test strategy depends on risk. A payment path deserves different coverage than an internal display tweak.

Code Review in the AI Era

AI changes code review because code can be produced faster than it can be understood.

Review must focus on:

  • Product fit.
  • Security and permissions.
  • Edge cases.
  • Test quality.
  • Observability.
  • Simplicity.
  • Consistency with architecture.
  • Rollout and rollback.

Reviewers should ask, "Can we understand and own this?" not only "Does this compile?"

For AI-assisted code, require the author to understand the change. "AI generated it" is not an explanation.

The Safe Speed Loop

The Safe Speed Loop is the delivery model for builders:

  1. Scope smaller.
  2. Integrate earlier.
  3. Test continuously.
  4. Release gradually.
  5. Observe.
  6. Learn.
  7. Improve.

This loop turns delivery into learning.

Founder Lens

Founders want speed because time matters. Engineers want quality because consequences matter. The best teams do not choose one. They build systems where speed and quality reinforce each other.

Small releases reduce founder anxiety because progress becomes visible. They reduce engineering fear because risk is bounded.

Developer Lens

Before starting a feature, split it into releasable slices:

  • Data model behind no UI.
  • Internal admin path.
  • Read-only user view.
  • Limited beta.
  • Full workflow.
  • Optimization.

Each slice should create learning or reduce risk.

AI-Era Lens

AI can produce larger changes quickly, which increases the need for small integration. Ask AI to help split work into reviewable slices. Ask it to identify rollout risks. Ask it to draft tests for each slice.

Do not let AI-generated volume become release volume.

Common Mistakes

  • Equating speed with urgency.
  • Bundling unrelated work.
  • Keeping branches open too long.
  • Adding feature flags without removing them.
  • Writing tests that do not protect real behavior.
  • Reviewing AI-generated code superficially.

Builder Checklist

  • I can split features into thin slices.
  • I integrate work early.
  • I use flags where rollout risk exists.
  • I remove stale flags.
  • I match tests to risk.
  • I keep pull requests reviewable.
  • I observe releases after deployment.
  • I learn from release issues.

Exercise: Split One Feature

Take one planned feature and split it into three smaller releasable slices. For each slice, define:

  • User or internal value.
  • Risk reduced.
  • Test required.
  • Release method.
  • Observation signal.

Closing Thought

Speed is not the absence of discipline. Speed is the result of disciplined feedback.

Key takeaways

  • Speed comes from smaller batches and tighter feedback loops, not from rushing: large bundled releases hide the cause when something fails and delay learning.
  • Use feature flags as release tools with real hygiene (owned, observed, removed when done), not as permanent architecture.
  • Match test coverage to risk (a payment path earns more than an internal display tweak), and in review ask "can we understand and own this," not just "does it compile."
  • The Safe Speed Loop (scope smaller, integrate earlier, test continuously, release gradually, observe, learn, improve) turns delivery into a learning loop instead of a release event.

In the age of AI

The advantage was never the model. It's knowing what to build with it — and having a team that can actually ship it.

That's the part I help with: finding where AI genuinely makes your business faster, deciding what's worth building, and standing behind it once it's live.

Four offices, one very full passport

Every dot on this map is a conversation I still remember.

World map showing ViitorCloud offices in Ahmedabad, Zürich, Washington D.C. and Port Louis, and the countries where Vishal Rajpurohit has spoken and travelled
Germany
Indonesia
Saudi Arabia
Spain
Japan
Denmark
Turkey
Singapore
Ireland
Czechia
France
Thailand
Sweden
Mexico
Qatar
Italy
South Korea
Poland
United Kingdom
Malaysia
Belgium
Canada
UAE
Netherlands
Vietnam
Norway
Oman
Portugal
Australia
Austria
New York, USA
Chicago, USA
Las Vegas, USA
San Francisco, USA
Los Angeles, USA
Ahmedabad, India — headquarters
Zürich, Switzerland
Washington, D.C., United States
Port Louis, Mauritius
  • Where I've spoken
  • Office
Sixty seconds from the roadQuick lessons and keynote moments — tap to watch