What is Change management?
Change management is a process, techniques and set of tools to manage the people side of change to accomplish required business results. It comprises use of organizational tools to help individuals make successful personal transition that results in realization and adoption of change.
Challenges in agile software development
Agile software development is designed to flourish even in the most dynamic business and technical environments. Since the concept of this methodology is based on “adaptiveness and response to change”- the most essential concept in change management.
However, all agile methodologies are only limited to the integrated practices and process required in developing a continuous stream of new software. Agile methodologies do not address the changes related to enterprise support for the agile task and processes that fall outside the scope of the project work. Some of the challenges that agile methodologies cannot address are
- How to ensure appropriate stakeholders are available throughout the development cycle?
- How to manage organization’s internal personnel to get things done?
- How to gather and prioritize important features wanted by the organization throughout the ongoing development cycle?
- How to get approval of new technologies that a development team likes to gain?
Enterprise change management is the answer
Enterprise Change Management (ECM) offers a framework that addresses many of these challenges. We will discuss how organizations can use ECM practices in conjunction with their agile development teams to promote and strengthen IT delivery adoption.
Convey the vision of change
In any organization the pattern of success in change follows the core pattern – see-> feel -> change. To ensure the stakeholder do not carry any inhibition, feelings or negative thoughts, the enterprise change management should communicate the vision of change that will help stakeholders to get over negative preconceptions and also motivate them for change.
Enterprise change management demands of agile software development
The change management challenges are greater in magnitude when a successful agile project develops new capabilities. Instead of stakeholders adapting to a single release that brings number of changes within the multiyear software release cycle, the agile methods require stakeholders to accustom themselves to incremental, small releases every month.
An ECM program is necessary for every organization which is shifting from traditional software development methods to agile. Corporate cultures which are habitual to traditional development release cycles can be stressed by shift to frequent releases and ongoing iteration and participation required throughout the development cycle.
Agile development process requires higher level of participation from the stake holders and the impact cuts across technology and functional groups. An ECM can breakdown the feeling of burden that is brought by persistent demands of Agile teams for day-to-day customer involvement.
Introducing Enterprise Change Management to Agile teams
Applying basic concepts of ECM can foster positive change in existing agile practices. For example customer focused stories and acceptances can be communicated by ECM considerations. This allows the side of IT and business to work in a coherent manner.
This approach also helps in building high level of trust and provides measure to track quality of software. Bringing ECM personnel in agile team is a good idea. This will allow the agile team to anticipate potential change management issues and help teams to synchronize their efforts.
The basic approach to integrate ECM into agile development process is by including ECM progress through the same process as technical requirements such as user stories, acceptance tests and iterative development of deliverables.