There are several fundamental advantages to taking a goal driven approach to agile solution delivery, in that it:
- Supports process tailoring by making process decisions explicit.
- Enables effective scaling by guiding you through tailoring your strategy to reflect the realities of the scaling factors which you face.
- Makes your process options very clear and thereby makes it easier to identify the appropriate strategy for the situation you find yourself in.
- Takes the guesswork out of extending agile methods and thereby enables you to focus on your actual job which is to provide value to your stakeholders.
- Makes it clear what risks you’re taking on and thus enables you to increase the likelihood of success.
- Hints at an agile maturity model (this may not be a benefit).
DAD Teams are Enterprise Aware
Enterprise awareness is one of the principles of the Disciplined Agile (DA) tool kit. The observation is that DAD teams work within your organization’s enterprise ecosystem, as do all other teams. There are often existing systems currently in production and minimally your solution shouldn’t impact them. Better yet your solution will hopefully leverage existing functionality and data available in production. You will often have other teams working in parallel to your team, and you may wish to take advantage of a portion of what they’re doing and vice versa. Your organization may be working towards business or technical visions which your team should contribute to. A governance strategy exists which hopefully enhances what your team is doing.
Enterprise awareness is an important aspect of self discipline because as a professional you should strive to do what’s right for your organization and not just what’s interesting for you. Teams developing in isolation may choose to build something from scratch, or use different development tools, or create different data sources, when perfectly good ones that have been successfully installed, tested, configured, and fine-tuned already exist within the organization. Disciplined agile professionals will:
- Work closely with enterprise professionals, such as enterprise architects and portfolio managers.
- Adopt and follow enterprise guidance.
- Leverage enterprise assets, including existing systems and data sources.
- Enhance your organizational ecosystem via refactoring enterprise assets.
- Adopt a DevOps Culture.
- Share learnings with other teams.
- Adopt appropriate governance strategies, such as the ones described here, including open and honest monitoring.
Enterprise awareness is important for several reasons:
- You can reduce overall delivery time and cost by leveraging existing assets. In other words, DAD teams can spent less time reinventing the wheel and more time producing real value for their stakeholders.
- By working closely with enterprise professionals DAD teams can get going in the right direction easily.
- It increases the chance that your delivery team will help to optimize the organizational whole, and not just the ”solution part” that it is tasked to work on. As the lean software development movement aptly shows this increases team effectiveness by reducing time to market.
DAD Provides The Foundation for Scaling Agile Tactically
Figure 12 overviews the basic strategy for how DAD tactically scales agile software development . The fundamental observation was that many organizations were struggling with how to scale agile methods, in particular Scrum. We feel that the first step was to identify how to successfully develop a solution from end-to-end. Although mainstream agile methods clearly provide a lot of great strategies, there really isn’t any sort of glue beyond consultantware (e.g. hire me and I’ll show you how to do it) to put it all together. This is where the DA tool kit comes in, but that’s only a start as you also need to tailor your approach to reflect the context in which you find yourself.
Figure 12. Scaling agile tactically.
DAD provides a better foundation for tactically scaling agile in several ways:
- DAD promotes a risk-value lifecycle. The riskier work early in an endeavour in order to help eliminate some or all of the risk, thereby increasing chance of project success. Some people like to refer to this as an aspect of “failing fast” although we like to put it in terms of succeeding early or learning fast.
- DAD promotes self organization enhanced with effective governance. This is based on the observation that agile project teams work within the scope and constraints of a larger, organizational ecosystem. As a result DAD recommends that you adopt an effective governance strategy that guides and enables agile teams.
- DAD promotes the delivery of consumable solutions over just the construction of working software. In addition to producing software DAD teams also create supporting documentation, they need to upgrade and/or redeploy the hardware the software runs on, they potentially change the business process around the usage of the system, and may even affect changes to the organization structure of the people using the system.
- DAD promotes enterprise awareness over team awareness. Please see the earlier section on enterprise awareness.
- DAD is context-sensitive and goal-driven, not prescriptive. One process size does not fit all, and effective teams tailor their strategy to reflect the situation they find themselves in. One of the DA principles is that Choice is Good – DAD enables choice through it’s goal driven approach and through supporting multiple lifecycles.
Now let’s examine what it means to scale agile. When many people hear “scaling” they often think about large teams that may be geographically distributed in some way. This clearly happens, and people are clearly succeeding at applying agile in these sorts of situations (see some of the more evidence we’ve gathered that agile scales, as well as some of the older evidence), but there’s often more to scaling than this. Organizations are also applying agile in compliance situations, either regulatory compliance that is imposed upon them or self selected compliance (such as CMMI and ISO). They are also applying agile in a range of problem and solution complexities, and even when multiple organizations are involved (as in outsourcing). Figure 13 summarizes the potential scaling factors that you need to consider when tailoring your agile strategy.
Figure 13. Tactical scaling factors
Pragmatism over Purism
Disciplined Agile Delivery (DAD) provides a pragmatic approach from which to tailor a solution-delivery process for the context faced by a team. It also provides a foundation which to scale agile strategies tactically. DAD explicitly addresses the issues faced by enterprise agile teams that many agile methodologies prefer to gloss over. This includes how to successfully initiate agile teams in a streamlined manner, how architecture fits into the agile lifecycle, how to address documentation effectively, how to address quality issues in an enterprise environment, how agile analysis techniques are applied to address the myriad of stakeholder concerns, and many more.