• Blogs
  • >
  • What Is Disciplined Agile Delivery (DAD)?

What Is Disciplined Agile Delivery (DAD)?

     1186 views

Disciplined Agile Delivery

The project management world has seen a revolutionary change with the introduction of Disciplined Agile – a set of approaches curated to keep up with the evolving needs of projects today. In 2023, the projects are getting all the more complicated, with more factors that influence the success of the project and more intricacies to consider while aligning the project to a management framework. A project cannot meet its goal without a concrete strategy, much less without a strategy in place. So, which one is the best for your production cycle? If you named Agile or Scrum, you will make up the majority of answers.

This answer is not because Agile or Scrum are the best methods for you, for that matter. Instead, these are just two of the many, many practices that happen to be popular in the project management market. Although it sounds counteractive, these frameworks, even while ranking among the best in a generalized front, might not be ideal for your specific project, its objectives, pitfalls, ambiguities, impediments, etc. This is where Disciplined Agile comes to shine. Let’s first look at what exactly defines Disciplined Agile.

What is Disciplined Agile? 

Disciplined Agile (DA) is a set of project management approaches that guide you on effectively tailoring and scaling agile practices to meet an organization’s unique needs. It is a hybrid framework that incorporates principles from several agile methods, including Scrum, Kanban, Lean, and Extreme Programming (XP). It provides guidance on key decision points throughout the project lifecycle. In addition, it offers a set of artifacts to facilitate effective collaboration and communication.

Disciplined Agile emphasizes flexibility and practicality, recognizing that different teams and organizations have varying contexts, cultures, and constraints. It also provides a toolkit of strategies, practices, and decision points that can be used to tailor agile approaches to fit specific situations. Whether it’s managing people, delivering value, addressing enterprise architecture, or scaling agile practices, the DA Toolkit serves as a valuable resource for teams seeking to optimize their agile journey and achieve successful outcomes.

What Is The Disciplined Agile Toolkit?

As mentioned in the previous paragraph, Disciplined Agile is a toolkit. This toolkit is segmented into different layers, which are further distributed into process groups that can be seen through four specific views. Sounds a bit overwhelming? Let’s tone it down for you! The Disciplined Agile toolkit has four layers built on top of each other. Each layer expands upon the layer below it. Thus, first comes the Foundation layer. Then, the Disciplined DevOps layer extends it further with its own process groups. Further, this layer is expanded upon by the Value Stream layer, which addresses the optimization of an organization’s value stream. This layer shares a few process groups with the next and final layer – that is – Disciplined Agile Enterprise. 

Amongst these, in the second layer – Disciplined DevOps, is the Disciplined Agile Delivery process group. We will look at the details of this process group in the aforementioned four Views: Mindset, Roles and Responsibilities, Flow, and Practices. Let’s start with the introduction of the Disciplined Agile Delivery process blade (used interchangeably with process group).

Introduction to Disciplined Agile Delivery 

Disciplined Agile Delivery (DAD) is a hybrid approach to IT Software delivery. It introduces a people-first and learning-oriented mindset, encompassing all facets of the full IT solution delivery life cycle. Unlike some agile methodologies that may focus primarily on the development phase, DAD recognizes that successful software delivery involves a series of interconnected activities from inception to deployment and beyond. Thus, by addressing all aspects of the life cycle, DAD ensures that teams have a clear understanding of the entire process, allowing them to make informed decisions at every stage.

What is Disciplined Agile Delivery (DAD)?

Disciplined Agile Delivery (DAD) is a comprehensive and flexible approach to software development that takes a holistic view of the full delivery life cycle. DAD provides a collection of practices and techniques derived from various agile methodologies, traditional approaches, and lean principles. Consequently, this allows teams to tailor their Disciplined Agile way of working to the specific context they face. This adaptability enables DAD to be employed in a wide range of projects, from small teams working on internal tools to large-scale enterprise endeavors.

