Viewing Posts by Jesse Fewell
Now that the agile movement has expanded to larger organizations in more industries, we’re seeing a lot of variation. Granted, we’re used to a variety frameworks, techniques, and methods in use, from XP to Scrum to Kanban to Continuous Delivery. However, lately we’re hearing more and more about the use of “Hybrid” approaches.
Maybe you’ve heard an executive say “we’re not agile yet, but we’re using a hybrid approach”. Or maybe you’ve heard some consultant proudly declare “unless you do lots of prototyping, you’re only hybrid agile”. And then at the meetup you hear another person say “Oh, we’re not hybrid, we use a blended approach”.
With all this chatter, it can get pretty confusing as to what people actually mean. Those of us working on the upcoming Agile Practice Guide have heard this chatter too, and we’re adding a dedicated section to the guide focused on this topic. Here are some of the initial patterns we’re seeing...
“Iterative” vs. “Incremental” vs. “Agile"
Project lifecycles live on a continuum, ranging from Plan-Driven on one end to Agile on the other end. To help us understand this continuum, let’s say two of the key aspects of agility are “Deliver Early and Often” and “Adapt to Change”. If we were to plot that on a two-dimensional graph, we would get something like this…
On the continuum from Plan-Driven approaches (lower-left) to Agile approaches (upper-right) there are different degrees of delivery (incremental) and degrees of change (iterative). Those techniques that achieve BOTH high degrees of delivery AND high degrees of adaptability are called “Agile”.
“Blended” versus “Hybrid”
But that’s just too simplistic. In the real world, we don’t just use one approach; we almost always combine different techniques together. To help us understand the different combinations, we’ve settled on some working definitions.
Blended Agile is the combination of two or more established agile methods, techniques, or frameworks.
That is, adding some Kanban and wip limits to your Sprints would be a “Blended” approach. Or maybe you want to “blend” an information radiator with your continuous delivery status. For many of agile practitioners, that’s easy to understand. We combine known adaptive-aggressive techniques to be better at what we do:
Blended = agile + agile = better agile.
But what about the rest of us who are mere mortals? What if we’re not able to use these various techniques just yet? What if there are either constraints or demands that require some non-agile elements to happen? Well, in those cases, you should consider the “Hybrid”:
Hybrid Agile is the combination of agile methods with other non-agile techniques
For example, a detailed requirements effort, followed by sprints of incremental delivery would be a “Hybrid Approach”. Likewise, frequent iterative prototyping of a design, followed by a single plan-driven implementation would be a “Hybrid Approach”. Here, the idea is to take a non-Agile approach and inject some Agile techniques to address a specific issue or opportunity:
Hybrid = non-Agile + Agile = something in between that makes sense
When should we use Hybrid approaches?
Just like anything else in the world, there is a right reason and a wrong reason to do something. To be clear, the wrong reason for mixing techniques together is to keep up with the Joneses. “Doing agile techniques” is not the goal. The goal is to deliver the right business outcome using the right techniques.
Here are two scenarios.
Every project has different needs. For those finding themselves in a mostly plan-driven environment, a hybrid approach can be a transition to more adaptability and delivery. For those already delivering and adapting aggressively, blending in some new techniques can raise your bar even higher.
Don’t simply declare “we’re Agile”; the reality is you’re almost always using some combination of different techniques already. Instead, a better strategy would be to stop and think which approaches would be the best for where we are, and what we want to achieve.