In this three part series we are sharing our thoughts around agile SAP development and change control automation. In Part I we teased out the concept of agile development and in this Part II we are discussing wrapping a change control process around it. In Part III (next month) we will discuss how change control automation can hold it all together.
The need for change control
SAP system up time is mission critical and effective change control is required to ensure developments do not adversely impact existing system stability. Many change control processes simply record the status of a change rather than ensure the change is properly controlled into production through systematic checks and approvals along the way. The challenge in agile change control is to honour the principal of agile whilst ensuring adequate control.
Controlling agile change
As discussed in Part I, agile development involves less reliance on documentation and specifications, which can significantly slow the development process, and more reliance on iteration and collaboration. However, this does not mean that the control process can be relaxed in any way, but it does mean that it may need to be managed differently. For example, iterative process feedback is a vital agile component and so feedback loop control becomes an important change control feature to ensure all stakeholders involved in the change development process have approved each design change.
Agile change control process
Taking a basic scrum method as an example, a typical agile change process will involve a range of status steps, just like any other process. See table below.
In this example, significant feedback and iteration may occur between steps 2 – 7. It is during this phase, that appropriate collaboration and thus sign off is provided by the business. As the development evolves and goes through its iterative agile cycle, it is important that an audit trail of both approval and rejection of various iterations are recorded.. Approval and rejection will be by both IT and the business stakeholders.
Although agile has evolved to reduce time to development by minimising time intensive up front documentation activities and improved through stakeholder involvement in the development process, agile development methods still require controls. In fact in mission critical applications it is essential that effective change controls are in place to best assure minimum production negative system impact.