A zoo attendant explains a sensational show – a lion and a lamb sharing the same cage.
“How did you guys do that?” a visitor asks.
“Very easy, ” says the attendant. “Just replace the lamb every morning.”
…and this is how you cover up for design flaws during the project maintenance phase.
Ever heard your developers respond “this is impossible to do” to a customer request?
This morning, the wet season, also known as “winter” begins in Tel Aviv. A guy walks into a store. “Listen,” he says to the storekeeper, “do you have an umbrella that not just opens, but also closes on a button click?”
“No,” says the shopkeeper, “but I will give you something else”. And then, to a certain degree of surprise, he takes out an umbrella with two arrow buttons on the handle. When you press the up arrow, the umbrella shoots and unfolds violently. Then, if you press the down arrow, it folds quickly – but does not shrink to original size. The remaining 1/4 of the process is for the user to do in his spare time, charging the spring system for the whole new cycle.
This real story is to demonstrate only one thing: spec and design documents cannot always be separated. What the customer really needed, was to stay dry by quickly folding the thing when he boards a bus. He did not, mind you, need a perpetuum mobile.
Inventing such a device is possible only when you get both the model of a customer and the system design constraints into one mind. Product managers may falsely assume that they are supposed to analyze the customer desires and translate them into a spec for the technical people to implement. The developers, in turn, may often trick themselves into thinking they are being paid to implement a list of features. In fact, both groups are supposed to establish a high-bandwidth communication channel to link the two complex worlds, to be able to convert customer requirements into customer needs.
[Credit: I first heard of the invention from AF. Today I actually saw it in action.]