I am committed to the ideas behind Continuous Delivery and the approach that has become known as DevOps and I want to help organisations adopt and start delivering solutions using these approaches.
I try to use common sense approaches to guide enterprises in their adoption and present the following four patterns (in order of preference) to help guide selection of the right project to kick-off their journey:
1. A Greenfield project; you may argue that you don’t have a suitable target but I challenge this as most IT departments have something, even a component, in motion at any time
2. A strategic application (service) that is based on technologies / components that are core architectural blueprints for the long-term
3. The fragile artefact; the fragile artefact is a great pattern but requires very careful consideration before you commit. What makes it fragile & is that something you can address?
4. A third-party / COTS product
Why look for these?
1. Building blocks that can be re-used; early projects need to be used as an incubator to accelerate what follows
2. They are likely to provide good ROI and reduce TCO – and that can be measured and used to improve what follows
3. The size of the change can be made to be manageable; the emphasis is ‘be realistic’
4. In conjunction with solving the core problem it is likely one will be deploy supporting capabilities and this must be achievable; success will include tackling CI, approvals, orchestration, code review, peer programming, instrumentation – solely for the selected target but with the potential to reuse
5. We will learn but also we will be less likely to be inhibited by corporate memory or corporate inertia
6. Speed. We can deliver something tangible in a reasonable time
7. The COTS project often surprises people. It is in your best interest to ensure that your suppliers deliver product in a manner that you understand and can consume; it is necessary to ensure you understand and are able to manage it in the longer-term. As a supplier I have always been receptive when a client tells me a product needs to be delivered in a certain manner and keen to help.