Disciplined Agile (DA) is a hybrid that builds upon the solid foundation of other methods and software process frameworks. DA adopts practices and strategies from existing sources and provides advice for when and how to apply them together. In one sense methods such as Scrum, Extreme Programming (XP), Kanban, and Agile Modeling (AM) provide the process bricks and DAD the mortar to fit the bricks together effectively.
- Scrum. The Scrum method focuses on team leadership and requirements change management during the construction portion of the delivery lifecycle. Scrum captures some really great ideas that have become commonly adopted by agile teams.
- Extreme Programming (XP). XP is an agile method that focuses primarily on construction-oriented practices such as continuous integration (CI), test-driven development (TDD), pair programming, sustainable pace, small releases, simple design, and many others. Although XP’s practices appear straightforward on the surface, many of them require significant technical skill and discipline on the part of practitioners.
- Lean software development. Practitioners of agile development are increasing looking to adapt ideas from lean thinking. Lean software development is based on seven principles: Eliminate waste, amplify learning, decide as late as possible, deliver as fast as possible, empower the team, build integrity in, and see the whole.
- Kanban. Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is visualized and team members pull work from a queue or work item pool.
- Unified Process (UP). The UP is an iterative and incremental process framework for software development. Although often instantiated as a heavy-weight approach, it has in fact been instantiated in a very light weight and agile manner, particularly in the form of Agile Unified Process (AUP) or OpenUP. The DA toolkit adopts and enhances several critical governance strategies from the UP.
- Agile Modeling (AM). AM is a practice-based methodology for effective modeling and documentation of software-based system. AM was purposely architected to be a source of strategies which can be tailored into other base processes, something DAD takes explicit advantage of. AM strategies adopted by DA include initial requirements and architecture envisioning, just in time (JIT) model storming, continuous documentation, and several others.
- Agile Data. The Agile Data (AD) method defines a collection of strategies that IT professionals can apply in a wide variety of situations to work together effectively on the data aspects of software systems. Practices for evolutionary/agile database development include database refactoring, database regression testing, agile data modeling, and continuous database integration.
- Scaling Frameworks. Frameworks such as SAFe, LeSS, and Nexus address tactical scaling strategies, particularly for large programs organized as a team of teams (typically a team of Scrum/agile teams).
- Other methods. DA adopts techniques and practices from other methods such as Dynamic System Development Method (DSDM), Feature Driven Development (FDD), Evo, Outside-In Development (OID), and Crystal Clear.
- Other frameworks. We’ve started to adopt leaned-out strategies from the ITIL, COBiT, TOGAF, and DAMA frameworks (to name a few) to flesh out the Disciplined DevOps and Disciplined Agile IT (DAIT) portions of DA.
- Agile development practices. There are many practices that are not specific to agile methods that have been developed within the agile community, and DA leverages many of them.
One of the great advantages of agile and lean software development is the wealth of practices, techniques, and strategies available to you. This is also one of its greatest challenges because without something like the DA toolkit it’s difficult to know what to choose and how to fit them together. In many ways Disciplined Agile (DA) does the “heavy process lifting” for you in that it shows how all of these great ideas fit together, enabling you to get on with your actual job which is to produce great solutions for your stakeholders.