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.
“Agility is nothing more than a software development teams ability to deliver software,” said Kirk Knoernschild, senior technology strategist at TeamSoft Inc., Middleton, Wis.
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.”
Agile Brings Professionalism to
Software Development”> Continuous integration, though it existed before, became popular with the Extreme programming method of agile development and it involves the practice of developers frequently committing every change, no matter how small, to a revision control system.
Stelligent provides consulting, expertise and support around continuous integration, and ThoughtWorks CruiseControl is a continuous integration server. Other continuous integration products include Atlassians Bamboo, IBMs BuildForge, IntelliJs TeamCity, Borlands Gauntlet, and open-source tools such as Apaches Gump and Continuum, as well as Tinderbox from MIT and Hudson from Mozilla.
Rodney Bodamer, senior practice manager of the agile consulting practice at CC Pace Inc., a Fairfax, Va., business and technology consulting firm focused on the financial services and mortgage industry, said, “some teams see it easier to start small and incrementally, and to start around agile project management. And they generate software a business can see and understand.”
Knoernschild said that the continuous integration strategy he likes to see put into place is also usually popular with customers.
“Once you get the continuous integration strategy in place, its almost forced upon you by the customers to keep it going,” he said. “You cant take it away.”
York responded, saying: “Im not sure what is the best place to start, but creating that customer pull is key. That is so much more powerful than technology push.”
Moreover, some of the agile practices such as the daily stand-up meetings, where the team meets briefly and everybody stands to discuss the status of the project, can be contagious. Indeed, ThoughtWorks Julius said he has seen clients and other departments in organizations see the stand-up meeting concept in practice and adopt it for their own uses.
“One of the key aspects of agile for me is its all about communication,” Julius said.
Meanwhile, ClearStream Consultings Meszaros said although agile development might be more amenable to a more generic platform environment, it also can be used with proprietary application software. Meszaros said he has been successful doing agile development in an SAP environment.
“There are some limitations when working in very proprietary environments,” Meszaros said. “These solutions work out of the box, but you can customize them and make them work. But absolutely you get the same kind of value in doing it [agile development] in SAP as in .Net or Java. Its not the technology, its the process. With a little bit of creativity and ingenuity you can do agile in SAP and other proprietary solutions.”
The group also agreed that agile development is helpful with outsourcing and offshoring engagements, but that things work better when there are fewer language barriers, or when you bring more of the distant workers onshore or they send a developer proxy to the U.S. to help interact with the offshore team.
The Stelligent dinner was a lesson in itself. And several big name user organizations were represented at the event, though none of them could comment for attribution because their companies view agile development as a competitive issue.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.