The Secret to Software Success
"When the project started, Caterpillar Inc. [the parent company] wanted to see the book," DePauw says, referring to the requirements document. "I held up this single sheet of paper with a diagram on it and said, ’This is it.’"
Build on success, not hope. As often as once a week, and not less than once a month, complete a piece of software. Then have your business deciders test and approve it.
That doesn’t mean the software is shipped or deployed, but it must work and it must be bug-free. This is the Agile concept’s most radical departure from traditional development. In some software projects, no one shows working code for years.
Ken Moskowitz, CIO of New York City-based Standard & Poor’s, dictates weekly builds of his company’s software. Every week, the pieces being worked on are compiled and tested.
"We’ve had a great deal of success with it," Moskowitz says of this rigid weekly schedule. "I don’t want things thrown across the transom. I don’t want ’Here, I think I need this. Go and build it, and we’ll see if it was what I really needed in the first place.’"
Keep your development teams small. The fewer developers the better. Developers should team code.
Proponents of Agile Development swear that team coding is more efficient and produces stronger code than solo efforts. But even Fowler admits that this is one of the harder tenets of Agile Development to accept. Who is teamed and why? How do you budget their time? Expect a learning curve.
Caterpillar’s Agile project (in progress for two years with a core team of 15 developers) encompasses 200 distinct financial screens and contains 1.5 million lines of code.
Assign non-IT executives to software projects. Non-IT execs should coordinate with the technical project manager, test iterations to make sure they’re meeting user needs, and act as liaison between executives and IT.
With business involved full time, "It’s hard for us to say after three months of iterations that we didn’t really know how it was going," says Chris Colleran, CTO of a Salt Lake City market research outfit called SpreeRide. Colleran is using Agile Devel- opment to set up his company’s website and some back-end applications and has business executives full time on the project.
"Emotionally it’s hard to commit businesspeople to the development process, but it’s only counterintuitive because of the way it has always been," he says. "If you think about it, the perfect developer would be half a businessperson and half a programmer."



