Software Delivery —2 min read
Commit daily

Commit your work daily, even if it's a WIP. Push it to the server. Open a pull request. Don't be afraid of sharing your incomplete work.

Tech Tools —2 min read
Long-lived branches discourage refactoring

Every refactoring tends to entangle all the other functional changes together, which makes it even harder to advance changes to the production branch.

Coding Practices —2 min read
Reader response: Feature flags as an enabler for trunk-based development

Feature flags are often misunderstood to be for front ends only. It is very possible to put all development behind a flag.

Software Delivery —1 min read
How my web site mirrors software delivery

Several software delivery principles are widely applicable, beyond the strict definition of "software".

Tech Tools —2 min read
The blury line between Trunk-Based Development and Continuous Integration

If you practice TBD with days-long branches, is it still TBD? I don't know. But it's certainly not continuous integration.

Tech Tools —2 min read
Two flavors of Trunk-Based Development

There are two related practices that are often called "Trunk-Based Development", which can lead to some confusion.

Software Delivery —2 min read
Large batches obscure your bottlenecks

Are things moving slowly, but you don't know why? Reduce your batch size.

Hiring —2 min read
New hires means more overhead

Lines of communication go up as team size increases, but that's not all. Consider merge conflicts.

Software Delivery —2 min read
Can we use a staging environment with trunk-based development?

Push to your staging branch as needed, but don't make it a mandatory step toward production.

Software Delivery —2 min read
A GitFlow story

A team I recently started working with has been using GitFlow. Until last week.

Agile Principles —2 min read
If it hurts, do it more

We natrually postpone painful experiences, but if we do them more often we're incentivized to reduce the pain.