Agile development brings cultural and work space changes along with more efficient software development.
When I think about agile development, rightly or wrongly, I tend to think about athleticism and cat-like responsiveness.
Also listening to some practitioners of agile methodologies brings to mind one of the chants my son's Pop Warner football team sometimes used to get themselves revved up. They'd start the chant describing what they planned to do to the opponent and end with "we are ag-ile, mo-bile, hos-tile!" And each "ile" was pronounced like "aisle" the way many agile practitioners pronounce it.
I do see agile development as having a component of mobility, but not necessarily of hostilityunless it's hostile to the old way of building applications
Agile development helps teams minimize risk by developing software in short iterations. And each iteration results in basically an entire software project: including planning, requirements analysis, design, coding, testing, and documentation.
I try to practice agile journalism, as one of the tenets of agile development methods is the "stand up Meeting." These meetings are meant to last no more than 10 minutes to bring everybody up to date with where things are and what needs to be done. As I hate meetings where folks who like to talk get to have at it, this agile stuff is for me.
But it's not for everybody. Indeed, agile is as much a culture issue as anything else, said Scott Amber, practice leader Agile development for IBM Rational. "It's a cultural issue more than anything; it's not a technological issue," Ambler said. "Although object technologies make it easier."
Read more here about Darryl Taft's view on why agile adds professionalism to software development.
S. "Soma" Somasegar, corporate vice president of Microsoft's Developer Division, said his team used agile development to "get clean and stay clean" while building Visual Studio 2008. He implemented the concept of "feature crews" or teams responsible for completing certain features in the product. And many used agile, although it was not mandated.
Carol Grojean, Microsoft's Visual Studio program manager, who also is an agile instructor, said that although there was no mandated agile methodology used at Microsoft, her favorite is a combination of PSP (Personal Software Process) and TSP (Team Software Process).
"PSP/TSP is probably my favorite because it helps build a high quality team." Grojean said the method is good for measuring progress and letting each team member know exactly what they ought to be doing.
"I often integrate PSP/TSP and Scrum in teams that I'm coaching," she said.
Meanwhile, Microsoft's "patterns & practices" group has taken agile to a whole different degree, even designing a workspace dedicated to agile development.
Per Vonge Nielsen, director of the patterns & practices group, said his team started in a meeting room in building 5 on the Microsoft Redmond, Wash., campus and began working together in an agile process, and after seeing the quality of the code, they decided that was the way they wanted to work from then on.
Click here to read more about tool vendors that are jumping on the agile bandwagon.
So Vonge Nielsen's group set out to design its own work space. The space is in a word, space ageit looks like something out of the futuristic movie "Minority Report." It's almost like an open newsroom for developers.
There are team rooms where developers can all work together at various workspaces, with glass wall that can be used as whiteboards and these walls can be moved aside to create more space. There is also a customer room, where teams can bring in customers to show them where they are with their projects and demonstrate prototypes.
And although the patterns & practices team uses agile, they don't mandate a specific process.
"We are agile about agile," said Dragos Manolescu, formerly an architect in the patterns & practices group, and now a senior program manager in Microsoft's Live Labs group. "We do peer programming and we do short iterations, usually of one to two weeks."
Roy Singham, chairman of ThoughtWorks, a consultancy that focuses on agile, said the agile workplace definitely plays into the way teams work.
"In our offices in India we have 200 people with no walls, nothing, because we have this open culture of agile development," Singham said.
Trevor Mather, CEO of ThoughtWorks, said: We'll go to a customer site and they'll tell us we have these five rooms to work in. But I'll come back a few weeks later and all our people are in one room, because that's the way we like to workthey want to be collaborating and sharing. The other four rooms will be empty and they'll all be in one room full of smelly guys."
"We're interested in being as effective as possile in what we do," said Ambler, who was hired by IBM to help the company get more agile. "The goal isn't to become more agile, it's to become more effective. Agile's not the goal, it just happens to be the means."
So in becoming more effective, IBM's Software Group has several internal efforts going to spread the word about agile development, including an internal wiki on agile, internal metrics programs, and an internal conference focused on agile development, Ambler said.
He said about one-quarter of IBM Software Group's development teams are agile in some form or other, specifically the DB2 team in Toronto where Ambler works. Other teams that have developed software using agile methods include the Lotus Sametime team, and Rational which has developed the Rational Asset Manager and the Jazz team development tools using agile techniques. Jazz itself is a tool for agile development.
Meanwhile, Ambler said what he looks for at a base level in agile development are: "short iterations where you produce high quality software, you work closely with stakeholders, you use test-driven development, and you're self-organizing."
Check out eWEEK.com's Application Development Center
for the latest news, reviews and analysis in programming environments and developer tools.