Strengths Of Disciplined Agile Delivery

One of the key strengths of DAD is its support for multiple Ways of Working (WoW). It acknowledges that different projects and organizations have unique needs and constraints, and there is no one-size-fits-all approach to software development. DAD’s robust, pragmatic, and governable nature is another factor that sets it apart. While it encompasses all aspects of agile software development, it does not enforce a rigid set of rules. Instead, it offers practical guidance, leaving room for teams to adapt and refine their processes to suit their particular circumstances. 

At the same time, DAD provides enough structure to ensure consistency and control across the organization, making it easier for management and stakeholders to govern the delivery process effectively. This balance between flexibility and governance fosters a culture of continuous improvement, where teams can evolve and optimize their practices over time based on real-world experiences and feedback. As a result, DAD promotes not just the successful completion of projects but the ongoing growth and maturity of the entire organization’s software delivery capabilities.

As mentioned in the previous section, as per PMI’s introduction to DAD, Disciplined Agile Delivery is seen through four views, i.e., Mindset, Roles and Responsibilities, Flow, and Practices. In this blog, we will explore all four views and draw conclusions as to why Disciplined Agile Delivery is the best for you. 

Disciplined Agile Delivery: Mindset

There are six Philosophies of the DAD process blade that extend the DA mindset, as per PMI and DA evangelists Scott Ambler and Mark Lines. These are:

  1. Consumable Solutions
  2. Incremental Value Delivery
  3. Shift Left
  4. Shift Right
  5. Prove it With Code
  6. Automate, Automate, Automate

1. Consumable Solutions:

DAD emphasizes the philosophy of delivering consumable solutions, which means providing valuable and usable outcomes to stakeholders. In the context of software development, this philosophy encourages teams to focus on delivering working software that provides tangible benefits to end-users. From a DAD perspective, a consumable solution could be a software feature, a module, or a complete product that is ready for deployment and use.

2. Incremental Value Delivery: 

This philosophy promotes the idea of delivering value to stakeholders in small increments. Instead of waiting for a lengthy development cycle to complete, teams strive to deliver valuable functionality in shorter iterations. This allows stakeholders to realize benefits earlier and provides opportunities for feedback and course correction throughout the project.

3. Shift Left: 

The “shift left” philosophy in DAD emphasizes the importance of addressing activities and considerations earlier in the development lifecycle. It encourages teams to move activities such as testing, security, and compliance closer to the beginning of the development process. Doing so can identify and resolve potential issues earlier, reducing risks and rework.

4. Shift Right: 

The “shift right” philosophy complements the “shift left” approach by extending the focus beyond development and testing. It encourages teams to consider activities and considerations that occur after the development phase, such as monitoring, operations, and customer support. By involving these aspects earlier in the process, teams can proactively address operational concerns and enhance the overall user experience.

5. Prove it with Code: 

This philosophy emphasizes the importance of validating ideas, concepts, and requirements through working code. Rather than relying solely on documentation or abstract discussions, DAD encourages teams to demonstrate the viability and feasibility of solutions through practical implementation. By using code as tangible proof, teams can align stakeholders’ expectations, gain confidence, and ensure that requirements are met effectively.

6. Automate, Automate, Automate: 

DAD promotes the philosophy of automation as a means to improve efficiency, quality, and consistency. It encourages teams to automate repetitive and manual tasks, such as build and deployment processes, testing, and configuration management. Automation reduces the risk of human error, speeds up delivery, and allows team members to focus on higher-value activities, ultimately improving productivity and software quality.

Disciplined Agile Delivery: Roles and Responsibilities

Primary Roles in DAD

DAD recognizes a set of primary roles responsible for different aspects of the project. Each role has specific responsibilities and contributes to the success of the project. Thus, by clearly defining and understanding these primary roles and their responsibilities, DAD provides a framework for effective collaboration and the successful delivery of software solutions. The primary roles work together by leveraging their expertise and responsibilities to deliver value and meet the needs of stakeholders. Here are the primary roles and their corresponding responsibilities in DAD:

