If your IT projects are consistently late and over budget, chances are you haven’t implemented Agile software development practices.
Speaking at the recent ProjectWorld/Business Analyst World in Toronto, Scott Ambler, practice leader of Agile development at IBM Corp., told a crowd of IT professionals to throw away most of their traditional software development theories and take a new approach in their future projects.
“Writing a detailed requirement spec up front is a worst practice, despite being considered a best practice for the longest time,” he said. “When you do this, you are building to specs as opposed to building to what people actually need.”
Ambler also said that because many IT projects carve their requirements in stone before any actual tests or coding has been done, their budgets are often underestimated and unrealistic. “Fixed prices for IT projects are unethical,” he said. “We can’t estimate up front and the only way to enforce the costs is through change management, which is also unethical. Change management is really about change prevention.”
To combat these ineffective IT projects, Ambler recommended organizations consider the Agile approach, which he defined as an incremental process that is performed in a highly collaborative manner to meet the changing needs of the stakeholders.
“The traditional way of writing a bunch of documentation and flipping it over to the next group doesn’t work,” he said. “We prefer executive documentation, which requires that we write the code first. It’s far more disciplined and every two weeks or so we have working and visual software to show to our stakeholders.”
Besides increased teamwork between multiple business groups, some of the key criteria to an agile system, according to Ambler, include continuous testing that drives development, daily work with the stakeholders, and producing working software on a regular basis. Many IT organizations, he said, too often lose sight of their true goals.
“You have to know your audience,” Ambler said. “Treat your stakeholders like adults and keep them involved in the process. Any dollar spent on documentation is a dollar not spent on working software.”