Scott W. Ambler is an IBM practice leader for agile development and author of numerous books on agile methodologies. He recently spoke with Dr. Dobb's editor-in-chief Jonathan Erickson.
Dr. Dobb's: Is agile accepted as mainstream software development?
Ambler: It depends on how you look at it. The Dr. Dobb's 2008 Agile Adoption survey showed that 69% of organizations were doing one or more agile projects, and 82% were beyond the pilot project stage. Clearly, some organizations are still sitting on the fence when it comes to agile, although this is likely their "official position" from management as opposed to what's actually going on. Time and again I'll visit a customer that believes it is just starting agile adoption only to quickly discover that stealth agile adoption had been occurring there for several years.
Dr. Dobb's: How important for agile development is scalability across the organization?
Ambler: Scalability is very important for most organizations, but it's not just about size. It also involves team distribution, regulatory compliance, organizational culture, and like issues. I recently blogged about the eight scaling factors that we focus on at IBM.
Dr. Dobb's: What barriers still exist to agile adoption?
Ambler: The most significant barriers to agile adoption are cultural. Agile requires greater discipline than traditional approaches. A significant cultural challenge in the traditional IT community is that bureaucracy is mistaken for discipline, and this will be a cultural barrier for a lot of organizations. There's a lot of misunderstanding out there still about what agile is really all about. The hacker teams running around claiming that their agile certainly isn't help, which is why at IBM we've developed criteria that we look for to help weed these teams out (see this. There's also a lot of misunderstanding, or perhaps religuous fervor is a better term, around traditional approaches. Recall that Dr. Dobb's ran a project success survey which showed that agile/iterative approaches resulted in measurably higher quality, better ROI, better functionality delivered, and quicker time to market than traditional approaches. This survey supported the results of studies done by other people, as well as previous Dr. Dobb's surveys. There's a lot of evidence out there that agile works better than traditional, although there's no guarantees that a given organization has the skills and discipline (or can get those things) required to be successful. Agile does require greater discipline than traditional approaches. A significant cultural challenge in the traditional IT community is that they've mistaken bureaucracy for discipline (see wrote about the Agile Process Maturity Model (APMM), which should help people put the various agile processes into context. Over the next couple of years, we're going to see a movement away from the Level 1 processes to the more robust and mature Level 2 processes. In many ways, we've been seeing this for a while as the Scrum and XP folks slowly reinvent "new" practices and techniques, which have been in Level 2 processes such as Unified Process and DSDM for years. Reinvention is the slow and expensive way to do this, but that's what happens when you let rhetoric get in the way of reality sometimes.
Dr. Dobb's Is certification important for Agile?
Ambler: I would love to see respectable certification around agile at some point. The DSDM community is doing a pretty good job of it but they're unfortunately a niche player in the overall agile market. The Scrum community has done a horrendous job of certification. Right now people are taking a two-day course and then coming out of it claiming to be a "Certified Scrum Master". Sadly, many organizations aren't catching on to this, assuming that "certified" actually means something instead of doing their homework and looking into the "arduous" process behind it. I've pointed this out to several customers and every time they were offended that such a thing was going on. The Scrum folks are trying to put a veneer of respectability over this by soon requiring people to take a test. You might want to see my article Coming Soon: Agile Certification for some detailed thoughts on decent certification.
Dr. Dobb's: Does the concept of "standards" (de facto or formal) apply to Agile?
Ambler: Concepts such as following coding standards, user interface standards, and data standards is fairly common in the agile world because we recognize that it leads to greater quality. The higher levels of discipline and greater focus on quality within the agile community motivates us to look for ways to improve the quality of our work. We're also seeing many organizations apply agile in regulatory environments, conforming to regulatory standards such as FDA's CFR 21, ISO 900x, and even CMMI.