A survey of agile software methodologies

Each year, we ask the developer community about everything from their favorite technologies to their job preferences. Overdevelopers took the minute survey this past January.

A survey of agile software methodologies

AgileModeling Adopting and then tailoring a software process to meet your team's needs is an important and difficult decision, one that is critical to your project's success.

There is a vast wealth of material written about these methodologies, but how can you tell whether a methodology will work for you? In particular, how do you determine whether an agile development methodology works within your environment?

If you spend anytime online reading process-oriented resources, such as the XP mailing list hosted by Yahoo! However, I feel that these people are barking up the wrong tree for several reasons: Agile software development methodologies are new.

Scrum and DSDM are among the oldest agile methods, being defined in the mids. The Agile Alliance was loosely formed in the Spring of Agile Modeling AM was first defined in the Autumn of and was published in March of as a book.

The good news is that people are in fact researching the various agile methods, and that more and more evidence is being published at various Agile and academic conferences worldwide.

I suspect that we'll soon be at the point where there is more evidence in favor of Agile than what we ever saw with traditional approaches. Of course, this isn't hard to accomplish seeing as many of the fundamental assumptions behind traditional development were never questioned, let alone examined.

Some research results do exist. For example the effectiveness of pair programming has been examined a fair bit, and the issues surrounding iterative and incremental approaches are reasonably well known. The bottom line is that metrics concerning agile software development methods are slowly being gathered, and wiht a little online searching you can easily find the latest results.

Alsowe're starting to see more and more survey results being published. If you don't give people the answers they'll fill in the blanks themselves, and often get it wrong.

I believe that the expectations of people requiring proof aren't realistic. Geoffrey Moore, in the book Crossing the Chasm describes five types of profiles of technology adopters: Innovators who pursue new concepts aggressively; early adopters who pursue new concepts very early in their lifecycle; the early majority wait and see before buying into a new concept; the late majority who are concerned about their ability to handle a new concept should they adopt it; and laggards who simply don't want anything to do with new approaches.

Figure 1 depicts Moore's chasm with respect to agility. Crossing the Agile Chasm. People who fit the innovator or early adopter profile are comfortable with reading a web page or book describing agile techniques, they'll think about the described concept for a bit and then tailor it for their environment.

This is the spot in the lifecycle that most agile techniques are currently at, and it is these types of organizations that are readily adopting these new techniques.

Continual reliance on legacy methods

The early majority will wait for sufficient anecdotal evidence to exist before making the jump to agile software development, and we're starting to see adoption by some of these organizations now.

When I first wrote this article in we were very likely on the left-hand side of the chasm. In February I wrote that I believed that we're on the right-hand side, in other words we've crossed the chasm.

Unfortunately there are no hard and fast rules to determine if we've crossed or not, only hindsight several years from now will do it. My guess is that we've definitely crossed over. Unfortunately, the question "where is the proof" is typically asked by organizations that fit the late majority or even laggard profiles, as Figure 1 indicates.

Because agile techniques clearly aren't at that stage in their lifecycle yet I believe that this question simply isn't a fair one at this time. Note that there's nothing wrong if your organization fits into either one of these profiles, many organizations are very successful following these business models, the important thing is that you recognize this and act accordingly.

View the 12th Annual Report

In the book Software Assessments, Benchmarks, and Best Practices Caper Jones of Software Productivity Research presents a wealth of information gathered over decades pertaining to software development techniques and technologies. My point is that current "best" and worst practices have been examined in detail, but newly proposed techniques such as refactoring and co-location with your customers have not been well studied.

A survey of agile software methodologies

To compound this problem the vast majority of agile methodologists are practitioners who are actively working on software projects and whom presumably have little time to invest in theoretical study of their techniques. In other words, it may be a long while until we see studies comparable to those of Capers Jones performed regarding agile techniques.

It may not be clear what actually needs to be proved regarding agile software development. If agility is important, then one of the characteristics we should be measuring is that agility.The software industry has come a long way from its early anti-establishment roots.

In fact, if metrics like cultural influence, market capitalization or employment mean anything, software is the. Traditional waterfall methods for developing software are rapidly declining in popularity as more recently developed Agile methodologies are increasingly adopted.

Agile software design and development methodologies have been gaining rigorous attention in the software engineering research community since their early introduction in the mid-nineties in.

The State of Agile is the longest-running report on agile software development, exploring the adoption and scaling of agile methodologies and usage of agile practices. PLAY 4 Build the service using agile and iterative practices.

We should use an incremental, fast-paced style of software development to reduce the risk of failure. WHY WE DO IT.

A survey of agile software methodologies

Every year, thousands of people are interested in the results of our State of Agile survey. The report gives software professionals deep insight into agile trends, best practices and lessons learned to help them succeed with their agile transformations.

13th Annual State of Agile Survey is Open