What are the most common challenges of Agile adoption?
Don't let a rigid interpretation of the Agile Manifesto hinder Agile adoption. Learn to view the challenges of Agile as opportunities for change and growth.
On paper, Agile is a clear set of values and principles. In practice, adopting the methodology isn't always straightforward.
Today's modern workforce is primarily an amalgamation of baby boomers, Gen Z and millennials. All "grew up" with different methodologies and personally gravitated toward processes and approaches that fit project needs. This means current projects and programs can be based on a mix of approaches including Waterfall, Unified Processes and Agile methodologies. While these hybrid approaches can cause strife and disagreement in the organization, they also present a valuable opportunity.
Letting go of overly-zealous beliefs and embracing practical approaches helps the enterprise optimize time and boost project success.
Letting go of over-zealous beliefs and embracing practical approaches helps enterprise organizations optimize timelines and boost project success.
9 challenges to Agile adoption
The following challenges are important to discuss and act on in order to thrive when embracing a heterogeneous methodology. These include resistance to change, unclear deadlines, risk management, decentralized control, lack of metrics, team changes, skill specialization, quality approach and self-governing teams.
1) Resistance to change
Almost all organizations struggle with change. Adopting a new process, methodology or approach is an invasive action that requires significant planning and execution. Resistance to that should be expected. While it seems counterintuitive, resistance is often the key to lasting change. Understanding the real change drivers, areas of discomfort and employing active listening helps break down barriers and convert resistance to support.
Supporters -- often the early adopters of a change -- make good evangelists and peer coaches, and are a strong source of assistance. It is critical to celebrate supporters and the results of their adoption. Arrange so that these individuals are available to counsel others.
Maybe the most important element of change adoption is that change is not optional. Official and informal leaders need to stress that changes are necessary, and that adaptation is critical to long-term individual and organizational success.
2) Unclear deadlines
Agile zealots who say "I can't tell you when it will be done", "you just have to trust the process" or "we don't have deadlines" are misinterpreting the methodology. These approaches are unacceptable. Deadlines, due dates and/or target dates need to be established, published and tracked. Remember Parkinson's Law: "Work expands to fill the time available for its completion." Without goals, work could extend forever. Aggressive, achievable goals balance the broader organizational goals well. Even if the due date is a sprint end date, the team's commitment to hit this date is key. Committing to and completing an epic in a specified number of sprints shows dedication and resolve.
Teams often give dates to management teams that correspond to the end of an iteration, an increment or a sprint. This is acceptable and balances the needs of the traditional organization with the commitment of the Agile team members.
The challenges of adopting Agile can persist even as teams take on new Agile projects.
3) Risk management
Agile is often more tactical than strategic, but this doesn't need to be the case. While risks are traditionally characterized as futuristic and uncertain, Agile's impediments are often viewed as certain and current. Many organizations define impediments as issues -- something that the organization addresses reactively. A more practical and successful approach is to look at risks as potential impediments, items to be discussed and mitigated before they occur. Logging risks -- however uncertain -- as impediments is a suggested approach. Mitigate impediments early before these risks can become issues and detractors to the team. Engaging the pre-Agile concept to "attack risk" -- often attributed to the Unified Process -- can also boost success. Risky items contain the potential for deviation, so addressing these unknowns early can reduce variability and drive predictable outcomes.
4) Decentralized control
Interpretations of some Agile statements imply decentralized control, which in turn can be interpreted as a loss of control. This doesn't need to be the case and can work to a team's advantage. Reading this decentralization of control as boosting accountability can be a huge win. Teams and individuals need to push forward, identify impediments and resolve local issues. As always, line management and program management exist to field escalations, resolve broader impediments and inspect issues where needed. Stressing individual and team accountability when decentralizing control can help empower teams to find their cadence and add a level of freedom to push forward in hybrid models.
5) Lack of metrics
One of the scariest elements of Agile approaches for management is a perceived lack of metrics. Teams want to drive business decisions with meaningful data, which can be tricky to define. The traditionalist might be uncomfortable with Agile metric keywords such as epics, stories, story points and velocity. They might be more comfortable framing these as initiatives, activities, estimates and progress.
Consistently and fairly defining metrics is key to understanding struggles and success. This gives teams a consistent way to observe trends over time, which is often more valuable than the metrics themselves. For example, a slowing down over time might be indicated by a loss in velocity. This insight might prompt the question "are we spending more time per scope item on average?" Ignore the semantics of the metric terms themselves and target the underlying data necessary for efficient and responsible business decisions.
6) Team changes
Stable teams often perform better. A key Agile concept is that teams should remain consistent over time, ideally for multiple releases or quarters. While true, team changes also have value. Although disruptive, these changes are often the path to efficiency and scaling.
In scaling, organizations might want to seed newer teams with seasoned veterans. In going through the paces of onshoring and offshoring, the organization might want to strive for better colocation or time zone consistency. Then, in going from development into maintenance, the organization might choose to create a team that is deliberately geographically dispersed. Finally, a team that seems to be underperforming from an interpersonal or skillset standpoint might need a staffing change.
Yes, it's important to try and keep teams consistent over time, but team staffing changes are also a tool for the organization to scale and realize greater productivity.
7) Skill specialization
Don't let the belief that there are no specialists in Agile get in the way of progress. While some Agile approaches involve generic roles, specialists drive efficiency. Under the pressure of project requirements, different tasks will be needed, including specifications, maybe documentation, various types of testing, core development or assembly. While cross-training and individual skill development should be considered, iteration/sprint/increment planning needs to balance it against delivery pressure. For example, if there are tight customer commitments, have a quality specialist write test scenarios. If the project is early on in a multi-release effort, it might be prudent to have a junior developer take on advanced tasks and pair them with a more senior team member. Aim to balance the long-term health of the team against the real pressures to deliver. Specialization is an important lever teams can move to adjust their Agile approach.
8) New approach to quality
Traditionalists might reject Agile based on their initial perceptions of the Agile quality approach. Repetitive testing, a lack of QA people and regression approaches all fly in the face of older ways of working, but when embraced can truly boost quality delivery. Repetitive testing is actually a practice that predates Agile. Traditional approaches involved some combination of unit testing, integration testing, feature testing and regression testing. Agile does too, but prudently combines these with every incremental delivery and boosts emphasis on automated testing. Many Agile teams have dedicated automation testers, software developers in test and offshore regression suites. Teams should adapt their Agile quality approach to the risk levels associated with defects and invest in quality accordingly. Testing iteratively with multiple team members is a toolset for long-term, sustainable quality.
9) Self-governing teams
The traditional organization does not embrace self-governing teams, but this provides an opportunity. Most successful organizations employ teams that self-govern and management that are ready to interject when needed. Managers should support the Agile team in their plight to self-organize and succeed, while being present to mitigate impediments, address staffing issues and field external requests to limit distractions for the delivery team.
While some Agile concepts make the traditional manager nervous and throw them off balance, with careful interpretation, these concepts can help the organization thrive and move into modernity.
Scot Calitri has been leading data and software programs for over 25 years across various industries.
Dig Deeper on Agile, DevOps and software development methodologies