1. The Team Lead:

The Team Lead plays a crucial role in DAD by providing leadership and guidance to the development team. Their responsibilities include coordinating activities, setting priorities, and ensuring effective collaboration. The Team Lead acts as a coach, empowering team members and promoting self-organization. They also facilitate communication and decision-making processes within the team.

2. The Product Owner:

The Product Owner represents the customer and defines and prioritizes the product backlog. They collaborate closely with stakeholders to gather requirements, define the product vision, and make informed decisions. The Product Owner, therefore, ensures that the team delivers business value by aligning development efforts with customer needs and market demands.

3. The Architecture Owner:

The Architecture Owner takes charge of the overall technical vision and strategy of the project. They are responsible for making architectural decisions, guiding the team in implementing appropriate technology solutions, and ensuring adherence to quality standards. Finally, the Architecture Owner collaborates with the development team, stakeholders, and other roles to balance architectural considerations with business goals.

4. The Team Members:

Team Members are the core contributors to the project. They possess diverse skills and expertise required to deliver the software product. Their responsibilities include analyzing requirements, designing, coding, testing, and delivering high-quality software increments. In addition, Team Members collaborate closely with the Product Owner and Architecture Owner to understand requirements and architectural guidelines, ensuring that the product meets customer expectations.

5. The Stakeholders:

Stakeholders are individuals or groups with an interest in the project’s outcome. They may include customers, end-users, sponsors, or other relevant parties. The stakeholders’ responsibilities in DAD involve actively participating in the project by providing feedback, validating deliverables, and making timely decisions. They also collaborate with the team to ensure that the project aligns with organizational goals and meets customer expectations.

Secondary Roles in DAD:

In Disciplined Agile Delivery (DAD), in addition to the primary roles, there are secondary roles that support the primary roles in a project. These secondary roles bring specialized knowledge, expertise, and skills to enhance the project’s success. Let’s explore the secondary roles of DAD:

1. Domain Expert:

The Domain Expert possesses in-depth knowledge and understanding of a specific industry or business domain relevant to the project. They provide insights, guidance, and expertise related to the domain’s specific requirements, challenges, and best practices. The Domain Expert collaborates closely with the primary roles, particularly the Product Owner, to ensure that the software solution meets the unique needs and aligns with the standards of the domain.

2. Technical Expert:

The Technical Expert is an individual who has specialized technical knowledge and skills in a specific area of technology or a particular tool. They provide expertise and guidance to the development team, helping them make informed technical decisions and overcome technical challenges. Moreover, the Technical Expert collaborates with the primary roles, especially the Architecture Owner and Team Members, to ensure that the project’s technical aspects are addressed effectively.

3. Specialist:

A Specialist is a role that brings specific expertise in a particular area, such as security, performance, or compliance. They contribute their specialized knowledge to ensure that the project meets specific requirements or standards related to their area of expertise. In addition to this, the Specialist collaborates with the primary roles, providing guidance, conducting assessments, and suggesting improvements in their respective specialized areas.

4. Independent Tester:

The Independent Tester is responsible for conducting testing activities and ensuring the quality of the software deliverables. They perform unbiased testing and verification of the software solution, focusing on functional and non-functional aspects, usability, and user experience. Also, the Independent Tester collaborates with the development team and has the primary roles to define testing strategies, execute test cases, report defects, and provide feedback for continuous improvement.

5. Integrator:

The Integrator role is responsible for integrating different components, subsystems, or external systems within the project. They ensure the smooth interoperability and seamless integration of various software elements. The Integrator collaborates with the development team and primary roles, working on integration strategies, identifying dependencies, resolving integration issues, and verifying the overall system functionality.

Disciplined Agile Delivery: Flow

