“Let’s have a dinner party!” your wife informs you. “It will be wonderful and fun and I want to invite all of our friends! This time I’ll even do the cooking! All you have to do is sort out the shopping.”
“A piece of cake” you reply. “I can manage that”.
So your wife hands you a list of ingredients and supplies to get: a joint of beef, some fresh baby carrots, new coffee coasters, that kind of thing. Some of it is open to interpretation eg ‘snacks + sauce for afters... pos salsa?’ and some of it, eg the Shaoxing Wine, you’re not sure even sure where to get it.
“Whoa! Stop right there lady!” you exclaim.
“What’s the matter honey?” she replies.
“Well, you haven’t told me where to get all this stuff. And for some of it you haven’t said how much you want. Also we don’t have an approved suppliers list drawn up yet. We can’t start without this infrastructure in place.”
“Well just go down to the shops, and if you can’t find it then give me a call back. No problem”.
“Sorry”, you reply. “But that’s not the way to do it. I need to examine all the stores first, and then draw up an approved suppliers list of stores that I deem reputable. That way, I can minimise your chances of getting faulty goods, and also provide you with pre-defined returns policies. After this is in place, you will need to specify precisely what you want, assuming it is available for the stores. But don’t worry about which store, I can abstract that for you, providing we both agree on a store-to-item mapping configuration (in XML of course!) which I can draw up and we can both share via use of the NoticeBoard pattern in the front room”
Your wife looks at you completely baffled.
“That’s the way we do it at the office honey” you say. “It works there!”