So far in this three part series we have been sharing our thoughts around agile SAP development and change control. Having teased out the concept of agile development and discussed how to wrap a change control process around it, in this final article we discuss how change control automation can hold it all together.
Agile change control
As development goes through its agile cycle it is important that an audit trail of approval and rejection of various iterations are recorded, appropriate documentation is collated and the technical changes (transports) referenced.
In addition, an efficient workflow and approval process needs to be in place to keep the development progressing and visibility between requirements and / or developments to prevent inadvertent parallel development and possible overtake or overwriting errors is essential, particularly where high volumes of change are occurring across multiple requirements.
All together, the audit trail, collated documentation, transport referencing and workflow and approval process involve significant manual human involvement. Additional human effort is needed to keep track of dependent transports, transport sequencing and parallel developments.
In a standard development process the level of human effort involved is substantial and in an agile process, due to the level of collaboration involved and iterative process, it is even more so.
The costs and risks are directly proportional to the volume of change involved, the complexity of those changes (or the environment in which the changes are being made) and the level of change control imposed and so it makes sense to automate as much of the human effort as possible.
Automation of an agile change control process
Imagine a set of Business Process changes submitted for agile development. As the requirements are developed it becomes clear that many of the changes are dependent and intersect.
Taking again a basic scrum method as an example of an agile development process, see table 1 below, we can see that there may very well be significant iteration between steps 2 – 4. By automating and enforcing the process (enforcement can only be guaranteed by automation) several significant benefits arise.
For example, a repeatable process for each requirement is guaranteed, the iterative process is monitored and controlled with segregation of duties enforced, extensive human effort is eliminated and efficiencies improved through automated elements such as the automation of transport migrations and automation of workflow and visibility between changes during the iterative process (possibly carried out simultaneously by different teams) prevents inadvertent parallel development and later change collisions. Most of which is very difficult to achieve using manual change control methods.
Due to the increased complexities introduced by agile processes in addition to standard methods of development both volumes of change and the complexity of change increase. Accordingly, so do the costs of managing the change process and the potential risks. Systematic approvals and repeatable processes are essential to managing the risk which also increases the costs.
Automation, through the enforcement of consistent process and elimination of extensive human effort can significantly reduce the risks and lower the costs of agile development further enhancing its benefits to SAP user organisations.