Disciplined Agile Delivery (DAD) is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value delivery lifecycle, is goal-driven, is enterprise aware, and is scalable.
Disciplined Agile Delivery is one part of the overall Disciplined Agile Framework. It provides the foundation for the rest of the framework, focusing on Agile Solution Delivery from beginning to end. The layers of the Disciplined Agile Framework move from DAD to Disciplined DevOps to Disciplined Agile IT and finally Disciplined Agile Enterprise.
The key characteristics of DAD are:
• People oriented – People come first. Individuals and interactions as well as the way we collaborate are the primary determinates for success.
• Goal Driven – It takes a goal driven approach that gives people choices. It is not prescriptive. A very lightweight approach to making better decisions
• Hybrid Agile – Takes ideas from a large range of sources
• Learning Oriented – Contains many aspects of Lean
• Full Delivery Lifecycle – All the way from idea to completion
• Solution Focused – Not just software development focused. Includes hardware, organization structure changes, supporting documentation as well as business processes
• Risk Value Lifecycle - The focus is on enabling teams, not monitoring and controlling them
• Enterprise Aware – Appreciates larger organization and other groups
DAD is a hybrid framework that leverages proven strategies from several sources, providing a decision framework to guide your adoption and tailoring of them in a context driven manner. Sources include; Scrum, Kanban, Lean, Extreme Programming, Unified Process, Agile Modeling, Outside in Dev., Traditional, Agile Data, SAFe, DevOps and more. By leveraging the different sources, it allows the user to best parts of different sources and build a modular approach for developing a delivering a solution that delights the customer.
Because DAD focuses on delivery end to end and scales up through the entire organization, it has more roles that Scrum.
• Team Lead (Scrum Master)
• Product Owner (from Scrum) – Must represent all stakeholders, not just customer
• Architecture Owner (from Agile Modeling) – guides team through important architecture decisions
• Team Member
• Stakeholder – Customers, End Users, Auditors, Financial Analyst, Support, Operations, etc.
Secondary Roles (Usually appear as DAD scales up or out through the organization):
• Independent Testers (not actually part of the development team)
• Specialist – Enterprise Architect, Program Manager, Financial Analyst
• Domain Expert – Share knowledge or guidance in a particular area
• Technical Expert – Share expert technical knowledge or skills
• Integrator – Used during large program. Used to focus on overall integration of various components of the solution.
DAD supports multiple lifecycles including Agile, Exploratory (Lean Startup), Lean, Continuous Delivery; Lean and Continuous Delivery: Agile. This means that if the organization is already using one of these lifecycles, DAD can be leveraged. Or if there are multiple groups within the organization and a few groups are using Agile and a few are using Lean, DAD can be adapted to accommodate both lifecycles and all groups.
With respect to the process domain, DAD focuses on providing choices. They call these process choices Goals and group them into various stages that they term Timing:
o Form Initial Team
o Develop Common Vision
o Align with Enterprise Direction
o Explore Initial Scope
o Identify Initial Technical Strategy
o Develop Initial Release Plan
o Secure Funding
o Form Work Environment
o Identify Risks
o Develop Initial Test Strategy
o Produce a Potentially Consumable Solution
o Address Changing Stakeholder Needs
o Move Closer to a Deployable Release
o Improve Quality
o Prove Architecture Early
o Ensure the Solution is Consumable
o Deploy the Solution
o Grow Team Members
o Govern Delivery Team
o Leverage and Enhance Existing Infrastructure
o Address Risk
o Improve Team Process and Environment
o Coordinate Activities
Because DAD is not prescriptive, it allows for an organization to adapt these 23 Goals to align with how the various teams work.
DAD is Goal oriented so you can take one of the Goals and answer questions or make decisions about that goal to ensure the best decision is made for the organization. For example; if you take the Goal of “Form the Initial Team”, then you can answer distinct questions like; Source, Evolution Strategy, Size, Structure, Member skills, Completeness, Longevity, Geographic distribution, Support the team and Availability. One makes a decision on these items. For instance with respect to Geographic Distribution, we could choose from Co-located, Partially dispersed, Distributed sub-teams and Fully dispersed. We would then define the Advantages and Disadvantages of each option. Now the best decision can be made; thus making smarter decisions and being more effective and more agile. Every team will have their own process and own that process and over time, their process may change. Figure 1 below demonstrates how the Goals, Decision Points and Options decompose.
Figure 1: Goals and Decision Points
DAD teams are enterprise aware. In other words each team is doing what is best for the company as a whole. An example would be that all teams are working towards a common business goal. DAD teams strive to leverage and enhance the existing eco system wherever possible. DAD teams work closely with other enterprise groups, they follow existing roadmaps where appropriate, leverage existing assets and enhance existing assets.
Governance is built into DAD. There needs to be some governance for agile and lean teams. Rather than a deliverables based approach, DAD leverages a Risk value lifecycle. The focus is on enabling teams, not monitoring and controlling them. There should be light-weight milestone reviews, standard opportunities for increased visibility and to steer the team.
The benefits of the DAD is that it scales Agile tactically. It allows the agile approach to be more mature and robust. This would mean working with larger teams, or working with geographically disbursed team. This also means taking compliance, domain complexity and technical complexity into consideration. Or finally it could simply mean distributing various aspects of DAD across the organization.
Solution delivery requires discipline. DAD can provide that discipline, but at the same time allows the organization to make choices to best build an approach that aligns with their contextual needs. DAD is a good middle ground that is a step above Agile development that will allow an organization to evolve or mature over time to scale agile tactically across an organization.
Note: You may find this useful: