Wednesday, September 26, 2012

Common Agile Adoption Pitfalls


The ability to avoid common agile adoption pitfalls may seem daunting, but there’s a light at the end of the tunnel and your experience comes handy with agile adoption. There are some pitfalls as discussed below and we should take care of these points.

Focusing Only on Construction

You can realize the spirit of the Agile Manifesto through many approaches. Ironically, most of these approaches focus on one phase or discipline within the delivery life cycle; which goes against the spirit of lean, which advises to consider the whole.
Most approaches focus on the construction phase. Construction is typically a straightforward area to focus on when taking on an agile transformation, but if organizations only change the way they construct software, they can’t necessarily call themselves agile. The development teams could be humming along, delivering new working software every two weeks, but if the processes in Operations only allow for deployment every six months or if the Help Desk is unable to handle the churn or if customer take holders aren’t prepared to meet regularly, the organization isn’t realizing all the benefits agile can provide.

Becoming Agile Zombies

Organizations fall into the trap that if they attend a class and mandate a certain out-of-the-box (OOTB) process, that they are now agile. They train their teams to blindly follow and enforce the anointed process not considering which practices may need to change to meet their organization’s unique needs. Agile isn’t a prescribed process or set of practices; it’s a philosophy that can be supported by a practice and no two
Agile approaches are the same. One OOTB methodology that fulfills all needs doesn’t exist.

Improper Planning

That old adage, “If you fail to plan, plan to fail,” is really true. Planning is core to the success of any agile adoption.

Organizations should answer these questions:
      i.        Why do we want to be agile, and what benefits will agile provide?
     ii.        How will we achieve and measure agility?
    iii.        What cultural, technological or governance barriers exist, and how do we overcome them?

Without a plan that clearly shapes the initiative and includes addressing and resolving constraints to agility (for example, removing waterfall process checkpoints or getting support from other required entities), it is more difficult to shape the initiative, staff it, fund it, manage blockers and maintain continued executive sponsorship.

Excluding the Entire Organization

You can quickly short circuit an agile adoption by working in the vacuum of a single software or system delivery team. A single team can gain some benefit from agile, but to be truly successful, you need to look at the whole process around solution delivery. And many people are involved in that process. Agile should be a change in culture for the entire organization. Find champions in Operations, lines of business, product management, Marketing, and other functional areas to increase your success.

Lack of Executive Support

An effective agile adoption requires executive sponsorship at the highest level. This involvement means more than showing up at a kickoff meeting to say a few words. Without executive sponsorship supporting the overall initiative, the agile adoption is often doomed because agile initiatives require an upfront investment of resources and funding — two areas that executives typically control.

Going Too Fast

Moving to agile is very exciting, and it can be tempting to jump right in, pick a process, get some tools, and hit the ground running. Unfortunately, if a proper roadmap for coaching, process, and tooling isn’t outlined early in the adoption you can run into issues like the following:
      i.        No defined processes for dealing with multiple dependent or distributed teams
     ii.        Scalability issues with the core agile tools
    iii.        Extending the tool to support deployment, testing, or business collaboration

Insufficient Coaching

Because an agile adoption isn’t just a matter of a new delivery process, but is also major cultural shift, coaching is imperative. Developers don’t like change and many people like working in their own world. As a result, the concept of not only changing the way they develop, but adding the concept that now they have to work closely with five, six, or ten other people all the time can be downright horrifying.

A coach can work with these team members and help them through the early phases of agile adoption. Have you known of a teacher or coach that possessed a unique ability to inspire students to stretch their skills and perform at higher levels? Good agile coaching can have the same affect and make the difference between the success and failure of an agile adoption.

Retaining Traditional Governance

When an organization plans its agile adoption, it needs to evaluate all current processes and procedures and whether they inhibit or enhance agility. Existing traditional governance processes can be very difficult to change due to internal politics, company history, or fear that compliance mandates may be negatively impacted. Some common governance areas that are overlooked but can have dramatic impacts to agility are project funding, change control, and phase gates.

Skimping on Training

Organizations often see agile practice training, like coaching, as an area where they can save money, sending only a few key leads to learn the new process in hopes that they can train the rest of the organization while trying to implement the new approach. Agile involves a change in behavior and process. It is critical to send all team members to the appropriate training and provide them with ongoing training to reinforce agile values and update team members on processes that may have changed.

Skimping on Tooling

Agile tooling should support and automate an organization’s process. Ensuring all team members consistently use tools impacts the success of the project. If tools are used inconsistently, metrics may not correctly reflect the correct status, builds could be run incorrectly, and overall flow and quality issues result.

Ref: Agile for dummies

Enjoy Programming!!!