The Agile Manifesto declared independence from constraining, process-centric software development methodologies. The Manifesto advocated for a product-focused, team-centric approach. As Agile has moved mainstream, it has spawned its own industry of methodologies and tools. Organizations embracing Agile must remember that people are the key to its success.
Agile represents a culture transformation as well as a new way of working. The Agile journey needs to hold dear the values embodied in the Manifesto. Some organizations may struggle with the transformation. They are accustomed to carefully implementing a rule-based methodology, rather than a value-based set of principles.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The Agile Manifesto
There is no single path to becoming Agile or sustaining its accomplishments. While each organization makes its own trek, there are common challenges. Here are some recommendations for the journey:
Embrace Enthusiasts, Avoid Purists
Organizations adopting Agile need ardent enthusiasts to support the transformation. The enthusiasts should be knowledgeable and experienced practitioners who can bear witness to its benefits. They will help build grass roots support for the change.
Organizations should avoid purists and those believing in a single truth. Purists demand strict adoption patterns and may dismiss paths that are harmonious with the existing culture. Purists also risk alienating the incumbent employees and leaders.
There is not a bright line between enthusiasm and puritanism. Enthusiasm will draw people into the movement and promote change from within. Change that feels forced or regimented will meet resistance. Transformation movements populated with enthusiasts have a greater likelihood of success.
Manage the Organizational Change
An Agile transformation is a significant organizational and cultural change. The change will threaten power structures and disrupt established business relationships. Many employees will initially be skeptical or, at worst, resist these changes. Consequently, Agile transformations should be thoughtfully planned and executed. Simply declaring that “we are now Agile” will not work.
Managers will need to relearn their roles as they abandon traditional forms of power to become servant leaders. Leaders accustomed to exerting top-down control will need to be comfortable with a more democratic environment. Asking traditional leaders to “let go” and “trust the process” is a seismic shift.
Agile also disrupts the traditional roles within the project teams and reshuffles old alignments. Traditional development methodologies segregate work into specialized groups that are adept at shifting blame up and down the line. With Agile, the team is now one accountable unit; there is no one to blame. The product owner is also a new role, for many organizations, that needs to be assimilated into the process.
To be successful, transforming organizations need to actively manage the cultural change by:
- Engaging experienced organizational change practitioners;
- Training all levels of the organization so everyone understands the new environment and their new roles; and
- Accepting that the change will take time (likely a year or more) to take hold.
Focus on People Over Process and Tools
The Agile Manifesto declares that people and collaboration should be valued over tools and processes. Agile fundamentally puts people at the center of the software development process.
Historically, the software industry has emphasized standardized, structured processes and tools as the key to success. This industrial approach is not consistent with Agile. Strict adherence to a methodology is an Agile anti-pattern, as is over-reliance on development tools.
The Agile movement encompasses several development methodologies, such as: Scrum, Kanban, XP (extreme programming), Feature Driven Development, etc. All of the methodologies can contribute to the ultimate goal of producing good, working software. These techniques can also be used in combination or blended into hybrids, like Scrumban.
Organizations transforming to Agile should initially focus on adopting a set of core methodologies. For example, Scrum may be used for new applications or enhancements that require significant product owner engagement. Kanban might be used for managing infrastructure upgrades and maintenance projects. Initially focusing on a limited set of methodologies allows the organization to build its practice and develop a consistent operating cadence. As experience and maturity grows, teams can be encouraged to explore and experiment with other techniques.
Tools and frameworks should be seen as enablers of the transformation and not the driver. The principles focus on human interaction and collaboration as the way to build working software. The best way for people to build these skills is through manual processes and face-to-face engagement. The manual approach creates a clear connection to the work. For example, physically moving cards from one column to the next is a key element to the experience.
Several years ago, I worked with an “Agile change agent” who believed that using Agile planning tools was the first step to transforming the organization. He failed. He was a brilliant software engineer, but did not understand that Agile was not about the tools.
Tools should be used to assist teams on their journey. There are a host of tools for planning, testing, integration, and continuous deployment. These tools can significantly reduce cycle times and make the teams more productive. For example: automated testing tools and continuous integration tools can remove low-value, time consuming, manual steps. Many of these tools can also help make waterfall teams more productive. However, tool adoption alone does not make the team Agile.
In many ways, being Agile should be easy. After all, Agile teams share many characteristics with childhood pick-up sports teams. The teams are self-organizing, leadership is fluid, and the definition of success is clear. However, unlearning traditional roles and processes requires effort. It can be a tough journey, but well worth the effort.
Beck, K., Grenning, J. et. al. (2001). Manifesto for Agile Software Development. Retrieved July 12, 2016, from http://agilemanifesto.org/