Know more and connect with me on [Linkedin Profile].

Tuesday, February 16, 2016

Disciplined Agile Delivery and Agility

NOTE: The below article is written on DAD, not DAD 2.0. My opinion on DAD 2.0 is different.

Here is my opinion about Disciplined Agile Delivery in relation to Agility.

Disciplined Agile Delivery (DAD) is a software development methodology that targets the enterprise and promises a disciplined and scalable methodology. DAD is formulated and published in the book: Disciplined Agile Delivery by Scott Ambler and Mark Lines.

To be clear, my reference understanding of Agile is through the Agile Manifesto values and principles. The Manifesto is the most agreed on and reputable framework that formulates what is  Agility. The manifesto is defined and signed at www.agilemanifesto.org

DAD has 3 phases, Inception phase, construction phase and Transition phase. The inception phase is where all initial preparations are done. The construction phase consists of multiple short iterations, each is time boxed and produces a potentially consumable product. The last phase is the Transition phase where all the deployment happens. 

In my opinion, the flow is a form of waterfall. The transitioning phase is the holder of all trouble. The team will tend to build increments very fast in Construction phase and then slow down a lot in the Transition phase, where all issues and bugs surfaces.

The separate transitioning phase is what makes DAD not an Agile methodology. It dose not produce valuable and deployed software with each construction iteration, but only at the end of the project, in the Transition phase.

I want to remind you that, putting agile in the name of a methodology does not make it an Agile methodology necessarily. Although DAD uses a lot of techniques from Scrum, XP, Kanban, and Lean, the introduction of Transition phase breaks one of the main principles in Agile.

Scott Ambler, the main author, has many critiques of Agile, and his methodology is meant to recover the lack of discipline that exist in Agile mindset and methodologies, per his thinking. Even though, he borrowed a lot of techniques and ideas from Agile methodologies. 

If we look through history, we find that, Rational Unified Process (RUP) which was developed by Rational Software (and later acquired by IBM), consists of 4 phases. These phases are Inception, Elaboration, Construction and Transition. RUP is an iterative and incremental methodology as defined by its authors, however, it is practiced as a heavy weight documentation-oriented and waterfall methodology. 

After disastrous implementation of RUP in may organizations, Scott Ambler developed Agile Unified Process (AUP). AUP is a major simplification to RUP. AUP distinguishes between two types of iterations. A development iteration that results in a deployment to the quality-assurance and/or demo area, and a production iteration that results in a deployment to the production area. This is a significant refinement to RUP but still have the risk to carry a lot of waterfall like practices. In the core of Agile, every iteration should result of potentially shippable software. This deficiency in AUP appears as a heritage from RUP that could not be overcame.

Later on, Scott Ambler and Mark Lines authored the Disciplined Agile Delivery book. Although he got rid of the RUP Elaboration phase, he did keep the Transition phase. That makes his new methodology in practice, applied as a kind of waterfall especially if implemented by a team who that is used to RUP or AUP.

My conclusion is that, DAD by design is a kind of waterfall despite its heavy borrow of Agile practices. This is mainly because of the effect of the Transition phase. If you get rid of that phase, and made the transitioning activities as part of each construction iteration, it could work. However, a high risk is introduced if the methodology is being applied by a team who are used to work with RUP or AUP. They will tend to use the old practices and will not harvest innate prosperity of Agile mindset.