On the Holy Grail
I frequently hear of bad expectations for software. In moments like these, expectations reveal how badly the speaker perceives software.
For instance, take the requirement that can do everything in one central location. Whenever I hear this I interpret the following:
- the person declared to be ignorant on the problem domain.
- the person is saying that the problem domain is complex, but he/she is lazy (or incapable of) to analyze it in detail.
- the person dreams of a reality where all his/her problems are gone with one magical software capable of marvelous deeds in the metaphysical dimension. Of course, the person is not aware of this dimension.
- the person wants a software with good quality and "usability" - mainly the UI (even though the person cannot articulate this thought).
Take an example from the "real world" for example: the speaker's dwelling. I bet the person has different rooms. I bet that in his/her house there are different objects that serve different purposes. I suppose different objects are related (sofa with TV, power outlet with electronics, pipes with faucents, hangers with clothes, table with food, etc). I bet he speaker is comfortable with using these different things for different purposes. Why does he/she have different expectations for software?
How can we - developers, architects and business analysts - deconstruct this Holy Grail of software?
(keyword: silver bullet)