February 2011 marks the ten year anniversary of Agile, when a visionary group of self-styled “anarchists” met in Snowbird, Utah to discuss and debate their ideas for better ways to build software. Now ten years later, a new report from Forrester Research finds that 35% of developers are using some form of Agile methodology. How are they using it and how is mainstream adoption of Agile changing Agility? |
Let’s examine Forrester’s findings and best practices for getting the most from incorporating Agile techniques.
Who’s Becoming Agile?
Information technology firms are increasingly looking to Agile methods to improve time to market, provide flexible management approaches, and increase application quality. For background, the Agile Manifesto embodies much of the thinking behind today’s Agile movement. Its four values and twelve principles are intended to guide software development teams in a leaner way to work and interact with customers.
The recent report published by Forrester Research, “Agile Development: Mainstream Adoption Has Changed Agility” looks at survey results to see how Agile is being adopted and provides some interesting insights on Agile’s evolution into mainstream adoption. The findings show that while a preference for no methodology still prevails among both application developers/programmers and development managers alike, Agile is a close second for both groups, in both large and small companies. In fact, many developers who have shied away from formal development methods in the past—believing them to be the province of “management”--have embraced Agile as a “formal” development process. As one developer put it, “I was never interested in process before Agile, but now I read books on how to organize my work better and deliver better software.” This comment seems to typify the sentiment of many who have become Agile adopters.
Scrum Leads the Pack
Of the various Agile approaches, Scrum is the overwhelming favorite. By focusing on how people work together instead of on the work they do, Scrum relies heavily on Manifesto principles, but its popularity is attributed to these qualities:
Mixing and Matching New Hybrids
The Forrester research shows that being Agile is not black and white—teams do not usually implement all of the Agile techniques simultaneously, tending instead to cherry pick the ones that work best for them. Teams operating in traditional software delivery environments may choose to adopt particular Agile techniques—i.e. daily stand-up meetings or shorter iterations-- to improve outcomes, while ignoring others. In fact, Agile Orthodoxy was found to be the exception, not the rule—only 27% said they stick as closely as possible with a particular Agile methodology while 74% either mix Agile with other methodologies or mix different Agile methodologies into their adoption practices. Agile’s remarkable ability to bring value in a hybridized state, is a key to its ubiquitous adoption.
The survey found it common for teams to select the Agile techniques that most helped them achieve their organization’s priorities. For example, IT departments often struggle to get requirements right and test effectively, so they tend to embrace techniques such as story-based requirements, daily Scrum meetings, and rapid feedback mechanisms, which help keep project deliverables on track to meet business needs. On the other hand, technology industry companies are typically under constant pressure to deliver new products and services, so Agile techniques related to speed, such as daily Scrum meetings and short iterations, tend to be prioritized with these teams.
Teams Are Evolving To Support Agility
As teams have adapted Agile to fit their organizational circumstances, they have also adapted themselves to fit the essentials of Agile. New attitudes are transforming individual contributors into team players. Work environments are changing as teams move from separate offices into open space work environments. The prevalence of these changes is another sign that Agile adoption has become mainstream.
The resulting change within organizations can sometimes present new challenges, often when they expose or put new strains on weak points. For example, teams that have been sloppy about prioritization may need to develop new discipline to effectively assemble a backlog or stick to the functionality planned for a single sprint. Employees accustomed to being responsible for their own deliverable can struggle to place the team’s needs above their own. However, these challenges signify growth and teams tend to adjust their dynamics to make Agile possible by focusing on evolved roles, updated practices, and practical application of process.
Defining Clear Lines of Authority
Agile depends on rapid decisions, so to be successful teams are advised by Forrester to streamline their decision-making process as much as possible. Delays in scheduling meetings and the “power vacuum,” that occurs when no one wants to take responsibility for decisions, can be fatal to an Agile team. Some common strategies for more efficient decision processes set out by Forrester include:
Does Size Matter?
When assessing how adopting Agile changes teams, it’s important to note what does not change and what organizational characteristics have not been an obstacle to Agile adoption. Prior to adopting Agile, teams may worry that Agile processes cannot support geographically distributed or outsources workers. An equally frequent concern is that Agile won’t work for very large teams.
Researchers find that the image of the Agile team that works in the same office, attends daily Scrum meetings and does daily check-ins and builds of working code is in fact a stereotype. In practice, teams figure out how to work around obstacles such as:
Forrester Research finds that teams have overcome obstacles to adapt Agile methodology that was originally envisioned for small teams by employing these best practices:
Forrester encourages software development professionals to “stop sitting on the fence where Agile is concerned.” According to those who have adopted Agile, the benefits are well worth the effort, and with the recent dramatic increase in Agile adoption, the possibility of working in or with an Agile team has increased for everyone.
Contact Software Consortium or call 1-877-850-9393 if you would like to discuss how to leverage our top-level talent to empower your business.