Agile and its Role in a Successful Enterprise Transformation
Organizations when pressured to stay current and relevant in a constantly changing world of technology, sometimes look at Agile as a silver bullet. Agile Coaches work to move the entire organization to Agile in a short span of time. Teams are introduced to Scrum and the concept of sprints, velocity and user stories. This takes place with an expectation to see some quick and long lasting results. While some of this is right and necessary, introducing Agile is only a piece of a bigger puzzle. So what does it really take for an organization to become truly agile and for the transformation to stick for the long term?
As with any change effort, the four key elements that contribute to a successful agile adoption are people, process, tools and technology. Organizations need to build and promote an environment that supports and embraces change across all these areas. Let’s explore how these factors contribute to a successful enterprise transformation.
The most important area an organization should focus on is its people. Successfully moving to agile involves creating a desire among your employees to want to change. Change is always disruptive. Employees need to want to move to Agile because the move can create seismic shifts in the way your organization works.
Agile forces companies to rethink the way in which they manage people. We start to see a shift from a command and control style of leadership to a more team-driven approach, from a push to a pull-style of work management, and from a siloed to cross-functional organization of teams. Managers need to cede a degree of control and trust the agile process will effectively guide the work of their employees. Employees need to be willing to be self-directed and not wait to be told what to do next. Changing behavior can be a long and arduous process, so it’s important to keep employees motivated throughout your agile transformation.
Organizations that have a strong culture are 30-50 percent more likely to retain their employees than companies that don’t. Of the employees who leave companies, 70 percent can be retained through employee recognition and incentive programs that recognize and appreciate their contributions.
Consider having innovation sprints or Hackathons that foster collaboration and innovative thinking. Encourage employees to participate in things like local agile meet-ups or conferences and don’t forget to celebrate wins.
A key thing to remember is that agile transformation is a journey, not a destination. It is a commitment both from the top-down and bottom-up, but if any organization is willing to truly commit to change, this journey can be both profitable and rewarding
Two of the most popular frameworks in agile that enable teams to work in shorter cycles are Scrum and Kanban. Teams choose which framework works best for them based on the type of work they do and the control they have over constantly changing customer needs. Beyond the process, to promote transparency within product teams and with IT and business leaders so that the right support can be extended, organizations can benefit from enterprise-wide metrics like lead time, cycle time, throughput, defect density, code coverage, number of production releases.
Large organizations often face the challenge of having too many tools and systems doing the same type of work. This results in administrative overhead, painful upgrades and an increasing cost of maintenance. Organizations practicing Agile use tools like Jira, Rally, VersionOne and others for managing their product backlog and development tools like Bitbucket, Jenkins, Github and several others. Having disparate tool sets can slow application teams down. This also becomes a challenge when you have multiple teams working on the same deliverable.
Implementing a set of tools that can be scaled across the enterprise will promote speed, efficiency and reliability. Consolidating tools reduces licensing and administration costs and enables teams to operate in a common environment. This allows better sharing of best practices, code and cross-team dependencies. It’s best to choose open source tools that can be leveraged across any development platform.
Having standard tools for continuous integration, continuous delivery and high-velocity deployments play a key role in supporting DevOps as well.
Technology & Engineering Practices
Extreme Programming (XP) is a framework in Agile that emphasizes the importance of having solid engineering practices that enable the frequent and continuous delivery of software. Scrum, Kanban, and XP need to go hand-in-hand. XP may seem harder initially, but as teams begin to mature in their practices, it starts to become a part of the development process. Agile teams can benefit from having standard engineering goals to focus on like test-driven development, refactoring, code reviews, pair programming, test automation, continuous integration, and deployments. By having these goals as stories in sprints, teams can ensure they are giving it the attention it needs. Metrics like feature-to-fix ratio can help teams balance customer requests and tech debt as part of their sprint velocity. This, in turn, makes business teams happy because now the changes being rolled out to their customers are those of high confidence, high quality and low risk.
Overall, organizations that have adopted Agile and DevOps practices have seen an increase in deployment frequency from every 3-6 months to once a week. Similarly, the lead time for changes has also reduced from 3-6 months for a change to 1- 2 weeks. Companies have also seen an overall reduction in defect density, reducing the amount of time being spent in production support.
A key thing to remember is that agile transformation is a journey, not a destination. It is a commitment both from the top-down and bottom-up, but if any organization is willing to truly commit to change, this journey can be both profitable and rewarding.