Home > Software Quality News > Agile development: It isn't just for small projects
Software Quality News:
EMAIL THIS

Agile development: It isn't just for small projects

By Colleen Frye, News Writer
08 Oct 2008 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

For organizations wondering if they can utilize the agile methodology for large-scale development products, IBM's Scott Ambler offers this thought: Bureaucracy and discipline are two different animals.

To manage large teams, Scott Ambler and Damon Poole agree the project needs to be broken down into smaller components and sub-teams.

Meaning, "A lot of traditional development is based on shaky theoretical foundations that don't reflect human behavior. It's not viable in many organizations," said Ambler, practice leader, agile development, with IBM Rational. "The agile community has a higher focus on quality and value; we're a little smarter about the way we work."

He added, "Many traditional organizations suffer from the misconception that bureaucracy equals discipline, but bureaucracy is bureaucracy and discipline is discipline."

In fact, asking if agile can scale is the wrong question, said Damon Poole, founder and CTO of AccuRev Inc. in Lexington, Mass.

"The question to ask is, 'How does software development scale in general?' Traditional development doesn't scale very well anyway; you hear all the time of large projects that were cancelled or delayed. Scaling is independent of methodology," he said.

Does Poole believe agile scales better than traditional methodology? "Absolutely." However, he added, "There's a question of proven scalability. There are fewer proof points of agile scalability; that's just the way it is because there are fewer large projects. But look at the algorithm of agile development. There's more in it that allows you to scale."

How to make agile software development work
You hear people talking about agile software development, but what does it really mean? This guide explains how to implement agile development, how agile differs from traditional development methods, and tools to help agile projects succeed.

Read the guide

In a SearchSoftwareQuality reader survey conducted earlier this year, more than half of the respondents (53.52%) cited agile team sizes of four to nine, while 22.54% cited agile teams smaller than three, and 19.72% of respondents cited agile teams of 10 to 20. Just 1.41% of respondents cited agile teams of 20 to 50, and 2.82% had teams over 50.

Perhaps reflecting the small amount of large-scale agile projects, just 16.9% of respondents cited scaling as a challenge to using agile, while more than half (52.11%) cited communication as a challenge, followed by documentation (47.89%) and resistance to change and tool integration (both at 23.94%).

Scaling agile using sub-teams
At IBM, Ambler said there are other agile projects on the order of 500 to 600 people. To manage large teams, both Ambler and Poole agree the project needs to be broken down into smaller components and sub-teams.

"There's no magic to this," Ambler said. "The architecture should be a system of subsystems."

He said the structure of the teams should be aligned with the architecture, and ideally the sub-team members should be co-located.

"The worst way to do this is to have the business analyst in Toronto, the test analyst in London, etc.," Ambler said. "You'd get a phenomenal amount of coordination required among these sites, across time and geographic boundaries, which increases cost and risk."

Poole is on the same page: "Making teams bigger is problematic; you don't want teams to get bigger than 10 or so people for any kind of development. Say you've got a product and you've got 250 people working on various aspects of it. You could say you have a team size of 250, or you've got 25 10-person teams and set it up so the teams are all working on something of appropriate size. To scale, you have to have a componentized software code base so people can work on different components and communicate API changes, and put team members in the same locations so you have good communication."

Story continues with "Suggestions for scaling agile".



Tags: Implementing agileAgile software developmentScrum software developmentVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Implementing agile
How to be an agile project manager (PM)
Lean economic times call for Lean, agile software development
Suggestions for scaling agile
How to switch your team to Agile
Software development groups take many routes to Agile
Even Shatner says development needs to be flexible
Using iterations to help balance priority and risk
Agile development: Not just for 'agilists' anymore
Agile Software Development: The Cooperative Game, 2nd Edition -- Chapter 3, Communicating, Cooperating Teams
Case study: Agile development moves at Rackspace

Agile software development
How to stop developer vs. tester, quality-killing blame game
Testers debate differences between waterfall, Agile test automation
Tasktop brings task management into the application lifecycle
Test-driven testing face-off: Waterfall vs. Agile
Accelerating Agile testing with computer assistance
Agile by the numbers: Survey finds more adoption, but age-old problems
STPCon: How SocialText uses Agile, wikis and remote developers
First takes on Boston SPIN with Damon Poole and STPCon
Boston SPIN: A small group's big ideas about agile development
Using automation to speed up software testing in Agile

Scrum software development
Test-driven testing face-off: Waterfall vs. Agile
Agile by the numbers: Survey finds more adoption, but age-old problems
Boston SPIN: A small group's big ideas about agile development
Accelerate your agile software testing
Danube's Dan Rawsthorne: Scrum teams and metrics
Agile development growing, but problems remain
Turning agile skeptics to believers at Blueprint Systems
How Covad made the switch to a distributed agile development process
Can traditional project management and agile development coexist?
How teams transition to agile development methodologies

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
acceptance test  (SearchSoftwareQuality.com)
iteration  (SearchSoftwareQuality.com)
planning board  (SearchSoftwareQuality.com)
planning game  (SearchSoftwareQuality.com)
release  (SearchSoftwareQuality.com)
release plan  (SearchSoftwareQuality.com)
spike  (SearchSoftwareQuality.com)
stand-up  (SearchSoftwareQuality.com)
story  (SearchSoftwareQuality.com)
timebox  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Software Development Methods - Extreme Programming, Agile Programming, Scrum
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts