In mid-May this year the local arm of US firm United Parcel Service (UPS) ordered up a solution to a difficult business problem from Australian software developer Eagle Datamation International (EDI) - a long-time provider for UPS. Head office required the UPS Australian operation to alter its billing and other critical internal customer service processes, and the branch needed the solution delivered and operable by July 15.
That's what you might call a pretty tall order. For EDI to have any hope of meeting that tightest of tight deadlines, testing would have to commence on June 15, barely a month after the order was confirmed. That might not sound too bad, until you learn that the requirements were - surprise, surprise - constantly changing. What is a developer to do when requirement specification remains a "work in progress" right through testing time, and he or she can only work with the fairly loose indication of priorities that represents the commissioning agent's best current guess of what eventually will be required?
For EDI CEO Richard White the answer is as obvious as it may seem extreme: you turn to extreme programming (XP), scrum, Crystal Clear, DSDM (dynamic system development method) or other agile (aka "lightweight") methodologies to get the job done.
You have heard it until you are bored silly with the repetition: the Standish Group says just 28 per cent of projects come in within budget, on time, and as promised. You know the problems: feature overload, constantly changing specs, a lack of communication between IS and the business, too little time for testing.
Well, people like White reckon they know the answer to that too: adopt agile methods in order to make programming faster, more efficient, far more nimble and vastly less expensive.
Like rapid application development (RAD) before it, agile has a dedicated core of enthusiasts who are convinced it is the answer to the dilemma of how to rapidly build and deliver applications that will help an organisation maintain a competitive edge in a continually evolving marketplace. Enthusiasts say the benefits are legion, and include: predictable delivery of code of known quality and functionality, improved ROI, reduced time-to-market, improved development team productivity, earlier delivery - and more satisfied customers.
"Traditional development methodologies and project management methodologies don't actually work, given the nature of the modern world and the complexity of software development and the fact that most old methodologies assume that the software is manufactured," White says. "Software development is actually a creative process with enormous amounts of uncertainty at almost every level of the development, and that's why agile works, because it deals with software development as if it was a creative process."
White says there is almost no project where he would not try to use some or all of the agile tools his organisation has.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.