The agile notion of delivering early, delivering often is a wonderful platitude, but ignores the underlying business rhythm for accepting the software features into producitive use by the dynamics of any business or market channel. Here's some examples of business rhythms I've worked.
- Paypal - release continually as features arrive from development. I taught a class on software development management at Carnegie Mellon, with the lead for the development process.
- Medicaide enrollment - release minimally once a week in support of the enrollment agencies - states, counties, and health providers. Provide emergency releases when rules change without notice.
- Oracle DB updates use to occur on a weekly basis. Our joke was when asked what version we had in production? Look at your watch, tell me the time and where is the second hand. Oracle figured that was a bad idea and went to announced release dates with a few weeks notice.
- Health Insurance Provider Network - release with capabilities to move to the next business process is available in the figure below. This approach defines the needed business capabilities, there order of delivery, and the planning processes defines when they will be available. This provides the basis of putting them to work, since more than the software is needed for the business benefits to be accrued. Training, integration, data migration, promotion and advertising, and general Go Live activities.
- In this example above, the planning process for the needed deliverables, in the proper order was worked out through a Capabilities Based Planning process.
- Release updates to major defense systems on a planned schedule - with coordination of dozens of sites around the world and dozens of vehicles on orbit. Full verification and validation regression testing of 10's of millions of lines of code, some legacy code going back to the late 1970's which I actually worked on in Fortran 77, running on Vax 11/780's and Cyber 74 mainframes running real time standalone operating system.
- Next is a larger release process. The flight avionics for the Orion spacecraft is released periodically into a systems integration and test environment. Coordination with other software and hardware elements of the spacecraft in the Crew Exploration Vehicle Avionics Integration Laboratory. This software is developed incrementally with capabilities coming in chunks. But dropping this software on the CAIL requires coordination with other elements on the spacecraft at the pace those become available.
- A SAP rollout has similar external dependencies for the business rhythm - plan to rollout SAP to 53 sites worldwide for complete intergation across a $37B industrial market. On the site I worked, the go live Monday was a non-event.
What's the Point of All This?
When we hear deploy fast, deploy often, maybe once a day, test that platitude against your business rhythm first to see if it matches.