|Websites for Professionals
Take control of your online presence
with your own professional website!
An Agile Approach to Change Management
Agile software development is designed to thrive within even the most dynamic business and technical environments. In fact, according to an article on the Web site of Martin Fowler, a well-known Agile industry leader, the name “Agile” was chosen because its founders viewed “adaptiveness and response to change” as the most essential concept of the methodology.
All Agile methodologies include integrated practices and processes that manage evolving requirements to efficiently develop a continuous stream of new software capabilities. However, what Agile does not address are changes related to enterprise support of the Agile process or tasks that fall outside the scope of the project work, including:
Each of these challenges is compounded when organizations operate multiple Agile projects simultaneously. Such unaddressed issues can cause IT projects to ultimately fail, even if executed perfectly within the scope of the development teams and meeting all project acceptance tests. On his blog, Jim Markowsky, an expert in change management, noted that the vast majority of large-scale IT initiative failures are actually caused by factors other than technology.
Enterprise Change Management (ECM) provides a framework that addresses many of these missing factors. This article focuses on how organizations can leverage ECM practices in conjunction with their Agile development teams to foster IT delivery adoption.
Enterprise Change Management (ECM)
In their book titled: “The Heart of Change,” John P. Kotter, a world-renowned speaker on leadership and the Konosuke Matsushita Professor of Leadership, Emeritus at the Harvard Business School, and co-author and consultant Dan S. Cohen, view the core pattern associated with successful change as “See-Feel-Change.” To move stakeholders from the type of negative thoughts and feelings depicted in the image above, an ECM program must communicate a vision of the change that is compelling enough to not simply overcome negative preconceptions but also motivate positive participation.
Project and executive managers tend to treat those who will be impacted by software initiatives as if they were Vulcans, not humans. Of course, stakeholders are more like Kirk than Spock. Humans don’t coldly and rationally evaluate information and form impressions based solely upon logic. Instead of withholding judgment on an impending change such as a new software initiative, people tend to make gut-level intuitive leaps that are often negative in nature, and resistant to new evidence to the contrary. This assumes, of course, that those impacted are even cognizant of upcoming changes.
In “Switch: How To Change Things When Change is Hard,” Authors Chip and Dan Heath use the metaphor of “Rider, Elephant and Path” to describe three primary areas that must be addressed in change management.
There are a number of formalized ECM models that have been developed to standardize change management within organizations, with processes and practices that support the entire lifecycle of a change initiative. The principles and activities described in this article can be adapted to any existing corporate ECM infrastructure. They can also be applied within organizations that do not yet have an established ECM process in place.
The Unique Enterprise Change Management Demands of Agile Software Development
Ironically, the more successful an Agile project is in rapidly developing new capabilities, the greater the ECM challenge may be. Although Agile’s customer-led iterative approach significantly reduces the magnitude of changes related to each software release, it greatly increases their frequency. Instead of being asked to adapt to a single release that institutes a significant number of changes created within “waterfall’s” typical multi-year release cycles, stakeholders must accustom themselves to an ongoing series of small, incremental releases every month or two.
Having an ECM program is especially important for enterprises transitioning to Agile from a phase-based development methodology. Corporate cultures that are accustomed to traditional development release cycles can be strained by a shift to more frequent releases and the ongoing interaction required by participation in the iterative process. There is a higher level of stakeholder involvement required throughout the development process. The impact of a new Agile implementation cuts across technology and functional groups, from top management down to the frontline worker. An ECM effort can help break down the organizational sensation of feeling burdened caused by the insistence of Agile teams for day-to-day customer involvement.
Introducing ECM to the Agile Team
Simply introducing basic ECM concepts to an Agile team can actualize the potential of existing Agile practices to foster positive change. For instance, customer-focused user stories and acceptance tests can be informed by ECM considerations. This new perspective can tangibly improve the way IT and business sides of an organization work together. The resulting synergies build a heightened level of trust and provide a means to measure and track success of not only the technical quality of software, but its acceptance by end-users.
If the customer already has an institutionalized change management practice, bringing ECM personnel into the Agile team’s release planning process is a good first step. They will be able to anticipate potential change management issues related to a release and work with the team to synchronize their efforts. For customers who are transitioning to Agile from a traditional waterfall methodology, ECM involvement is a good tool to foster participation by business stakeholders.
When an organization is ready to integrate ECM tasks into an Agile software development project, securing an ECM subject matter expert for the team is the first challenge usually faced. If the organization has existing ECM expertise, personnel can be shifted onto an Agile team. If there are no available resources, it may be necessary to hire an ECM subject matter expert or send an existing team member through an ECM training program.
Once staffed, a basic approach is to integrate ECM into the Agile development process by simply having ECM requirements progress through the same processes as technical requirements, including user stories, acceptance tests and the iterative development of deliverables. ECM team member and developers participate in the same customer planning meetings and stand-ups.
Take for example the implementation of a portion of a typical change management plan. In conjunction with an upcoming Agile software release, change management requirements might include:
Tasks required for the delivery of iteration can then be broken down into stories, for example:
Creating ECM stories in the same manner as their development tasks deeply integrates change management into the Agile process. In fact, these stories can be created in a test-driven development manner. For the above story examples, a test could be written proving that:
At the start of each iteration, these tests would initially fail and would begin to pass as these change management stories are fulfilled.
ECM tests and their pass/fail state can be illustrated on the Agile teams’ continuous integration dashboards. Making these dashboards available organization-wide provides all stakeholders maximum insight into teams’ overall progress to heighten project awareness across the enterprise.
By integrating ECM into Agile development, the development team can escape the project stovepipe and extend its vision to the greater enterprise. Every veteran Agile manager has watched hopelessly as a project that met every customer requirement failed due to external factors beyond their control. Although ECM does not give the project team absolute control over its destiny, it can substantively expand the domain of its influence.
Many more articles in The CIO Refresher in The CEO Refresher Archives