Analyst: 'Water-Scrum-Fall' Is Current Agile Reality

A lot of companies profess to following Agile software development practices, but most of them are still clinging to some of the old waterfall ways of doing things, said Forrester Research Principal Analyst Dave West in an ADTmag.com Webcast earlier this week.

The Webcast was titled "Agile in the Enterprise" (available here on-demand; registration required) and West's keynote presentation focused on "The Promise and Reality of Agile after 10 Years."

That hybrid model of old and new development practices is "the reality of Agile as it's implemented in these organizations that we see at Forrester," West said. "We see that Agile is being adopted heavily by development teams. Teams and individual are picking up Agile and are working on it."

They follow Agile practices such as Scrum meetings, backlogs and rapid feedback on the developing software, he said. "However they're doing it under the constraints of actually, the requirements and the planning were done upfront -- that took three months and was well-documented -- and the fact that we don't release software that often."

But West questioned the effectiveness of that model. "You do get a lot of synergies as a team," he said. "It's a good thing to apply Scrum to development teams. However, remember that a lot of the feedback that you can potentially get on each sprint or each iteration doesn't necessarily help you solve the problem if you can't change those requirements that you originally created in your water-scrum side of the problem."

The result, West said, is that a lot of that time spent on upfront requirements is wasted. Also, he said, the more software teams create, the harder it is to release it, so by having to conform to an infrequent release process that often results from the scrum-fall part of the equation, teams don't present the software to customers as quickly as they would like.

West said planning, preparation and other upfront activities are necessary, but development teams should try to minimize it. "That shouldn't be 50 percent of your project time, or 30 percent of your project time. Try to push that so you do as little of it as possible to allow you to move into a more iterative and incremental lifecycle. And challenge the status quo of releasing software. Challenge that status quo so that you try to release software a little bit more frequently."

In fact, West said, a faster software release cycle is becoming more of a hot topic and is driving the move to what he called the "next generation of Agile" -- DevOps, "the fusion, the integration of development and operations." This stems from the reality that while software is developed incrementally, it isn't being released that way, he said, along with new technologies such as clouds and self-provisioned environments and a new philosophy that "operations and development shouldn't be set apart."

Instead, he said, "They should be delivering business value. They should be integrated into the business in a more thorough way."

The need to reduce upfront work, especially planning, was echoed by Telerik executive Joel Semeniuk, who spoke after West about the top five challenges of Agile adoption. One of those challenges was changing the mindset about planning. The mindset shift is moving from the waterfall-related idea of "planning to commit," where development teams plan as much as possible upfront before committing to those plans, to "commit to planning," where planning is a constant process throughout the development lifecycle. That means, with sprint iterations of two to three weeks, for example, teams are actually committing to planning every two to three weeks, "over and over again," Semeniuk said.

"We've changed the mindset over to embrace uncertainty and complexity in what we're doing, versus trying to make an assumption that we actually know all this stuff upfront," Semeniuk said.