The Right Way to Ship Software

September 21, 2015

Jocelyn Goldfein on First Round Review:

In a profession where we carry out decade-spanning holy wars over tab widths and capitalization, it’s no surprise that people get attached to their development and release habits. But if shipping so much software has taught me one thing, it’s to be an agnostic. Different methodologies optimize for different goals, and all of them have downsides. If you maximize for schedule predictability, you’ll lose on engineer productivity (as this turns out to be a classic time/space tradeoff). Even when you aren’t dealing with textbook tradeoffs, all investments of effort trade against something else you could be spending the time on, whether it’s building an automated test suite or triaging bugs.

Goldfein’s perspective is refreshingly honest. Most successful engineers will tell you they’ve found the ‘one true way’ to ship great work. But in reality, it seems that there are many different ways to attack these problems depending on your situation.

To determine “the right way to develop software,” you’ve got to understand what matters for your product and how to optimize for that. This isn’t based on personal preference. Ultimately it stems from your company’s mission, and the way you make money is a reasonable proxy for that.

Such a great look at how to approach shipping software.