Happy Bear Software

Making process pay rent (in measurable benefits)

In an essay on rationality, Eliezer Yudkowsky argues that any beliefs worth arguing about should pay rent in anticipated experience:

Above all, don't ask what to believe—ask what to anticipate. Every question of belief should flow from a question of anticipation, and that question of anticipation should be the center of the inquiry. Every guess of belief should begin by flowing to a specific guess of anticipation, and should continue to pay rent in future anticipations. If a belief turns deadbeat, evict it.

As an analog I'd like to propose the following when thinking about software development process:

Any additions to your development process should provide a measurable benefit.

For any new step in your process, ask yourself if it provides a real, tangible benefit. Being careful to avoid rationalizing past decisions, how would you know the difference? For example, could you design an experiment to find out whether or not continuous integration provided any benefit to your deployment process?

Ask yourself this about any stage of your process: pair programming, daily standups, retrospectives, planning meetings, estimation, code reviews and anything else that takes time away from actually building software. If you can't think of a testable benefit of any stage in your process, evict it.