Flow in Disciplined Agile Delivery refers to the efficient and effective movement of work items through the entire solution delivery process. It emphasizes the seamless progression of tasks and activities from conception to deployment, ensuring a continuous and value-driven approach. Moreover, in the context of Disciplined Agile, flow encompasses all stages of solution delivery, including planning, analysis, design, coding, testing, deployment, and release management.

To achieve a smooth flow, Disciplined Agile leverages the principles of lean thinking, which aim to eliminate waste, reduce delays, and optimize the value stream. In addition, the objective is to streamline the delivery process, minimize bottlenecks, and enhance collaboration between various roles and teams involved in the project. Flow also encourages a focus on delivering value incrementally and frequently, aligning with Agile principles.

Disciplined Agile recognizes that different projects and teams have unique contexts and requirements. Therefore, it allows for the tailoring of flow-based lifecycles to suit specific needs. These lifecycles define the stages and activities that work items pass through from their initial conception to the final deployment. Moreover, each lifecycle provides a clear structure for how work progresses and how teams interact, facilitating a disciplined and efficient approach to delivery. The full delivery lifecycle in Disciplined Agile typically includes five phases: Inception, Construction, Transition, and Ongoing. Let’s understand these phases in detail now.

Phases in lifecycles

While the specific phases and names may vary depending on the chosen delivery lifecycle, DAD generally recognizes the following common delivery phases in a project lifecycle:

Inception Phase: 

The inception phase focuses on understanding the project’s vision, goals, and objectives. It involves activities such as identifying stakeholders, defining the initial scope, conducting feasibility studies, and creating the initial project plan.

Construction Phase: 

Most of the development work occurs in this phase. It involves iterative and incremental development cycles, producing potentially shippable increments of the solution. Also, the team collaboratively designs, builds, and tests the solution based on evolving requirements.

Transition Phase: 

Next, this phase prepares the solution for deployment and release. It includes activities such as user acceptance testing, training, data migration, infrastructure setup, and final preparations for production release.

On-Going Phase: 

Here, we focus on the long-term operation and maintenance of the solution. It includes activities such as monitoring, support, bug fixing, enhancements, and iterative updates based on user feedback.

Comparison of lifecycles

Agile Lifecycle:

Agile is an iterative and incremental approach to software development that emphasizes flexibility, adaptability, and customer collaboration. In addition, the Agile lifecycle typically consists of short iterations or sprints, where requirements, development, and testing occur in parallel. The key characteristics of the Agile lifecycle include frequent feedback, continuous integration, and regular adaptation based on customer and stakeholder input.

Lean Lifecycle:

The Lean lifecycle, inspired by lean manufacturing principles, focuses on eliminating waste, improving efficiency, and maximizing value delivery. It aims to optimize the entire software delivery process by minimizing delays, reducing defects, and improving flow. Also, the Lean lifecycle emphasizes value stream mapping, continuous improvement, and the identification and elimination of non-value-added activities.

You can read more about Lean Project Management in our previous blog.

Continuous Delivery (Agile) Lifecycle:

The Continuous Delivery (Agile) lifecycle extends the Agile approach by emphasizing the continuous delivery of high-quality software. It focuses on automating the software build, test, and deployment processes, allowing for frequent and reliable releases. Moreover, continuous integration, automated testing, and continuous feedback are key elements of this lifecycle. The goal is to deliver working software continuously, ensuring a faster time-to-market and, thus, enabling rapid feedback loops.

Continuous Delivery (Lean) Lifecycle:

Similar to Continuous Delivery (Agile), the Continuous Delivery (Lean) lifecycle aims to enable rapid and reliable software delivery. It aligns with the Lean principles of waste elimination and continuous improvement. Therefore, this lifecycle focuses on optimizing the value stream, reducing lead time, and ensuring a smooth flow of work. Automation, continuous integration, and extensive use of metrics and feedback loops are essential in the Continuous Delivery (Lean) approach.

Exploratory Lifecycle:

