IT delivery models
An IT delivery model is a conceptual framework which supports a software development process and describes all assets and competencies. The exact description differs per model; think of needed (IT) skills, resources, tools, policies, procedures, methodologies, infrastructure, management, human resource functions, and delivery processes. For simplicity reasons – and readability – we use the generic term "model", although we are aware that some models are called framework, culture, mindset, approach etc.
We distinguish three groups of IT delivery models: Sequential IT delivery, High-performance IT delivery and Hybrid IT delivery.
You can, of course, dispute to which IT delivery model a certain model belongs. We made a choice in this book regarding which models we place in which group of IT delivery models. This is necessary for clarity and the ability to describe our Quality & Testing approach. We give the two most common models per IT delivery model:
A Hybrid (or Blended or Bi-model) approach is the combination or integration of two separate but coherent development models. One model focused on predictability and the other on exploration. The first model is optimized for areas that are well-understood and well-known. The second model is optimized for areas of uncertainty. Combining a more predictable evolution of products and technologies with new and innovative ones is the essence of a hybrid approach. The combinations are not fixed.
Sequential IT delivery
- The Waterfall model contains phases which are successively executed, testing is typically only a phase at the end.
- The V model (the V-shaped Validation & Verification model) is a modified version of the waterfall model in which the relationships between development stages and testing stages are given.
High-performance IT delivery
- The Scrum framework [Scrum 2017] is built upon scrum teams and their corresponding roles, events and products. Scrum assumes that knowledge arises from experience and taking decisions based on what is known. Scrum uses an iterative, incremental approach to optimize transparency and control risks with an agile mindset (refer to www.scrum.org).
- DevOps is a cross-functional systems engineering culture that aims to unify systems development (Dev) and systems operations (Ops). Other expertise, such as Business Analysis and Quality Assurance are usually integrated. It aims to solve inefficiencies within the systems manufacturing process. DevOps culture has an Agile mindset that can be supported/implemented by, for example, the Scrum framework.
Hybrid IT delivery
- In the hybrid Demand/Supply model, a sequential model like Waterfall is often combined with a high-performance IT delivery framework like Scrum.
- The Scaled Agile Framework (or SAFe®) [SAFe 2019] is a set of organization and workflow patterns intended to guide enterprises in scaling lean and agile practices beyond a single team. It promotes alignment, collaboration, and delivery across large numbers of agile teams (refer to www.scaledagileframework.com).
IT delivery models and development activities
If you look at some development activities (Design, Code, Test and Deploy), you could – roughly – see the following differences between the IT delivery models. In Sequential IT delivery, the activities are carried out one after the other. In high-performance IT delivery, the activities are carried out iteratively or in parallel. In Hybrid IT delivery, it is a combination of the above.
IT delivery models and "working agile"
One could say, the phrase "working Agile" is synonymous with the software development performed by persons with an Agile mindset. The latter is the mindset as defined in the four values and twelve principles of the Agile Manifesto. [Agile Manifesto 2001]
A mindset belongs to a person and is therefore model independent. It is therefore possible to work with an Agile mindset in all of the IT delivery models. An Agile mindset is, however, a prerequisite for being able to work in a high-performance IT delivery model.
The difference between Scrum and DevOps, which are both high-performance IT delivery models, is that in Scrum the deployment is at the end of each sprint, in DevOps there is continuous deployment.