Disciplined Agile Delivery, also known as DAD is a type of hybrid agile approach for organization and solution delivery in the IT industry. It’s a process-decision toolkit that will allow teams within different fields to streamline the processes inside the organization and achieve more agility for their team. DAD framework makes it possible for people to optimize their agile techniques to be more suitable for large IT projects.
DAD framework was mentioned for the first time in 2012, appearing in a book titled Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise published by IBM.
The first iteration of the framework focused on process decisions across the teams within an organization. Later iterations also introduced new subsets which focused on specific fields such as “Disciplined Agile IT” and “Disciplined DevOps.”
Even though new subsets were introduced, today Disciplined Agile Delivery applies to a broad spectrum of fields in IT and focuses on designing effective processes in software delivery, as well as finances, portfolio management, IT architecture, and much more.
DAD was founded out of other methodologies and frameworks, which different Agile-based software development teams practiced such as Scrum and Lean software development (such as Kanban), and combines the best of them into one unified framework.
The IBM developers behind the DAD frameworks realized that Agile frameworks like scrum can only solve problems within a team, but when applied to problems across different teams and management in the organization it’d bump into a wall. Furthermore, a lot of Agile methodology was conflicting and contradictory across different Agile frameworks.
DAD framework laid solid foundations for the development of the Discipline Agile (DA) framework in 2015. Later in 2018, the DA framework became the Discipline Agile toolkit and it’s still used today. It’s worth mentioning that the DA framework uses a lot of core principles of Discipline Agile Delivery, where DAD is the foundation layer. New layers like the DA framework come above and represent a form of Agile scaling.
Core Principles of Disciplined Agile Delivery
Key aspects of Disciplined Agile Delivery are listed below:
- Delight Customers. Think outside the box to impress your customers. Customers need to be the company’s priority from the early development stages. It’s also important to ask for feedback to improve the final product and keep customer satisfaction on an always-high level.
- Be Awesome. Always strive for improvement and keep the motivation and enthusiasm within a team on a high level.
- Context Counts. Every individual, team, and company as a unit should consider one another’s needs and act accordingly. It’s of utmost importance to consider the environmental impact on the organization and meet everyone’s needs accordingly.
- Be Pragmatic. To be agile in software development is to be pragmatic. It’s important to use our effectiveness to improve. Being pragmatic allows us to combine agile, lean, and other methodologies and see what we can do better.
- The Choice is Good. Having a choice in choosing our way of work (WoW) allows developers and other team members to solve problems effectively and pragmatically. It’s always important to have a choice in choosing what’s the best for the context a team is working with.
- Optimize Flow. It’s important to optimize flow across the entire value stream and not just the team you’re a member of. That said, it’s important to adopt approaches other teams and layers within the organization are using to deliver the final product.
- Organize Around Products/Services. The product that your team is developing needs to focus on what the customer needs rather than what the team needs. Value streams create the value that the end user is consuming which is why a proper organization around what the customer needs is essential.
- Enterprise Awareness. In a large enterprise, a team is just a small node that contributes to overall customer satisfaction and the final product or service. That’s why every team and its members need to know their place in the complete architecture of the company.
3 Phases of DAD
The disciplined Agile Delivery life cycle consists of three key phases that are listed below:
Phase 1 – Inception
This is not everyone’s favorite phase in the DAD framework, as it includes the team initiation and starting tasks which can be quite challenging to achieve in a new team. In this phase, the team envisions the project and frames its purpose.
Phase 2 – Construction
As its name suggests, in this phase, team members will work on developing the project, and they’ll do so in increments. They will either do it through Sprints in Scrum methodology or using a lean approach with continuous flow. The team will also implement hybrid practices from Scrum, Agile Modeling, Agile Data, Kanban, and other methods to deliver a progressive product that meets the client’s requirements
Phase 3 – Transition
This phase focuses on delivering and deploying the product or service to stakeholders. This phase should be as short as possible, thanks to the implementation of the modern practices adopted from different frameworks and methodologies. Before the final deployment of the product, a testing phase should take place to ensure the final result is ready to be deployed.
The DAD Life Cycles
Disciplined Agile Delivery combines agile methodologies such as scrum and kanban with other modern development frameworks. The most popular ones are listed below:
1. Scrum-based Agile Life Cycle
This lifecycle is based on the principles of scrum methodology which is based on a series of iterations called sprints during which a quality product is being developed to be shipped to the stakeholders. In the early phases, the team develops a vision for the project and a rough plan that they’ll stick to during the following sprints. Later on, the product is developed in sprints through increments and finally after testing, writing a user and technical documentation, it’s ready to be deployed.
2. Kanban-based Lean Life Cycle
This approach combines the principles of Lean and Kanban methodologies. It focuses on minimizing work in progress while maximizing the flow. Instead of fixed iterations that a scrum-based life cycle promotes, a Kanban-based life cycle focuses on continued streamlined work. When the team has the capacity, the new workflow is pulled from the Kanban board’s to-do list and project backlog. That way, the team focuses on tasks that are placed in the work item pool (also known as the Kanban board) to maximize the output through the system and deliver a continuously enhanced product.
Disciplined Agile Delivery has a lot of potential to deliver value to different development teams to meet distinct working styles that different businesses have. Instead of offering one framework that will work as a one-size-fits-all, it adopts different strategies to maximize working strategy and productivity among teams and create scalable results that meet the objective of the business and clients. There are different DAD life cycles that are used depending on the primary methodology that businesses operate in.
It’s a business-savvy and future-proofed framework that minimizes project risks and focuses on delivering scalable and progressive products and services that get enhanced and optimized over time, and complete business goals.