The Exploratory lifecycle is characterized by an iterative and experimental approach to software development. It is often employed in situations where requirements are unclear or rapidly changing. The focus is on exploration, learning, and validating ideas through quick iterations and feedback loops. Therefore, the Exploratory lifecycle emphasizes collaboration, prototyping, and adaptability to uncover the most effective solution.

Program Lifecycle:

The Program lifecycle is employed in large-scale software development initiatives involving multiple teams and complex dependencies. It emphasizes coordination, synchronization, and integration of work across teams to deliver a cohesive and integrated solution. In addition, the Program lifecycle includes activities such as program planning, release planning, and managing dependencies and risks. Collaboration, communication, and alignment of goals and objectives are vital components of the Program lifecycle.

Waterfall Lifecycle:

The Waterfall lifecycle is a linear and sequential approach to software development. It consists of distinct phases, such as requirements gathering, design, development, testing, and deployment, where each phase is completed before moving to the next. The Waterfall lifecycle emphasizes upfront planning, documentation, and strict adherence to the predetermined plan. It is typically used in projects with well-defined and stable requirements but lacks the flexibility to accommodate changes during the development process.

Disciplined Agile Delivery: Practices

Practices refer to the specific activities and techniques teams, and individuals use to effectively execute their work. Disciplined Agile encompasses a wide range of practices drawn from various agile and lean methodologies that teams can choose from based on their specific needs and context. The framework also recognizes that different situations call for different practices, and it encourages teams to tailor their approach to suit their unique challenges.

These practices can be selected on the basis of the process goals of your organization’s context. One must also note that these process goals are bifurcated with respect to the phases of the lifecycle, which were discussed in the previous section. Let’s look at the segmentation of the process goals based on the lifecycle phases in the table given below:

TimingProcess Goals
InceptionForm Team
Align with Enterprise Direction
Explore Scope
Identify Architecture Strategy
Plan the Release
Develop Test Strategy
Develop Common Vision
Secure Funding
ConstructionProve Architecture Early
Address Changing Stakeholder Needs
Produce a Potentially Consumable Solution
Improve Quality
Accelerate Value Delivery

TransitionEnsure Production Readiness
Deploy the Solution
OngoingGrow Team Members
Coordinate Activities
Address Risk
Evolve WoW
Leverage and Enhance Existing Infrastructure
Govern Team
Intake Work
Organize Metrics
Measure Outcomes

Now each of these process goals expands into a set of practices that you can follow to achieve the said goal. 

For example, if your process goal is “Explore scope”, you will go the process goal diagram for the same and refer to the set of practices given in it. Thus, you can follow the mentioned practices in the process goal diagram if you choose the Explore Scope process goal in the Disciplined Agile Delivery process blade. Similarly, each of the aforementioned process goals expands into practices, and you can select and follow the same as per your organization’s context, situation, and nature.

Why Should You Go For DAD?

Teams and organizations looking to enhance their solution delivery process may benefit from choosing Disciplined Agile Delivery (DAD) in a number of ways. The following are some benefits of choosing Disciplined Agile:

1. Extending Agile: DAD Picks up Where Scrum Leaves Off

DAD goes beyond Scrum to define a comprehensive agile solution delivery life cycle. While Scrum focuses on certain aspects, DAD takes a broader view, addressing leadership, roles & responsibilities, and requirements change management, like Scrum. However, it doesn’t stop there; DAD encompasses other critical aspects of software development, such as architecture, design, testing, programming, documentation, deployment, and more. In summary, DAD provides a much broader understanding of how agile development works in practice, handling much of the “heavy process lifting” that Scrum leaves to individual teams.

2. Pragmatic Agility: The DA Toolkit Provides Choices, Not Prescriptions

DAD takes a pragmatic approach by offering a toolkit of choices instead of rigid prescriptions. This enables teams to tailor their strategies based on their unique situations. However, to do this effectively, understanding the process-oriented choices and trade-offs is essential. DAD makes these choices explicit through its process-goal-driven approach, empowering teams to make informed decisions.

