vege - Fotolia
The Agile enterprise has troubles that are well-told. The 16-year-old development approach is too focused on process. It's too formal. It's tough to make it work across time zones. It's taken a back seat to DevOps.
Johanna Rothman has a fresh take on what's wrong with the Agile enterprise. "People get stuck on what the name is," and that leads to some decidedly un-Agile ways of working, said the well-known Agile management consultant and author. "They use Agile words, but they don't use Agile approaches." They use a Kanban board, but their process is pure Waterfall. They say they're doing Scrum, but their iterations are a month long. The Agile enterprise opts for disciplined agile delivery or Scaled Agile Framework, even though the Agile frameworks aren't a good fit their process, she continued.
In short, the need to name things has given Agile a bad rap. Projects fail at the Agile enterprise not because they are Agile, but because they are not. "You need to work in a way that helps the team live the Agile mindset and values," Rothman said. That can take many forms, often without names. "The team uses a cadence of planning. They make their stories small. They do daily planning sessions at noon," she said. "It's an Agile approach, but it doesn't have a freaking name."
I asked Rothman, author of the upcoming book Create Your Successful Agile Project, what it means for a team to "live the Agile mindset and values" -- and what to make of the current emphasis on DevOps. Here's what she said that can help the Agile enterprise.
Making Agile agile again
Instead of finding a named process to focus on, Rothman zeroed in on approaches that help the team live out the Agile methodology. Successful teams work in an Agile way. Here's how she defined that.
- Teams that work in an Agile way deliver value all the time. That means, among other things, that stories must be small. If they're too large to deliver results quickly, break them down into smaller, more manageable chunks. It sounds counterintuitive, but teams in an Agile enterprise that limit work in progress get more work done, Rothman said.
- Agile teams are cross-functional. When problems arise, as they inevitably do, the whole team -- not an individual member -- devises a solution. For example, the team gets together to brainstorm its approach to automated acceptance tests, Rothman said. "The testers say, 'I wrote these automated tests. I found something else we need to pay attention to.' And the developers say, 'Yes, I found some stuff, too.'" That is an Agile approach to problem solving in a truly Agile enterprise, she said.
- Agile teams seek early feedback and integrate what they learn into their work. "The faster we deliver value, the faster we get feedback," Rothman said. "Software is not a manufacturing process. We are not making widgets. It's a learning process." When teams work in an Agile way, they expect to make changes to work in progress. This way of working differs radically from a more rigid approach that aims to define all requirements upfront. "People who think we can define all requirements upfront are smoking something," Rothman said. "We learn about the product and process as we go."
DevOps is Agile
Agile's so-called "demise" comes at a time when even the Agile enterprise has turned its attention to DevOps. That has added to the perception that Agile is somehow obsolete. I asked Rothman for her take on this. "DevOps is an Agile approach. People don't understand this," she said. "DevOps brings the deployment people into the development team. That is where they should be."
Despite the attention it gets, DevOps as a practice remains in its early stages. "People are calling it DevOps, and what they are doing is helpful," Rothman said. "I do see tighter integration of deployment with the [development] team. I am excited about that." But most teams have taken only small steps toward deploying software at the push of a button. That's a step in the right direction, she said. "They're no longer running arcane scripts that only Joe in Florida understands."
So, that's Rothman's prescription for successful software projects in an Agile enterprise: Reinvigorate your practice by focusing on the Agile mindset and values, and begin to integrate deployment into your development process.
What Agile insiders are saying
Why Agile needs to take the next steps
Why Agile 2.0 might be BizDevOps