Agile system development must not neglect the discipline of configuration management, which itself must become more agile to avoid stifling modern development methods with bureaucracy.
This is the opinion of Robert Cowham (pictured), agile development supporter and founder of software configuration management consultancy Vaccaperna Systems.
Cowham, who is organising the annual conference of the BCS Configuration Management Specialist Group, said, "Agile methods appeal to developers and give them a stick with which to beat back managers. But agile methods can also be misused as a licence to reject processes.
"Software development has traditionally been controlled through configuration management practices. Configuration management helps prevent problems through the application of principles such as identification, management, status accounting and auditing. It is vital to development."
The trouble is that the principles of configuration management apparently conflict with agile development, Cowham said.
“Configuration management tools often mean bureaucratic processes, with rigorous workflows and countless sign-offs Ð typically slowing things down in the interests of safety,” he said.
"Such heavyweight processes can negate the benefits of agile methods. The principles of configuration management are not the problem, it is how they are achieved.
“Agile methods emphasise communication and response to change, but anything that interrupts flow, adds intermediate steps to be maintained or spends time waiting and seeking approval or further information delays feedback. It imposes substantial friction on the development process and possibly adds time to the development of additional features. So configuration management must adapt to facilitate change."
System developers could adapt the way they use configuration management in three ways,” Cowham said.
"They can remove or decrease the long wait times for authorisation, they can reduce the build-test cycle time and they can automate as much as possible to remove bottlenecks."
This can also help avoid problems lurking unnoticed until late in the development, Cowham said.
This last point refers to a criticism of the extreme programming approach to agile develop- ment. Opponents say the lack of emphasis on analysis and design at the start can raise project costs, because design omissions only get discovered later in the development.
Cowham said adapting or simplifying configuration management does not mean sacrificing key configuration management principles such as change control and traceability. In extreme programming, for example, the use of story cards is already being supplemented by tracking methods.
"Configuration management can be implemented readily in agile processes without removing agility, while remaining true to the basic principles of both," he said. “This can be achieved by using existing configuration management tools sensibly.”