Applying Agile Development to the Real World

You may have heard about Everett Rogers’ book, “Diffusion of Innovations”, Geoffrey A. Moore’s book, “Crossing the Chasm”, or Eric Ries’ concept of the Minimum Viable Product (MVP). They each present intriguing ideas that fit nicely into developing software using an agile approach.

Take a look at the graphs shown here. They come from WikiPedia and show groups of people adopting a new idea, product, or technology (blue line) and the growing market penetration over time (yellow line). The groups are loosely described as follows:

Innovators – They have a high-risk tolerance. They tend to be younger and better educated. They also tend to have higher incomes.

Early Adopters – These folks are like Innovators except that they tend to have a lower risk tolerance and they are viewed as social leaders.

Early Majority – These folks tend to be more deliberate and thoughtful. They are socially active but not viewed as social leaders.

Late Majority – These are the skeptics. They wait and see. Their socio-economic status is usually lower but their group size makes them a force to be recognized.

Laggards – These traditionalists are usually the last to adopt. They tend to be older, risk-averse, and reluctant to spend money.

(Bear in mind that these are generalizations and there will be exceptions to these rules. For a detailed analysis of these groups, you should read the books.)

These groupings make agile development simpler.

Having the target users grouped, enables the team to focus on stories (or requirements, features, use cases, etc.) that benefit each group. In the simplest case, the development team can plan five major releases aligned with the five groups above.

This approach helps with prioritizing stories and obtaining valuable user feedback sooner rather than later.

This also works when the target audience consists of internal workgroups. There will always be Innovators, Early adopters, etc. It helps to identify workers in each group and deliver functional software to them as appropriate.

You’ll target the Innovators first. They tend to be less demanding and more forgiving — just don’t abuse them. As the software matures and becomes more feature-rich, work your way through the other adopter groups.

This concept fits well with the idea of giving your users personas. Get to know the personas and assign them to adopter groups. Prioritize and order user stories based on the groups. Make sense?

Updated: September 13, 2011 — 9:53 pm