Consequences Of Shortening Release Cycles

Software is on a steady path to shorter release cycles. While there will always be software that releases annually or longer, the median release cycle is dropping steadily.

One way to look at Agile Software Development is to look at what qualitative changes are required to enable the quantitative change of a shorter cycle. This page is intended as a place to gather and discuss these changes. Please feel free to add your experience to the structure below.

Annual -> Quarterly

Concurrent planning -- in three months there isn't enough time for a complete specification before beginning coding, so the specification has to be delivered in pieces just in advance of implementation

Quarterly -> Monthly

Incremental design -- in one month there isn't enough time for a complete design for larger chunks of functionality, so the design must evolve

Monthly -> Weekly

Concurrent QA -- in a week there isn't time for any but the most cursory post-development QA, so QA must be spread across development

Weekly -> Daily

One-button deployment -- any manual steps in deployment will be both tedious, expensive, and error-prone when done daily

Daily -> Hourly

Automated rollback -- because of the frequency of deployment, the system must detect error conditions and roll back to the previously deployed version automatically

See original on c2.com