River or Lake? The Water Theory of Software


Locks and Levees
As usual, there is a middle ground. Just as locks can be used to gradually step a ship from one body of water to another, and a levee can be built to keep a river within its banks, so can the river and lake theories be reconciled. On the surface the idea is simple: Adopt the lake concept, but open the dam at shorter, faster intervals.

Years ago annual releases were not uncommon, but today the intervals are much shorter. Quarterly or even monthly schedules are not unusual, and in "Web World," weekly or even daily releases occur. The ideal is not necessarily a fixed amount of time, but rather whatever amount of time is needed to assure the quality of what makes it into production. If a full regression test takes two weeks, then daily releases are likely to introduce issues.

Now, some might argue that there is no difference between a daily release and an anytime one, but I say there is. At least with a daily release there is a 24-hour window when the stability you need for test predictability exists, whereas, if changes are completely unscheduled there is none. The key is whether you know what the state of the system is at any given time. Knowing the water level and reading the currents is important.

Is your company shooting the rapids or minding the dam? How does that affect the way you work?


About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.