We were speaking at Homeland Security yesterday on Agile development in the Federal Government and there was a senior director who brought up a paradigm that resonated with me.
The infrastructure for enterprise IT has a critical impact on the operational aspects of projects. The notion of continuous delivery in an enterprise like Homeland Security is an interesting discussion. That discussion is deep and broad, but a simple cartoon served to drive home a point. We live in a golf course community, where our waste water is processed locally inside our area. The Waste water plant can be seen from our deck. That non-potable water is used to water the course, so complete recycling is the result. The grass is green, the solid waste is hauled away for further processing, and we receive the benefit of lower costs.
Agile and Incremental and Iterative Development and Deployment
Like the agile incremental house cartoon, or the bicycle morphing into a car, No discussion of the incremental or iterative development of software can take place without a Product Roadmap and Release plan. With these two plans, the Product Backlog and Sprint Plans can be developed incrementally and iteratively to produce the needed Features for the customer.
But rarely if ever does a Feature standalone unless it is a de minimis project. Here's the paradigm we use for our enterprise development programs.
In the residential waste water development paradigm, the Concept of Operations (ConOps) describes the capability to use the toilet (the Feature) is of no use to the homeowner unless the infrastructure of taking that waste from the toilet to reclaimed water is in place. The Integrated Master Plan (IMP) of the neighborhood builder shows the sequence of connecting the bottom of the toilet to the waste water plan. The Integrated Master Schedule (IMS) shows the build sequence of the touch labor work install all the equipment and make all the connections.
The same is true of any agile development of enterprise IT product or service. The ability to pay vendors is of little use without the ability to Invoice vendors. The Product Roadmap would show that. Along the way, each feature in the chain of the value proposition has to be in place in some way.
So when you hear Continuous Integration (CI) and Continuous Delivery (CD) as buzzwords, ask can you show me your Product Roadmap and Release Plan (either Capabilities release plan or Cadence release plan). In these plans, the needed Capabilities the customer expects will be shown in the proper order, with the predecessor and successor dependencies to the Capabilities delivered before and after the Capabilities needed by a specific person or business entity.
This goes along with the nonsense idea of start with the most important Feature and keep developing until told to stop. What this means is someone else is prioritizing, sequencing, and funding the effort needed to produce value. The developers are then just labor, being told what to do from outside entities. That's no problem, but then don't expect much consultation with the developers, since they are not in the loop of making decisions in the presence of uncertainty.
No? Then those words are just hollow buzz words.