Lassi is a yogurt drink popular in India, but you wouldn't usually employ a washing machine to make it. Unless, of course your requirements are similar to those in this HSBC Ad. We call such differentiating requirements "scenarios." Think of scenarios as business use cases, or high-level business objectives.
Scenarios are an important way to differentiate one product from another. Most products excel at a few scenarios, but may not fare equally well -- or actually suck -- at the remaining scenarios. In our research, we rate products against these scenarios to show how much of a "fit" or "match" exists between the product and your requirements.
So does that mean if a product is not a good fit for a particular scenario, that you should avoid it for that specific requirement? The answer depends on many factors.
Having worked at various systems integration firms, I've known many people who believe that given sufficient resources and time, they can implement pretty much anything. If they work really hard, invest huge amounts of time and resources, they can get a platform to work for a scenario it normally wouldn't fit.
But that's not how it works in real life, where you the customer always faces constraints, trade-offs, and bottlenecks.
When researching these products, you will often hear (mostly from vendors) many examples of diverse implementations. These examples will include implementations for scenarios that typically don't make sense for that tool. Just remember that examples of implementations may not necessarily give you a true picture of why that product was chosen. There could be many reasons why a particular customer chose to try to adapt a platform, from deep discounts to organizational policies.
In such cases, remember to dig a little deeper and for your particular scenario, find out among other things:
- If those additional features will meet your requirements or not
- How easy is to implement those features out-of-the-box?
- How does the vendor define the "box" and what are the licensing as well as cost implications?
- How easy is it to customize additional features?
- What does it take to integrate these with your remaining stack?
Remember: previous implementations cannot be equated with good "fit" So if you elect to buy a washing machine to make Lassi, make sure it's a top loading and doesn't come with an automatic dryer...