Predictions about Agile in 2011

As is normal at the beginning of a new year predictions about where industry and practice are heading abound. Two commentators who have gazed into their own crystal balls are Mario Moreira and Scott Ambler. Both predict the continued adoption of agile practices across more and more organisations, and the adaptation of agile techniques to larger and more distributed teams, with an emphasis on more structured implementations.

I predict that we will see a significant growth in software engineering jobs that include an Agile element to them. In general, we are seeing a growth in the use of Agile methodologies and practices in the software industry. Many of the new positions are now mentioning Agile as one of the job requirements. The implication is that they are looking for people who have worked within an Agile context so that when they join the new company, they bring Agile experience

On Structure:

As product teams become more mature so do their Agile practices. While Agile has been utilized in large projects for several years now, it is still new to many. With that in mind, I expect to see more formality in deploying Agile. This is especially true since Agile is no longer a budding trend but maturing where patterns are emerging that lead to more successful Agile deployments.
As teams approach Agile, it will be important to consider the starting conditions before getting started. While some would like to say, “Let’s just get started doing Agile”, it may be better to consider a methodical or strategic approach to the deployment of Agile.

On Tools:

As we look into 2011 and the future, we will see more focus on providing comprehensive Agile tooling capabilities within an Application Lifecycle Management (ALM) framework. The value of having an ALM framework is that it allows a product team to manage customer needs from business case development to delivery. When tools support this framework, it can help streamline and reduce the effort in supporting the process.

Scott Ambler’s predictions in his article "2011 Prediction: Organizations will Continue Applying Agile Strategies at Scale" focus on the need to scale agile practices to large teams, distributed teams and regulated environments. He says “as organizations experiment with applying agile at scale they will observe that they’re succeeding and choose to continue with tailoring agile to meet their needs”.

He goes on to talk about the importance of adopting what he calls an “Agile Scaling Model”:

This begs the question how do you go about scaling agile in practice, and this is where the Agile Scaling Model (ASM) comes in to play. The ASM is a contextual framework which defines a roadmap to effectively adopt and tailor agile strategies to meet the unique challenges faced by a system delivery team. Mainstream agile development processes and practices, of which there are many, have certainly garnered a lot of attention in recent years. They’ve motivated the IT community to pause and consider new ways of working, and many organizations have adopted and been successful with them. However, these mainstream strategies, such as Scrum or Agile Modeling (AM), are never sufficient on their own – as a result organizations must combine and tailor them to address the full delivery lifecycle. When doing so the smarter organizations bring a bit more discipline to the table, even more so than what is required by core agile processes themselves, to address governance and risk.

He lists eight categories that need to be considered in the scaling of agile practices to larger and more complex environments:

In the article he discusses the implication of each of these factors on the application of agile techniques in organisations.

On the theme of agile adoption James Shore blogged in 2010 with some practical advice on how to bring about Large Scale Agile adoption:

1. Create High-Performance Work Cells
2. Use Kanban to Manage Cross-Team Workflow
3. Manage the Portfolio With a Dedicated Team
4. Use Bounded Contexts to Minimize Dependencies
5. Monitor the System Using Lean Techniques
6. Sacrifice Reuse in Favor of Throughput
7. Keep Communication Flowing With Scrums of Scrums