💾 Archived View for nader.pm › hybrid-projects--diagnosing-a-contradiction captured on 2024-08-31 at 11:56:33. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Nader K. Rad, 2024-08-26
What do we mean by "hybrid projects"?
There are two ways of creating a product in a project: predictive and adaptive. The adaptive approach is also called Agile, and the people in the Agile community refer to the predictive approach as waterfall.
For a few years now, some people and resources have been talking about a third alternative they call "hybrid"; a combination of the two primary approaches. The best of both worlds, they say.
We can't say what a hybrid approach is until we say what we mean by predictive and adaptive. So, let's take a few seconds to do that.
A predictive approach is one that contemplates at the beginning, considers everything, and comes up with a thoughtful design of the product. Following that, we also build a complete plan on how to create the product.
Most projects are done like this and should be done like this.
The predictive approach doesn't work very well when the product's acceptance is not an objective measure, but depends on the unpredictable preferences of end users. After all, human perception is complicated.
In such cases, instead of trying to predict what will satisfy users, we have to use trial and error. We create a special environment, go on with the project, try different things, and based on the feedback we get from end user representatives, try to understand what the best next step can be.
Many people think of adaptive approaches in terms of their relationship to change, but that's misleading. We always have change, and what we do in Agile (adaptive approaches) is not really accepting change requests but discovering our path. The feedback we receive should be used to discover our best path in the future, not just to fix what was done in the past. Again, the latter is the case in all projects.
End users can't really understand all subsets of the product. It should be working subsets, representing the real end-to-end interactions with it. So, a subset of software that has only a few features works, but the foundation and structure of a building without the walls, windows, and the rest won't work.
A hybrid approach is a combination of predictive and adaptive approaches. We don't want to be fooled by labels, so let's replace the labels "adaptive" and "predictive" with their definitions:
A hybrid approach is a combination of an approach where we take our time at the beginning of the project and contemplate what the best product is, design it carefully, plan how to build it, and then proceed with executing the project. We do it without spending too much time in the beginning as we know we can't predict the acceptance of the product well, and instead of a detailed upfront design and plan, we go ahead, execute the project, and discover its path through careful trial and error.
Do you see the contradiction?
There are 3 ways of thinking about combining the two approaches in this context:
The whole hybrid idea came from a small group of people who were into structured project management and didn't like Agile very much but weren't brave enough to challenge it. So they wanted to continue to do what they were doing but add some superficial elements from the other camp to differentiate themselves from the crowd of people providing services in the structured project management systems and also use some of the reputation that Agile approaches had gained. Some users and practitioners liked this "solution" very much because they didn't have to worry about being blamed for not being Agile anymore.
As Agile approaches passed their peak of hype and lost some of their power, the hybrid camp got a little more power, but they never became popular or actually used because of their contradictions and ineffectiveness. It was just a passing trend for some people to sell their consultancy services. This idea probably won't die, though; it will turn into a zombie.