Agile needs no introduction in today's world. The term gets used more often than "computer" in business contexts. Organizations are increasingly looking at Agile as their default approach for software delivery. As larger organizations attempt to apply Agile software development methodologies at the enterprise level, I am attempting to specify the top three challenges, blockers, and barriers:
- Lack of executive commitment.
- People and culture.
- Neglecting the need for technical excellence.
Let's elaborate briefly each of these challenges.
1. Lack of Executive Commitment
By its very nature, an Agile transformation program affects large numbers of people in the organization. It's a change that needs to be managed effectively at all levels. One of the top priorities is to establish an effective working relationship between all those that have an interest in the successful outcome of the program. It sounds simple, but it's hard to achieve. More often, at the executive level, the boundaries of communication and political dynamics result in a lack of involvement. Most executives get excited during the starting phase of such programs and initial pilots. However, their engagement levels drop only to monthly status meetings as the program proceeds beyond the pilot phase.
Executive behaviors and actions set the tone for the rest of the organization and hence executives have the responsibility to continue to act as a visionary for the program, engage with the working teams on a regular basis, and encourage the uncertainty so the teams stay committed and ultimately achieve the desired results for the business.
2. People and Culture
Every organization claims that people are their most important asset. However, only a few practices this philosophy. Organizational culture plays a key role in maintaining this philosophy. While most organizations have multiples types of culture, there tends to be one culture-type — “the way things get done around here” — that influences the vast majority of people working in that organization. In organizations with rigid top-down matrix structures (hierarchies), agility is super hard. People are fearful and less driven with low morale. Upper management and bosses usually hold the key to next actions, decisions, and innovations. In such environments, fostering Agile requires more than training and coaching. Based on the organization's maturity in handling change, management techniques are required to introduce, induce and instill agile processes.
3. Neglecting the Need for Technical Excellence
Being Agile represents a way of working that drives a collaborative culture with supportive processes and tools. In Agile adoption programs, focus is well-observed during common “ceremonies” like Daily Standups or Daily Scrums, planning meetings, pair programming, and product demonstrations. However, technical excellence is considered as an afterthought and usually deferred through excuses such as tool availability, skill availability, and sometimes timelines.
Delivering faster and better requires a focus on technical Agile practices. Software craftsmanship (code reviews, pair programming, unit testing, etc.) along with technical excellence (CI, CD, infrastructure automation, etc.) can infuse agility within software development lifecycle. In my experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps unblock other Agile practices.
An Agile transformation in any enterprise takes time and grit to execute. Organizations that are ready to embrace the changes are those who are taking steps to learn, unlearn, and re-learn new processes and Agile way of working.
It is not an all-or-nothing equation. Organizations need to structure the transformation program in iterations with clear goals and KPIs that are aligned with organization’s performance goals. These KPIs should be refined based on how the program progresses over a period of 12 to 18 months. Senior leaders are responsible for fostering a culture where mistakes are treated as teachings and employees are encouraged to innovate.
I would welcome your feedback and thoughts on this article.