<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tyner Blain &#187; Data management</title>
	<atom:link href="http://tynerblain.com/blog/category/data-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://tynerblain.com/blog</link>
	<description>Software product success.</description>
	<lastBuildDate>Wed, 17 Mar 2010 04:31:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Glossary of Terms</title>
		<link>http://tynerblain.com/blog/2007/10/29/glossary-of-terms/</link>
		<comments>http://tynerblain.com/blog/2007/10/29/glossary-of-terms/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 04:12:04 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Business Rules]]></category>
		<category><![CDATA[Data management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[ambiguity]]></category>
		<category><![CDATA[ambiguos]]></category>
		<category><![CDATA[ambiguous]]></category>
		<category><![CDATA[business requirements]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[glossary of terms]]></category>
		<category><![CDATA[managing data]]></category>
		<category><![CDATA[unambiguos]]></category>
		<category><![CDATA[unambiguous]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/2007/10/29/glossary-of-terms/</guid>
		<description><![CDATA[
Some books on how to write and manage requirements mention using a glossary.  Most books on requirements don&#8217;t go into enough detail about either the importance of a glossary of terms, or the precise use of the glossary of terms.  Or if they do, they under-emphasize the benefits of a well-defined glossary of [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="glossary of terms" title="glossary of terms" src="http://sehlhorst.smugmug.com/photos/214815723-XL.jpg" /><br />
Some books on how to write and manage requirements mention using a glossary.  Most books on requirements don&#8217;t go into enough detail about either the importance of a glossary <em>of terms</em>, or the precise use of the glossary of terms.  Or if they do, they under-emphasize the benefits of a well-defined glossary of terms.  Walking a day in the moccasins of a business rules analyst helps us all appreciate the importance of a well-managed glossary of terms.</p>
<p><span id="more-589"></span></p>
<h2>Glossary <em>of Terms</em></h2>
<p>When I was first introduced to the notion of a glossary as a requirements analyst, it was explained to me at a very superficial level.  To paraphrase &#8211; the glossary holds the definitions of the terms that people on the project might not understand.  The intent was simply to provide a <em>dictionary</em> function &#8211; a place to look up the domain-specific and esoteric terms that developers or testers would find in the requirements.  An easy way for people to know what the requirement is talking about.</p>
<p>A <u>glossary of terms</u> is much more than that.</p>
<p>A glossary of terms is a tool that provides the following benefits:</p>
<ul>
<li>Explicitly defines the <em>nouns</em> that are referenced in the requirements.</li>
<li>Eliminates one of the many sources of ambiguity in the requirements.</li>
<li>Is the foundation for other key requirements artifacts, especially a fact model.*</li>
</ul>
<p>*A fact model will be the subject of one or more future articles, but for now, think of it as a model that defines the language used to express the relationships between business objects (nouns), as they are defined in the requirements.</p>
<p>It is worth noting that the glossary of terms and the fact model are critical to writing unambiguous rules &#8211; and after reading this article, if you aren&#8217;t convinced that they are critical to writing <a title="Writing unambiguous requirements is critical" href="http://tynerblain.com/blog/2006/06/12/writing-unambiguous-requirements/">unambiguous requirements</a>, then comment below.</p>
<h2>Unenlightened Definitions</h2>
<p>After attending the 10th International Business Rules Forum last week, I felt like I had been hit over the head with the &#8220;well, duh!&#8221; club.  I <em>knew</em> what a glossary was, and how and why to use it.  I never thought it was a big deal &#8211; so I never wrote about it.  Now I <em>know</em> what I already should have appreciated about how important a glossary is to writing good requirements.  I wrote the heading for this section, anticipating a review of some of my favorite requirements books &#8211; to see how they deal with glossaries.  The treatments must not have been as insightful, or how could I have been so unappreciative for so long?</p>
<ol>
<li><a title="managing software requirements" href="http://www.amazon.com/dp/032112247X?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=032112247X&#038;creative=373489&#038;camp=211189"><em>Managing Software Requirements, Second Edition</em></a>.  There is no mention at all of having a glossary of terms in this otherwise good book.  And they even have an entire chapter dedicated to removing ambiguity from requirements!</li>
<li><a title="Requirements by Collaboration" href="http://www.amazon.com/dp/0201786060?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=0201786060&#038;creative=373489&#038;camp=211189"><em>Requirements by Collaboration</em></a>.  The best book on JAD sessions.  This book has a good definition &#8211; &#8220;These terms serve as the foundation for all requirements models and business rules; the goal of the glossary is to provide a common vocabulary on which all of the stakeholders can agree.&#8221;  However, this introduction has only two short paragraphs explaining what a glossary of terms is &#8211; not addressing how important it is.  There is a good idea for running requirements sessions &#8211; to assign a <em>glossary guardian</em> during a session to record any business terms that crop up during the session.</li>
<li><a title="More about software requirements" href="http://www.amazon.com/dp/0735622671?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=0735622671&#038;creative=373489&#038;camp=211189"><em>More About Software Requirements</em></a>.  No mention.</li>
<li><a title="Patterns for Effective Use Cases" href="http://www.amazon.com/dp/0201721848?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=0201721848&#038;creative=373489&#038;camp=211189"><em>Patterns for Effective Use Cases</em></a>.  No mention.</li>
<li><a title="Writing Effective Use Cases" href="http://www.amazon.com/dp/0201702258?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=0201702258&#038;creative=373489&#038;camp=211189"><em>Writing Effective Use Cases</em></a>.  No mention.</li>
<li><a title="Software Requirements, 2nd Edition" href="http://www.amazon.com/dp/0735618798?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=0735618798&#038;creative=373489&#038;camp=211189"><em>Software Requirements, 2nd Edition</em></a>.  Ends a sentence in a paragraph on unambiguous requirements with &#8220;Define all specialized terms and terms that might confuse readers in a glossary.&#8221;</li>
</ol>
<p>OK, enough bashing of my favorite books on requirements management (and they are my favorites).  The point is, the glossary of terms is getting short shrift in the larger requirements community.  Where other larger and smaller ideas get entire books, the glossary of terms hardly gets mentioned.  If your favorite book isn&#8217;t on this list, chime in and let us know how it treats glossaries.</p>
<h2>Glossary Gets Its Due</h2>
<p><a title="Business Rules Concepts by Ron Ross" href="http://www.amazon.com/dp/094104906X?tag=tbrb-20&#038;link_code=as3&#038;creativeASIN=094104906X&#038;creative=373489&#038;camp=211189"><em>Business Rules Concepts</em></a>, by Ron Ross, however, puts more emphasis on the glossary of terms.  Ron starts by making a point of specifically defining the glossary as a glossary <em>of terms</em> &#8211; and provides this definition of &#8220;term&#8221; (via Merriam-Webster&#8217;s Unabridged Dictionary, 2000):</p>
<blockquote><p>Term: <em>a word or expression that has a precisely limited meaning in some uses or is peculiar to a science, art, profession, trade, or or special subject</em>.</p></blockquote>
<p>Ron goes on to spend a few pages emphasizing the importance of the glossary of terms, both on its own, and as the foundation for other artifacts that are critical to managing business rules.  As we&#8217;ll see in future articles, some of these techniques will prove invaluable in managing requirements too.</p>
<h2>Glossary of Terms</h2>
<p>A glossary of terms, using the definition of <em>term</em> that Ron provides, is simply put, a list of all of the terms that represent specific <em>nouns</em> in the domain in which we are writing rules (or requirements).  These are the subjects and objects of rules and requirements.  They expressly represent relevant business concepts.  Terms, by Ron&#8217;s definition, are always nouns.  We&#8217;ll stick with that.</p>
<p>Every business term, however <em>apparently obvious</em>, should be considered.  In two separate sessions at the IBRF conference by Ron and an employee of Ron&#8217;s company, Kristen Seer, <a title="business rule solutions" href="http://www.brsolutions.com/">Business Rule Solutions</a>, we were exposed to some &#8220;obvious&#8221; terms that proved to be ambiguous.  Here are a couple, plus some of our own.</p>
<ul>
<li>In baseball, what is the definition of &#8220;<strong>ball</strong>&#8220;?  Is it a non-strike?  A round object hurled by a pitcher?  The game itself (&#8220;Play Ball!&#8221;)?  Ron is famous for his baseball-rules examples.</li>
<li>For an electric utility company, what is &#8220;<strong>load</strong>&#8220;?  Is it the total power demand of all devices on the network?  Is it the power demand of a single device on the network?  Is it the minimum or average power demand over a period of time?</li>
<li>Is a &#8220;<strong>customer</strong>&#8221; someone who <em>might purchase </em>products from us (e.g. someone to whom we market)?  Or is a customer someone who has purchased in the past?  Or is in the process of purchasing?</li>
<li>Is &#8220;<strong>profit</strong>&#8221; measured net or gross?  Is margin a dollar amount or a percentage?  Contribution or total?</li>
<li>Is &#8220;<strong>enrollment</strong>&#8221; what a student does for a class, or the count of all enrolled students?</li>
</ul>
<p>The point is this:</p>
<blockquote><p>Glossaries should include not only the esoteric terms, but especially should include the common and obvious terms that are subject to interpretation.</p></blockquote>
<p>Imagine exploring the centralization (or possibly federation) of existing global, decentralized processes.  Among other things, you are looking at the processing of sales transactions.  And you are dealing with shopping carts, quotes, orders, and purchase orders.  These different terms mean different things to different people &#8211; even within a single geography.  And they evoke not only passionate opinions, but the interpretations (and misinterpretations) of these terms may have <em>very</em> sweeping impact on some high level decision making &#8211; beyond what they reasonably should.  <strong>Do you want a glossary of terms now?</strong></p>
<p>These terms, when undefined, introduce ambiguity into your requirements.  You need to define them, and gain a consensus on the definitions.  And you should reference all of the artifacts (use cases, requirements, etc) that use the terms (or reference all of the terms used in an artifact).</p>
<p>You can maintain a glossary of terms within your repository, in an excel file, a wiki, a word doc, or even a sharepoint list.  The way your team interacts with these terms will dictate which mechanism is best.  If you are managing requirements (or rules) in a repository, then a repository will probably be the best place to maintain the list &#8211; as it should simplify (or automate) the traceability between artifacts that reference the terms and the terms themselves.</p>
<h2>Conclusion</h2>
<p>The guidance we generally hear, to include terms that &#8220;might confuse someone&#8221; is right.  It is also under-emphasized.  Who would expect &#8220;customer&#8221; and &#8220;quote&#8221; and &#8220;margin&#8221; to <em>confuse</em> someone?  If two people assume different definitions for those terms when reading your requirements, then at least one of them will be confused.</p>
<p>Don&#8217;t underestimate the potential benefits of maintaining a glossary of terms as a key component of your requirements development.  Future articles here will present ideas that leverage the glossary of terms, and existing artifacts will get benefits immediately from the reduction in ambiguity.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Glossary+of+Terms+http://bit.ly/pAGxJ+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2007/10/29/glossary-of-terms/&amp;t=Glossary+of+Terms" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2007/10/29/glossary-of-terms/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Business Rules And Requirements &#8211; Early Thoughts</title>
		<link>http://tynerblain.com/blog/2007/07/10/rules-and-requirements-early-thoughts/</link>
		<comments>http://tynerblain.com/blog/2007/07/10/rules-and-requirements-early-thoughts/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 03:28:54 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Data management]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements gathering]]></category>
		<category><![CDATA[business requirements]]></category>
		<category><![CDATA[Business Rules]]></category>
		<category><![CDATA[decision management]]></category>
		<category><![CDATA[managing data]]></category>
		<category><![CDATA[requirements management]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[uml statecharts]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/2007/07/10/rules-and-requirements-early-thoughts/</guid>
		<description><![CDATA[
We had a great interview with James Taylor a couple weeks ago, where we talked about his new book, Smart (Enough) Systems, co-authored with Neil Raden.
James is an expert on decision management systems.  I spent the late 1990s working on &#8220;rules-centric&#8221; software systems that allowed us to isolate rules and manage them seperately from [...]]]></description>
			<content:encoded><![CDATA[<p><img title="kissing" src="http://sehlhorst.smugmug.com/photos/171764488-M.jpg" alt="kissing" /></p>
<p>We had a <a title="james taylor interview" href="http://tynerblain.com/blog/2007/06/25/smart-enough-systems/">great interview with James Taylor</a> a couple weeks ago, where we talked about his new book, <em>Smart (Enough) Systems</em>, co-authored with Neil Raden.</p>
<p>James is an expert on decision management systems.  I spent the late 1990s working on &#8220;rules-centric&#8221; software systems that allowed us to isolate <em>rules</em> and manage them seperately from other software requirements.</p>
<p>Traditional structured requirements approaches focus on the gathering and management of software requirements, but they gloss over the gathering and management of business rules.</p>
<p>James and I are exploring the best ways to bring these two points of view together.</p>
<p><span id="more-536"></span></p>
<p>As part of this study, one of the first things we can do is describe the areas of overlap, or rather, how the two worlds (business rules and requirements) interact.  From a requirements-centric perspective, one place business rules live is within the decisions that we discover when gathering requirements.</p>
<h2>Decisions</h2>
<p><a title="use cases and process flows" href="http://tynerblain.com/blog/2007/03/19/use-case-vs-process-flow-1/">Use cases and process flows involve decisions</a>.  In use cases, these are often represented as alternate flows and exceptions.  In process flows, they are represented with the familiar diamond shaped box.  Conceptually, there are one or more rules that combine to make a decision.  And in requirements documents, you often see convoluted language, well-organized tables, or other representations of those rules.</p>
<p>These documents <em>embed</em> the rules within the requirements.  And that leads to the rules being validated, verified, implemented, and tested within the greater context of the requirements.</p>
<p>Another example of decisions can be seen easily when using <a title="state transition diagrams" href="http://tynerblain.com/blog/2007/03/22/statecharts-and-business-rules/">UML statecharts</a>.  These <em>decisions</em> are somewhat implicit &#8211; as they are defined as the criteria for, or ability to change the state of business objects.  In other words, the <em>conditions</em> that allow change are in effect <em>decisions</em>.  While it may be harder to find them, these decisions can also be found in use cases.  But there are good arguments for using <a title="use case vs statechart" href="http://tynerblain.com/blog/2007/03/21/use-case-vs-statechart/">both use cases and UML statecharts</a> together.</p>
<h2>What&#8217;s The Problem?</h2>
<p>As James points out in his new book, one of the worst things you can do is embed the implementation of business rules within a software application.  So there&#8217;s a fundamental flaw in embedding business rules within requirements.</p>
<p>Requirements management approaches tend to either embed business rules within other artifacts.  At the same time, rules-management systems are optimized for the management of rules, with little focus on requirements.  Each approach is designed to solve a single problem, and neither sufficiently addresses the challenge of getting the best of both worlds.</p>
<h2>Moving Forward</h2>
<p>James and I will be exploring the issue of how best to bring these two worlds together over the next few months.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Business+Rules+And+Requirements+%E2%80%93+Early+Thoughts+http://bit.ly/4jKw1m+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2007/07/10/rules-and-requirements-early-thoughts/&amp;t=Business+Rules+And+Requirements+%E2%80%93+Early+Thoughts" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2007/07/10/rules-and-requirements-early-thoughts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
