When it comes to software development projects, there’s a lot of pain out there.
Steve Hall, regional sales manager for development tools specialist Rational Soft-ware, says companies often approach Rational when they’ve reached the hurting stage.
“The project is falling behind and they need a tool to test what they’ve done. It’s a shame because if they’d designed the project properly they wouldn’t have reached that stage. Do you test for quality or design for quality?”
Rational sells a range of tools to simplify and improve software development, but it also advocates using the right methodology.
Last week 130 people attended its seminars on software configuration and change management. What are the main problems that people encounter with software configuration and change management?
“They can’t control code”, says Rational product marketing manager Steve Preston. “They don’t know what they’re shipping to customers, can’t reproduce code they’ve shipped in the past, can’t share code because they have developers in three countries or it’s an extremely manual process, they can create deviations but can’t get them back into the mainstream development, or they’re trying to balance having control of development but not blocking the work being done by the developers.”
According to Rational technical marketing manager Robert Manning, software developers (commercial or in-house) have historically developed projects late and over budget. “The average extended time for a 12-month project is 12 to 18 months. Budgets are blown by 100%. A large percentage of projects are cancelled outright. Tools alone are not the answer. There is a push towards methodologies. Not having control of the development process really contributes to failure. Even good process and good tools fail if they don’t have the proper infrastructure.”
While the “Waterfall” process is a development methodology which has been around for a while, Rational pushes the Iterative process. “The Waterfall has a frozen specification, all emphasis goes into coding, and you test at the end. You don’t know if you’ve failed until the testing at the end,” says Hall.
“People are finding it isn’t meeting their needs. “The Iterative process has a lot of focus on specification and design, followed by multiple iterations of coding starting with highest risk functions first. Each iteration is tested and checked against specification and design. With each iteration more functionality is added.”