
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.”
www.bcs-cmsg.org.uk