Being Goal-Driven Requires Discipline
The DAD process framework uses a goal-driven approach as we illustrate in Figure 1 below. Throughout our book we described each of the DAD phases in turn and suggested strategies for addressing the goals of that phase. For each goal we described the issues pertaining to that the goal. For example, in Chapter 10 when we discussed initial project planning we indicated that you need to consider issues such as the amount of initial detail you intend to capture, the amount of ongoing detail throughout the project, the length of iterations, how you will communicate the schedule (if at all), and how you will produce an initial cost estimate (if at all). Each issue can be addressed by several strategies, each of which has trade-offs. Our experience is that this goals-driven, suggestive approach provides just enough guidance for solution delivery teams while being sufficiently flexible so that teams can tailor the process to address the context of the situation in which they find themselves in. The challenge is that it requires significant discipline by agile teams to consider the issues around each goal and then choose the strategy which that is most appropriate for them.
Figure 1. Goals addressed throughout a DAD project (updated).
Since the book was published in June 2012 Mark and I have made a few minor refactorings to the DAD goals to increase their consumability. Figure 2 presents the goals as they were originally described in the book, whereas Figure 1 shows our refactoring. As you can see there has been a few minor rewordings but the actual content remains effectively the same. We apologize for any confusion, but process improvement happens.
Figue 2. Goals addressed throughout a DAD project (original as published in the DAD book).
DAD lays out a set of milestones across the lifecycle that are common across most projects regardless of what agile practices you use. It takes discipline to use a goal-driven approach to reach those milestones. This means that you do not use a cookbook approach to deliver your solutions but rather adapt your techniques to follow the path that is best suited to you. Prescriptive guidance and rules are common in many agile methods and people can easily fall into a trap of doing exactly what is dictated by a particular method without challenging how appropriate it is for their own situation.