3. Supporting Diverse Ways of Working: DAD and Lean-Agile Life Cycles

DAD supports both lean and agile ways of working (WoW) by providing several delivery life cycle options. These include a Scrum-based agile life cycle, a Kanban-based lean life cycle, two continuous delivery life cycles, a Lean Startup-based exploratory life cycle, and a Program life cycle. Thus, by acknowledging that one process size does not fit all, DAD accommodates teams in unique situations, allowing them to choose the most suitable approach.

4. Grounded in Empirical Experience: The Proven Strategies of DAD

DAD is based on empiricism, derived from extensive experiences of practitioners like Scott Ambler, Mark Lines, and others. Having worked in hundreds of enterprises worldwide across various industries and environments, DAD captures proven strategies, describing their strengths and weaknesses. It also provides guidance on when and when not to apply these strategies.

5. Enabling Agile Scalability: A Solid Foundation for Scaling

DAD supports the successful scaling of agile and lean techniques in multiple ways. Firstly, its full delivery life cycles and breadth of software development advice offer practical insights for scaling agile in practice. Secondly, its goal-driven approach allows teams to tailor agile processes effectively to meet challenges at scale. Lastly, DAD incorporates foundational concepts required at scale, including DevOps, explicit agile governance, and enterprise awareness.

6. Beyond SAFe: DAD’s Complementary Approach to Scaling

DAD complements frameworks like SAFe by providing a solid process foundation that includes strategies for organizing large or geographically distributed teams. Unlike SAFe, DAD doesn’t leave construction details solely up to the teams, ensuring a more robust and adaptable approach. It presents context-sensitive options for scaling agile and lean software development, providing additional flexibility that SAFe lacks.

7. Delivering Complete Solutions: DAD Teams Focus on More Than Just Software

DAD recognizes that software is just one part of a complete solution. Teams consider hardware changes, supporting documentation, improved business processes, and even organizational adjustments to deliver consumable solutions. Thus, this broader perspective ensures stakeholders receive comprehensive solutions that address their needs effectively.

8. A Learning Framework: DAD’s Constant Evolution

DAD is a continuously evolving framework as practitioners learn and experiment with new agile and lean strategies. Insights gained from these experiences are continually applied to enhance and update DAD. This, therefore, ensures that it remains relevant and effective.

9. Integral to Disciplined DevOps: DAD as the “Dev” Part

DAD plays a crucial role in Disciplined DevOps as the “Dev” part. It offers explicit advice on various development strategies. Thus, it thereby enables DevOps implementation, aligning development practices with the broader DevOps approach.

Conclusion

In summary, Disciplined Agile Delivery (DAD) offers a pragmatic and adaptive framework for project delivery, combining the best of agile principles with disciplined practices. By embracing DAD, organizations can achieve greater agility, efficiency, and customer satisfaction while maintaining a focus on quality and business value. So, are you ready to embark on a disciplined agile journey? Join us on the disciplined agile certification journey as we delve deeper into the world of DAD and uncover its transformative potential for your projects.

Previous Post

Next Post

 

 

 

 

Upcoming DASSM Batches

Name Date & TimeOnline

2 days Weekend DASSM Training Online

30th Nov & 1st Dec 2024
Sat and Sun- 2.30pm to 10.30pm IST

Know More


Upcoming DAVSC Batches

Name Date & TimeOnline

April Batch (4 Days Weekend) – DAVSC Online Training Workshop

27th, 28th April , 4th & 5th May
Sat and Sun- 5:30 to 11:30 pm, IST

Know More


Upcoming DAC Batches

NameDate & TimeOnline

May Batch (2 Days Weekend) – DAC Online Training Workshop

25th & 26th May 2024
Sat and Sun- 5:30 to 11:30 pm, IST

Know More

Exit pop upf

FILL THE DETAILS

 

Exit pop upf

FILL THE DETAILS