Application development is a changed industry. Business logic compels developers to face constant pressure to do more with less despite increasingly complex operational environments.
Responding to business needs is paramount, while demand for higher quality applications despite shorter production cycles is commonplace. There is no longer any room for speculative trials, version mismanagement or bad code, and the cost to business of project overruns is subject to intense scrutiny.
Overcoming the challenge of reducing development time while simultaneously improving software quality reveals a clear need to automate and regulate development processes such as version control and configuration management.
Conducting development projects without formal processes in place creates a high-risk environment. Manual processes are labour intensive, low on productivity and documentation is variable.
Manually maintaining development baselines allows little time for tracking and analysis. Faulty software versions are more likely continue through the development lifecycle as a result. Version conflicts can also lead to hours of reparatory work and, ultimately, applications that don’t work.
Examining how application and change requests are managed is the first step to streamlining and simplifying these processes. Many developers may already use change management and configuration tools, but the results are invariably less than accurate. Also, change management and change management tools can mean different things to different people.
So how should you go about applying change management to the development lifecycle? The answer is to combine tools with methodology to achieve cost reduction and productivity gains at the same time.
Process-driven change management is about enforcing and automating change processes that ensure the appropriate standards are always followed. It reduces the time-cost managing repetitive change functions and cuts down on defects, resulting directly in productivity gains. Tools are used to implement both the processes and the methodology.
When a change request is submitted by the business, change management mechanisms ensure that development delivers exactly what the business requested first time. Using models to map development to business requirements reduces the production of inadequate or redundant software releases.
Process-driven configuration management helps developers to control the workflow of application lifecycle activities when configuring software modules and prevents the overwriting of code.
Development processes are automatically documented so that they become repeatable and developers can control source code without having to alter day-to-day procedures.
Research shows that developers typically spend around 15 per cent of the day-to-day effort dealing with change management for new development projects.
For maintenance projects, this figure is closer to 25 per cent. In distributed environments, change management for new projects can be up to 20 per cent, rising to 40 per cent when maintaining distributed applications.
A 2003 study of organisations adopting process-driven change management found a median annual reduction of post-release software defects of 39 per cent, median annual reduction in time-to-market of 19 per cent and a median productivity gain of 35 per cent.
Effective change management of application development raises quality standards, increases production and brings development closer to the business bottom line.
David Cook is AllFusion product marketing manager, Computer Associates Australia