Agile methodologies such as scrum are good practices for software development teams, but they become problematic for large projects. Developers should be willing to "step back" from agile to incorporate other methodologies to get the job done.
That's the advice of Mark Lines, partner with Scott Ambler & Associates, who argues that while scrum is a good starting point for agile in the organization, it falls apart when large teams are required, or if software development takes place in different locations across the globe.
"Scrum assumes you work in small teams, ideally collocated in one room," he pointed out in a recent interview (see video, below). "You don't have to talk to other teams in regards to architecture requirements and things. You can make all the decisions about the project yourself."
However, most agile teams don't all work in the same room, or even in the same city, for that matter. To offer new ways to address these challenges, Lines and Scott Ambler published a book, Disciplined Agile Delivery: A Practitioner's Guide to Agile Software Delivery in the Enterprise, which surveys available alternatives to simple agile practices. Disciplined Agile Development (DAD) is a decision process framework that "brings together some of the good practices from the disparate set of methods that out there and combine it into a whole," Lines said.
"It would be nice if we were all collocated in small teams, and we didn't have to talk to anybody else, but that's not a reality," he continues. "What if you're in situations where you need to more than what a classic agile project would ask for?" Examples of software projects beyond the scope of agile include applications subject to regulatory mandates, or complex programs such as software for rocket ships or medical devices.
Teams are larger than two to nine people like scrum would prefer. There are a lot of other concerns in the enterprise, like architecture, database standards, and governance, that haven't been talked about with other methods."
"Were seeing Agile projects with 300-person teams. You cant obviously be collocated, so you have to figure out a way to make that successful and still be agile," he said. Also, you have off-shoring ... outsourcing, distributed teams, technically complex, functionally complex applications."
By applying DAD, developers pull in the best practices across a range of methodologies.