DAD: How Disciplined Agile Delivery Approaches Enterprise
There’s no doubt agile software development works for small teams. But what happens as you scale up? What about if you want more than developers to behave with agility?
The Disciplined Agile Delivery framework (DAD) looks to answer the many, many questions that an enterprise faces during this transformation. We sat down with the two founders of DAD to learn just how it works, how it compares with other agile frameworks, and how they believe architecture should be at the center of enterprise agile.
“We were observing that these customer organizations were either succeeding with agile or roughly succeeding with it, but it was a very long and arduous process and expensive, figuring out continuous integration and continuous deployment, issues around governance, graphic distribution, how does architecture fit in? All of these organizations are struggling with the same issues,” Scott Ambler, co-author of “Disciplined Agile Delivery,” along with Mark Lines.
On the other hand, “We also observed that every person and every team and organization is different.”
Ambler continued to say that a lot of the popular scaling agile methodologies are very prescriptive. “We know there are many ways to approach these daily needs, many ways to run retrospectives and daily stand-ups,” he said.
The authors wrote their first Disciplined Agile Delivery book in 2012. “Here are the issues, and how are you going to coordinate. Here are the options and here are the tradeoffs of those options,” Ambler said, describing the book.
“We’re first believers that choice is good and context counts — and the choices you make and your skills and culture will determine how you make decisions as a team.” — Scott Ambler
They argue that Scrum or other more prescriptive methodologies may work for awhile, but teams are constantly changing and constantly evolving.
“But a lot of coaches need to figure this all out on your own — we’re special, we’re unique,” Ambler said. “ But other people have been down this path before. If you are dealing with this problem, here are three or four different choices that people made. Here’s a range. We don’t need to figure it out on our own.”
DAD focuses on streamlining the whole software development lifecycle, from conception to construction to transition of delivery to deployment. It includes Scrum’s change management collaboration techniques, but also addresses architecture, testing and governance in an agile manner.
Ambler says a lot of businesses are doing a lot of “Waterscrumfall.”
Scrum doesn’t prescribe for the beginning, so he contends that “Organizations are very good at doing planning, heavy upfront stuff — because Scrum says figure it out — and heavy upfront deployment.”
This means that the development process may be agile or Scrum, but the beginning and the end is very traditional, heavily planned Waterfall. Disciplined Agile Delivery is a combination of lean change management and agile, focusing on optimizing the whole.
“How do we optimize this software delivery or solution delivery activity throughout the lifecycle then you streamline more in continuous delivery mode?” — Scott Ambler
DAD is also focused on the realization that different teams do different things, so you can’t prescribe the same framework across a large organization. Depending on the level of maturity of the teams, they could be doing Kanban, Scrum, Lean Startup, continuous deployment, or a combination.
Ambler asks, “Shouldn’t your framework support multiple life cycles? Why don’t we just revel in that and let’s support that and help their transition?”
He says a team might start with a “Scrumish” lifecycle, but as the team matures, they may not see the need to do daily standups or bi-weekly retrospectives, since they spend all day together. They also might migrate to a continuous delivery approach through agile or lean. What matters is, while they started with something like Scrum a year ago, it will have drastically evolved from there.
Ambler says it’s never just about software development, which is what most agile coaches concentrate on.
“This stuff is being governed. Someone’s keeping an eye on the money. Are we actually building things that make sense for our company? In a lot of organizations the governance is a tad dysfunctional because they are traditional.” — Scott Ambler
“If you are an agile or lean team, there should be lean or agile governance,” he continued. “It’s completely different than what they’ve been doing. They need help. They need a light-weight, risk-based governance approach, not a heavy docs approach.”
Since writing the first book, the DevOps lifecycle has taken off, which has now been brought into the DAD framework, as development, security, data, operations and support all need to go agile for agile to really happen.
Ambler offered the example of one of their clients Barclays bank, which has more than a 1,000 DAD teams working often asynchronously. When security is so important like it is in the financial industry, it’s impossible to empower each of these teams to release on demand. There needs to be a cross-organization release management. For any large scale operation, there is going to be internal support desk that manages this process too, something that most frameworks and methodologies don’t factor in at all.
He went on to even say that you can’t just have development behaving in an agile manner, IT, enterprise architecture and even human resources, finance, procurement, marketing and sales have to be involved.
“If the rest of the organization doesn’t know how to leverage IT or it’s not a great relationship with IT, then you have a problem,” Ambler said. “My agile development team is going to touch all these other aspects in an organization. Anybody you rely on, they at least got to interact with you in an agile manner.”
Only with a cross-enterprise orchestration can you reuse and recycle lessons learned in both management and engineering.
“A very common problem is the business don’t want to step up and get involved. They’re not agile,” warned Ambler. “In a lot of orgs, we see a lot of sub- or local optimization — we have a great dev team, but they are being shot in the foot by their finance guys.”
What you need to figure out is how everything fits together inside a large enterprise and how you can use agile to streamline all the way through.
How Does DAD Compare with Other Agile Frameworks?
There are many agile frameworks that look to scale agile, however the most popular only focus on scaling Scrum throughout the software development teams.
As Lines put it, “The scaling frameworks are patterns to address a particular problem — scaling up the development effort for a very large team. They are all enterprise frameworks and solutions for solving enterprise problems.”
DAD’s objective is not just to specifically to solve that problem.
Lines calls it “a collection of good ideas to address particular team-based and org-based concepts.”
“Every day you make dozens of decisions to try and be successful. People aren’t aware the decisions are available to them. We lay out options — like mod programming or pair programming,” Lines said, as they work to present the choices available to the wider organization.
DAD pulls from more than a hundred different agile methods, that can work complimentarily. Lines said Barclays went with DAD because of its inherent flexibility.
“Contrast that with Less. What if it’s not the right answer because Large-Scale Scrum says Scrum everywhere. Lean is a better approach to Scrum in many situations. Or everybody has to do Kanban or X,” he said.
Lines pointed out that you can do DAD alongside SAFe or Less because choices need to be made then too.
He argues that DAD accelerates the learning an organization goes through because all the options are laid out explicitly. While the concept of “fail fast” may work in a smaller startup setting, it can be too risky for an enterprise setting.
“If you don’t reference something like Disciplined Agile, the chances are you’re going to make a lot of choices and fails, but by referencing some proven ideas, you’re probably going to succeed earlier,” Lines said.
As the industry moves toward a blend of continuous delivery and deployment, with a lot of automation and DevOps, development can no longer be isolated. All pieces of an enterprise must work together to orchestrate in the name of overall shared business goals.
The Importance of Architecture in Agile at Scale
One thing that isn’t discussed in Scrum that’s important in agile at scale is architecture. Perhaps one of the most compelling parts of DAD is the role of architecture owner, who is in charge of making sure all architectural decisions are consistent across an organization, looking forward to avoiding technical debt.
While you want to keep your upfront modeling as lightweight as possible in agile, Ambler said that DAD includes some architectural modeling and some requirements modeling at the start, so an enterprise thinks through the whole technical strategy.
“Early in construction you want to prove the architecture works with working code,” he said.
In Disciplined Agile Delivery, you actually implement the highest risk requirements first. This may not always be the highest value choices, but you aren’t investing in work that will eventually fail.
“You de-risk your overall effort, straight out of the unified process,” Ambler said, as you prove whether your system works or doesn’t.
DAD emphasizes the importance of architecture providing guidance to all teams, particularly development. Lines and Ambler argue in favor of an architectural vision for an entire company. They even contend the architectural team should be guiding the whole business on who should be running what experiments.
“You don’t want everyone to play around with experiments,” Ambler said.
Those filling the roles of Enterprise Architect are also most aware of what’s being retired. If an enterprise is moving away from Windows, you don’t want teams building .NET apps.
And Ambler argues that when architecture is working in an agile way, productivity and quality dramatically improves, as they guide constraints.
This all folds in with one of Disciplined Agile Delivery’s seven principles: enterprise awareness.
“My team is only one of many teams. We should be working toward guidelines and the business vision. And that can evolve, but, at the end of the day, we should be reusing legacy data sources instead of creating another customer database.”
Ambler said this all fits together for an enterprise that approaches agile with mature thinking.