Requirement Analysis and this one is about a special case that talks about - separating the joke from the requirement or other way round.
As a Consultant, Developer, Solution or Application Architect – whatever we call ourselves now a days – once in a while we get to analyse some requirements that may sound like a joke or an irony, if interpreted literally. The following might be an extreme analogy but some requirements could be along similar lines except that in the realm of software, it may not sound so ridiculous.
Requirement:A new feature is required to ensure that the Sun will rise as soon as the CEO has woken up after completing an overnight sleep.
In as-is solution, CEO’s waking-up pattern is somewhat manually* synchronized with the Sunrise. Well there is some elements of a biological clock mechanism in place but it’s not very precise or automated hence the term “manually”. This in turn leads to several problems and some of these result in financial loss and underachievement on some of the important compliance related KPIs/goals.
Business Benefits:A Lot :) …and hopefully the System Integrator / Consultant will help in quantifying the benefits later.
The point is – if you get such requirement for analysis – make sure to get the joke!
Or the Irony - especially in security related areas, irony is more prevalent. That is, if implemented, the feature will be a major security risk in itself.
You can even have a good *old* laugh about it or if you are not old enough to know what’s a “good old laugh” – well then type LOL somewhere :)
If you don’t get it then you’ll end up in designing for a joke so the end result will be a comedy or tragedy but not a solution. If you design for a requirement then you might end up with a good or just good enough solution. Well, it might even turn out to be a bad one depending on several factors during the software life cycle...but at least it will be a solution.
I mean, get your customer an Alarm Clock or just show them how to use the standard alarm feature of their smartphones. And if you are into over-engineering then go for, say a “Solar Activated Integrated Alarm Solution SAIAS®" etc. and also offer some value added consulting to go along with that - e.g. considering the health aspects, set the alarm that will remind the user to go to bed early as well.
..Do all that if you have to but try not to design a new Sun, another solar system or a parallel universe having slightly different rules. No one will try that in real world. But in the field of software, you are the *proverbial* God and it may not be impossible to achieve that….but it will be complicated, unnecessary, even undesired and most likely to be a failure.
Having said that ….Try not to miss an opportunity that might look like a joke today but could have the potential to disrupt an industry in near future.