Agile Brings Professionalism to
Software Development"> Last weeks Agile 2007 conference in Washington, D.C. provided a good opportunity for me to meet and hear from a bunch of folks in the agile software development arena, including vendors, consultants, trainers and end users. Stelligent Inc., a Reston, Va., agile development consultancy, sponsored a dinner consisting of just such a group one evening after the close of the show. The event was an attempt to get a dialogue going on agile development. First off, though, perhaps we ought to sort of define whats meant by agile development.Jim York, a principal with FoxHedge Ltd., a Leesburg, Va., agile consultancy, said agility is "the ability to respond to change." However, "one of the dangers is its often change for changes sake. Agile is great for a development team, but if they arent aligned with the business its all for naught." Basically agile development is about building software in a series of iterations to enhance productivity and quality in software. According to Gerard Meszaros, a partner at ClearStream Consulting, Calgary, Alberta, the move to agile development is part of the "professionalization" of the software industry. "Not scrubbing before you go into surgery is a no-no, and not writing unit tests is not acceptable," Meszaros said. "There are a bunch of practices that help keep discipline in the OR [operating room]," Meszaros said. "There is a scrub nurse that makes a surgeon scrub. And in agile there are similar practices to help you build up that discipline." York said that is the role of the agile coach or scrum master on a team of agile software developers. Click here to read more about Agile development. Moreover, "agile treats failure as a learning experience," he said. Andrew Glover, president of Stelligent, presided over the formal portion of the dinner, leading the discussion. But in a brief moment with me he noted that "last year at this conference many companies were asking, What is agile? This year theyre saying, How can we do it?" Glover said. And Glover said that small companies seem to be able to adopt agile easily, "but now were seeing that big companies are looking to adopt it because they are facing increased competition and the whole issue of developing and delivering software faster." Glover noted that many of the initial tools for agile development have been open-source tools, but more and more commercial tools are becoming available to address the agile space. Paul Julius, product manager for CruiseControl Enterprise at ThoughtWorks Inc., Chicago, said that with a lot of companies adopting the open-source tools, there are still many who are not. But "were at a point where agile doesnt have to be open source," he said. Julius is one of the co-founders of the CruiseControl project, an open-source framework for a continuous build process. ThoughtWorks is delivering a commercial version of that in its CruiseControl Enterprise offering. "We have another product coming out called Mingle thats meant to support project management," Julius said. "It provides you with an agile story board when youre distributed across different continents." Jeff Frederick, director of engineering at Agitar Software Inc., Mountain View, Calif., said of the increasing interest in agile development: "The market is following demand. IBM will talk about agile practices, and in Silicon Valley there are several companies that will offer support" for agile, he noted. However, Frederick said users have to look at why theyre adopting agile development. "Its not magic," he said. "But if your issue is you want to make your company more agile and faster," thats a result that can be achieved by agile development, he said. Knoernschild said there is a least common denominator he believes in that could be beneficial for others looking to break into the agile development world. "If youre in a large environment that is bureaucratic, filled with politics and has a [software development] process like the waterfall flavor of RUP [Rational Unified Process] what do you do?" Knoernschild asked. "Its been my experience that the number one thing you can do is continuous integration. That can spawn so many business benefits." Page 2: Agile Brings Professionalism to Software Development
"Agility is nothing more than a software development teams ability to deliver software," said Kirk Knoernschild, senior technology strategist at TeamSoft Inc., Middleton, Wis.