?
The importance of consommé
Eben Hewitt
A consomméis a extremely clarified broth, usually made with beef or veal, served as a delicate soup. A well-made consomméis perfectly clear. It is considered challenging and time-consuming to make, because there are only one-to-remove the fat and other solids That cloud the broth and gain the absolute clarity the dish requires:repeated, simple, fine-grained straining. This straining again and again, this hyperconscious refining of the mixture, creates an intensely rich flavor. It's as if to taste a consomméis to taste the very essence of a thing. That's, in fact, the point of the dish.
In culinary schools in America, a simple test was administered to student chefs making consommé: The teacher drops a dime I Nto your amber broth; If you can read the date on the dime resting in the bottom of the bowl, you pass. If you can ' t, you fail.
Software architecture requires a continual refinement of thought, a repeated straining of ideas until we have determined T He essence of each requirement in the system. We ask, like Hamlet holding Yorick ' s skull, what's this thing? What is its properties? Its relations? We clarify our concepts and make the relations within the architecture verifiably true, internally consistent.
Many missed requirements and bugs in software can is traced to ambigu-ous, general language. Ask customers, developers, analysts, and users the same questions repeatedly, until they is drowsy with boredom. Now disguise your question to pose it in a different the-like a attorney looking for a snag in the alibi, to tease out a Nything new, any differences or contradictions. Strain and strain again.
?
?? Focus on how can be removed from the concepts presented in the architec-ture, the nouns that compose them, to determine their essence. Bring surgical precision to the language you find in your requirements, rejecting ambiguity, generality, unwarranted assum Ptions, or extraneous verbiage. This serves-make your concepts richer, more robust. Reduce and reduce again.
Test statements by asking "would do the same statement if I appended ' Always and forever and every circumstance ' to it? " People resist committing to absolutes such as this, and must refine their words. Force representations of concepts through a linguistic sieve to clarify them. Do this again, until you is left with only the exhaustive list of simple and verifiably true statements that describe the Essential nature of the system.
You'll know when the architecture are finished:when you can look through it and read the date on a dime.
The importance of consommé