What, Not How? When Is “How” Really “What”?: Daniel M. Berry, Computer Science University of Waterloo, Canada 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 1 Three Ways to Specify There are actually three ways to specify something: g g g 2007 Daniel M. Berry What How Test Requirements Engineering What, Not How? Pg. 56 Chewy Bagels Let us use the New York (NY) bagel as an example. How many of you have ever had one? 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 57 Where to Get Them In Waterloo, unless you have gone to Rise and Shine Bagels on Bridgeport Road, you have not. Blue Dog Bagels, Great Canadian Bagels, Manhattan Bagels, McDonald’s, Northern Bagels, Royal Bagels, Sobey’s, Tim Horton’s, and Zehr’s do not make them. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 58 A What Specification On the next slide is a blueprint* for a NY bagel from a U.S. company, Bruegger’s Bagels, that makes genuine NY bagels. Notice Detail 1-A. It is shown, blown up, on the slide after that hhhhhhhhhhhhhhhhhhhhhhhh * Copyright by and a registered trademark of Bruegger’s Bagels Corporation; reprinted with permission. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 59 Detail 1-A and Chewiness It specifies the inner mantle to withstand up to 45 psi and the core to maintain 20 to 25 moisture content. These define the chewiness of the bagel. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 62 Chewiness Is an NFR? Is this chewiness functional or nonfunctional? I think it is functional, because it ain’t a NY bagel without the chewiness. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 63 Bagels and Donuts Without the chewiness, it’s bread with a hole in it or a donut*. Indeed, in my mind, a bagel and a donut have literally nothing in common! hhhhhhhhhhhhhhhhhhhhhhhh *When the Israeli Dunkin’ Donuts began to sell donuts, I said that Dunkin’ Donuts was diversifying into other holey products in the Holy Land! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 64 How Specification Here is a recipe for NY bagels: 1. Use high gluten flour dough that has risen. 2. Make a ring with outer diameter 4 inches and inner diameter 1 inch and with a cross section of 1.5 inches in diameter. 3. Put the ring into boiling water for 30 seconds. 4. Bake the ring at 400°F (200°C) for 10 minutes or until golden brown. This How specification is clearly an algorithm. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 65 Mile High Modification In Denver, Colorado, which is a mile (1.6 kms) high, the ring must be boiled for 90 seconds! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 66 Why What is Better than How The What specification is preferred to the How because the What says only what is desired and allows the implementor freedom to achieve it any way he or she can. It spurs competition to find more efficient ways to achieve the What than originally conceived. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 67 Other Kinds of Bagels Some of the companies that fail to make genuine New York bagels do so because they have decided to make different kind of bagels; these include Royal Bagels that makes Montréal bagels, a different kind of bagel with its own fans. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 68 Breads with Holes Others that fail to make genuine New York bagels do so because they simply decided that the boiling is unnecessary; they do not get the proper surface yield or interior moisture content. These are non-bagels, breads-with-a-hole. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 69 Steamed! Others, e.g., Einstein’s, The Great Canadian Bagel, McDonald’s and Tim Horton’s (if the words of clerks working there can be believed) have tried steaming in place of boiling. It almost works, but the surface yield is not high enough and the interior moisture content is too high. These are buns-with-a-hole. Note the headline that appeared after McDonald’s introduced its steamed bagels: 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 70 Steamed, Cont’d “McDonald’s bagels are steamed; so are purists” (San Jose Mercury News, Sunday, April 25, 1999). Among the steamed purists was none other than Eli Zabar of New York’s famous Zabar’s Delicatessen, one of the prime sources of genuine New York bagels along with H&H! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 71 Bagel House Slogan The slogan of the Bagel House in Sydney, NSW, Australia, says it all: “If it’s not boiled it’s not a bagel” 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 72 Trying to Optimize These attempts to steam are clearly examples of trying to find a cheaper way to achieve the What than the standard How. However, to date, no algorithm other than the standard How has succeeded to achieve the desired What. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 74 How is Better than What Here is an example in which a How specification may be better than a What specification. It is certainly simpler in the sense that it is easier to tell what needs to be done. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 75 Discouraging Innovation However, in opting for this How specification, one is discouraging innovation. However, in the case of the NY bagel, perhaps innovation should be discouraged! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 76 Test Specification The third method of specifying, called the Test method, is to use an acceptance test. For bagels the standard test for bagelhood is: “A genuine New York bagel can be used by a baby for teething for at least 10 minutes without its disintegrating into a ball of mush.” 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 77 Validity of Test All the bagels that fail the surface yield and interior moisture content specification fail this test. All the bagels, including the steamed ones, made without boiling fail this test. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 78 More Test Specifations Another test is that chewing a genuine New York bagel expends as many calories as are ingested by eating the bagel. Still another test is that only a genuine New York bagel stands up to and does not get squished by the Bagel Biter bagel cutting guillotine. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 79 Still More Test Specs Still another test is that if you bite down on a sandwich made with a genuine New York bagel, the filling squishes out. With a steamed bagel, the sandwich filling does not squish out; thus, a steamed bagel makes a GREAT bun! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 80 Similarity of What and Test Specs A Test specification is closer to a What specification in the sense that it allows any implementation that achieves the test. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 81 Conclusions Sometimes, a How specification is significantly clearer or briefer than a What specification. Sometimes, a How specification is needed for information that is not in a What specification. It is really difficult to figure out that bagels have to be boiled from the blueprint. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 82 Use How if Appropriate So, when it is appropriate to use a How specification, do so without guilt and in good health! 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 83 Acknowledgments Thanks to Jo Atlee, Nancy Day, Martin Feather, Mike Godfrey, Leah Goldin, Michael Jackson, and Don Knuth for ideas, discussions, and comments. 2007 Daniel M. Berry Requirements Engineering What, Not How? Pg. 84
© Copyright 2026 Paperzz