Better Software - April 2009 - (Page 42) “Intentional vagueness is appropriate when developers know as many or more details than the customer or when neither developers nor customer knows details. Politicians and diplomats as well as creators of advertising and propaganda are intentionally vague for different reasons. Note that they do not mark their vagueness.” This applies to customers of new or modified software systems, as well. Some requirements will be vague due to a lack of knowledge. Customers hope that developers will provide details as to options and costs. To explicitly express this hope, mark vague requirements such that developers will understand that they are to provide alternative interpretations. Back to our marketing story: The product manager for a new blood analyzer specifies that the analysis cycle time must be reduced (vague). Let’s assume the current cycle time is 3.5 minutes and the competitor’s best is 3.1 minutes. The developers research the situation and respond that the average cycle time can be reduced as shown in table 2. When statements are intentionally vague, they should be marked. Any marker signifying intentional vagueness may be used. The marker (and any associated comments) invokes a social contract between the customer providing the vague requirement and the developers designing the product. The developers are expected to identify alternative interpretations and the cost of each. The alternatives then are provided to the customer, who makes a selection as to the precise meaning of the requirement. Intentional vagueness is appropriate when developers know as many or more details than the customer or when neither developers nor customer knows details. Politicians and diplomats as well as creators of advertising and propaganda are intentionally vague for different reasons. Note that they do not mark their vagueness. Conclusion To promote greater awareness, a national safety organization provides bumper stickers saying: Start Seeing Motorcyclists. Similarly, this article encourages you to: Start Seeing Imprecision. Many believe that a fish is unaware of the water in which it swims. Because we are immersed in imprecise language, we need to work hard (perhaps aided by tools) to become aware. Whether plagued by vagueness or ambiguity, verification will improve when you find and fix imprecision. Repairing vagueness with rich definitions will catalyze critical conversations. In addition, customers should use intentional vagueness to trigger research that identifies cost-effective interpretations. {end} referenceS [1] Miller, George A. “Ambiguous Words.” KurzweilAI.net, 2001. www.kurzweilai.net/meme/ [6] Gelperin, David. “Just Enough Precision,” Webinar Q and A. ClearSpecs Enterprises Technical papers. www.ClearSpecs.com [7] “Defining Business Rules—What Are They Really?” The Business Rules Group, July 2000. businessrulesgroup.org/first_paper/BRG- whatisBR_3ed.pdf [8] Gelperin, David. “Specifying Consequences with Action Contracts.” ClearSpecs Enterprises Technical Papers. www.ClearSpecs.com [9] Meyer, Bertrand. “Building Bug-free O-O Software: An Introduction to Design by Contract.” archive.eiffel.com/doc/manuals/technology/ contract/page.html [10] Meyer, Bertrand. “Applying Design by Contract.” IEEE Computer, Vol. 25 No. 10, October 1992, pp. 40-51. [11] Gilb, Tom. Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. Butterworth-Heinemann, 2005. [12] Gilb, Tom. “Advanced Requirements Specification: Quantifying the Qualitative.” citeseer.ist. frame.html?main=/articles/art0186.html [2] “Introduction to Vagueness and Ambiguity.” San Jose State University Institute for Teaching and Learning. www.sjsu.edu/depts/itl/graphics/ psu.edu/332850.html [13] Simmons, Eric. “Quantifying Quality Requirements using Planguage.” ClearSpecs Enterprises Technical Papers. www.ClearSpecs.com [14] State of the Practice Survey. ClearSpecs Enterprises. www.ClearSpecs.com [15] Jackendoff, Ray. The Architecture of the Language Faculty. MIT Press, 1997. [16] Sag, Ivan A., Timothy Baldwin, Francis Bond, Ann Copestake, and Dan Flickinger. “Multiword Expressions: A Pain in the Neck for NLP.” Lecture Notes In Computer Science; Vol. 2276. Proceedings of the Third International Conference on Computational Linguistics and Intelligent Text Processing, Springer-Verlag, 2002. [17] Gelperin, David. TEKchecker User Guide. ClearSpecs Enterprises. www.ClearSpecs.com [18] Gelperin, David. StyleWriter & TEKchecker Video. ClearSpecs Enterprises. www.ClearSpecs.com vague/vague.html [3] Kamsties, Erik, Daniel M. Berry, and Barbara Paech. “Detecting Ambiguities in Requirements Documents Using Inspections.” Proceedings of the First Workshop on Inspection in Software Engineering, 2001. se.uwaterloo.ca/~dberry/ FTP_SITE/tech.reports/kamsties.berry.paech.pdf [4] Bender, Richard. “Improving Requirements Through Testing.” www.stickyminds.com/s. asp?F=S6854_ART_2 [5] Gelperin, David. “Let Me Be Perfectly Clear.” ClearSpecs Enterprises Technical Papers. www.ClearSpecs.com 42 BETTER SOFTWARE APRIL 2009 www.StickyMinds.com http://www.ClearSpecs.com http://www.businessrulesgroup.org/first_paper/BRG-whatisBR_3ed.pdf http://www.businessrulesgroup.org/first_paper/BRG-whatisBR_3ed.pdf http://www.ClearSpecs.com http://archive.eiffel.com/doc/manuals/technology/contract/page.html http://archive.eiffel.com/doc/manuals/technology/contract/page.html http://www.kurzweilai.net/meme/frame.html?main=/articles/art0186.html http://www.KurzweilAI.net http://citeseer.ist.psu.edu/332850.html http://www.kurzweilai.net/meme/frame.html?main=/articles/art0186.html http://citeseer.ist.psu.edu/332850.html http://www.sjsu.edu/depts/itl/graphics/vague/vague.html http://www.ClearSpecs.com http://www.sjsu.edu/depts/itl/graphics/vague/vague.html http://www.ClearSpecs.com http://se.uwaterloo.ca/~dberry/FTP_SITE/tech.reports/kamsties.berry.paech.pdf http://se.uwaterloo.ca/~dberry/FTP_SITE/tech.reports/kamsties.berry.paech.pdf http://www.stickyminds.com/s.asp?F=S6854_ART_2 http://www.stickyminds.com/s.asp?F=S6854_ART_2 http://www.ClearSpecs.com http://www.ClearSpecs.com http://www.ClearSpecs.com http://www.StickyMinds.com http://www.StickyMinds.com/powerpass http://www.StickyMinds.com
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.