<?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>Sun, 26 Feb 2012 15:00:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Requirements Management Journey &#8211; Part 0</title>
		<link>http://tynerblain.com/blog/2011/05/24/requirements-management-0/</link>
		<comments>http://tynerblain.com/blog/2011/05/24/requirements-management-0/#comments</comments>
		<pubDate>Wed, 25 May 2011 00:09:02 +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[Product Strategy]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements management software]]></category>
		<category><![CDATA[confluence]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[managing requirements]]></category>
		<category><![CDATA[requirements management]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1482</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F05%2F24%2Frequirements-management-0%2F", "shorturl": "http://bit.ly/mfAklo", "style": "big", "title": "Requirements Management Journey - Part 0" }); Requirements Management &#8211; I&#8217;m embarking on a journey to help several teams manage their requirements with their existing systems and tools.  This is the first in a series of articles, where the rubber meets the road.  I&#8217;ll look at both [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F05%252F24%252Frequirements-management-0%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FmfAklo%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Requirements%20Management%20Journey%20-%20Part%200%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F05%2F24%2Frequirements-management-0%2F", "shorturl": "http://bit.ly/mfAklo", "style": "big", "title": "Requirements Management Journey - Part 0" });</script></div>
<p><img class="alignnone" title="Roadmap" src="http://sehlhorst.smugmug.com/Other/blog/i-NB6K49F/0/O/map-and-compass.jpg" alt="" width="250" height="167" /></p>
<p>Requirements Management &#8211; I&#8217;m embarking on a journey to help several teams manage their requirements with their existing systems and tools.  This is the first in a series of articles, where the rubber meets the road.  I&#8217;ll look at both the theory and the realities of what works (and doesn&#8217;t) in practice.  I hope you&#8217;ll come along for the ride.<br />
<span id="more-1482"></span></p>
<h2>The Idea That Makes it Tricky To Manage Requirements</h2>
<p>OK, so I&#8217;m working with a product management team that is working with multiple software development teams.  The development teams already have tools and systems in place for tracking work within projects.  The development teams are mostly using Atlassian&#8217;s JIRA for tracking activity.  The teams also have Atlassian&#8217;s Confluence wiki for capturing &#8220;other stuff.&#8221;</p>
<p>The development team has a good working process for managing their delivery activities within the &#8220;JIRA world.&#8221;  From the top down view, you find a project (in JIRA) that represents what will be delivered in a particular release.  Within that project, you see the issues (or user stories or requirements) and associated tasks that were previously scheduled for that release.</p>
<p>This is pretty effective for getting a handle on <em>what&#8217;s happening</em>.  Where it falls short is in getting a comprehensive understanding of <em>why it is happening</em>.  And that&#8217;s the view product managers need.</p>
<p><em>Why</em> something needs to happen is completely different from <em>when</em> something needs to happen.  That&#8217;s what makes this tricky.  Consider the following analogy.</p>
<p style="padding-left: 30px;">You&#8217;re driving across the country from Los Angeles (LA) to Manhattan (NYC).  Your goal is to get to Manhattan.  Your product manager creates a map, breaking down, roughly, how you will get from LA to NYC.  Your product manager is riding shotgun in the car, and he&#8217;s responsible for telling the driver where to go.  Your developer is driving the car, and is responsible for getting the car wherever the product manager tells him.  They share the responsibility for getting to NYC &#8211; neither of them can do it alone.</p>
<p style="padding-left: 30px;"><img class="alignnone" title="Car Seat" src="http://sehlhorst.smugmug.com/Other/blog/i-knkZNPD/0/O/car-seat.jpg" alt="" width="250" height="187" /></p>
<p style="padding-left: 30px;">They climb in the car, and start driving.  When the developer has a question about a particular way to go (which highway to take, etc), they <em>communicate</em>.  Together, they make great progress.  After a while, the gas tank is empty, and they stop to fill up.  This is a logical break in the drive, and they stretch their legs, get some dinner, whatever.  With a full tank of gas, they get back in the car and start driving again.</p>
<p>Managing <em>requirements</em> inside the context of a release (in JIRA) is like saying every time you stop for gas (finish a release), you should create a new map.  The goal (destination) is independent of the release cycles (gas tanks).  The requirements should live outside the release.  However, the turn-by-turn information is useful inside the release.  The product manager needs to provide the next level of detail (first, get to Las Vegas, then stay at the Westin,&#8230;) for each &#8220;tank of gas&#8221; &#8211; after which, that information is not very valuable, and can be discarded.  But the goal (reach NYC) stays alive.</p>
<p>A process and system for managing requirements should not force product managers to recreate documentation for each release.  Your stakeholder (perhaps you&#8217;re delivering a donated kidney to a hospital) needs to know when you&#8217;re going to deliver the kidney.  The last place they should have to look for that information is within the context of the current project.</p>
<p>This is what makes it tricky.</p>
<h2>JIRA and Confluence</h2>
<p>This is not a series of articles around picking the best requirements management solution available today.  These articles will cover the exploration of using JIRA and Confluence to make (1) the product management teams more effective, and (2) the combined product delivery teams (management, marketing, development, quality) more effective.  We&#8217;re faced with a real-world constraint that we will use these tools that are already in place.</p>
<h2>Product Management Goals</h2>
<p>There are a series of goals that we have, that will inspire our implementation choices (of <em>how</em> we use Confluence and JIRA), and ultimately provide the measure of our success.</p>
<ul>
<li>We will not remove or regress things that are working today.  The implementation teams (development and test) are delivering products, and using JIRA to track issues and tasks.  Whatever we do must not <em>break</em> this current world.</li>
<li>As product managers, we are continually investing in, and updating, <a title="Customer-Centric Market Model" href="http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/">our understanding of our markets</a>.  We need a solution that allows us to record that information in a way that we can (a) share with each other effectively, (b) remember what we need to remember, (c) make changes as needed so that the view we have documented is always reflected of the understanding we have &#8220;in our heads.&#8221;</li>
<li>As a delivery team, we need to connect the two worlds (&#8220;what am I doing&#8221; and &#8220;why are you doing it&#8221;), so that the product managers can let the implementation team know what to do next (and what they will eventually be working on).</li>
<li>As a company, we need to set and manage expectations &#8211; internally to stakeholders and externally to customers and partners.</li>
</ul>
<p>These are the problems we&#8217;ll be tackling.</p>
<p>This series of articles will capture elements of implementation choices, why we made them, and the rationale &#8220;behind the whys.&#8221;</p>
<p>I hope you&#8217;ll come along for the ride.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Requirements+Management+Journey+%E2%80%93+Part+0+http%3A%2F%2Fbit.ly%2FmfAklo+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/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/2011/05/24/requirements-management-0/&amp;t=Requirements+Management+Journey+%E2%80%93+Part+0" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/05/24/requirements-management-0/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<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[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2007%2F10%2F29%2Fglossary-of-terms%2F", "style": "big", "title": "Glossary of Terms" }); 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 [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2007%252F10%252F29%252Fglossary-of-terms%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Glossary%20of%20Terms%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2007%2F10%2F29%2Fglossary-of-terms%2F", "style": "big", "title": "Glossary of Terms" });</script></div>
<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>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Glossary+of+Terms+http%3A%2F%2Fbit.ly%2FfkrH1j+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/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/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></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[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2007%2F07%2F10%2Frules-and-requirements-early-thoughts%2F", "style": "big", "title": "Business Rules And Requirements - Early Thoughts" }); 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 [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2007%252F07%252F10%252Frules-and-requirements-early-thoughts%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Business%20Rules%20And%20Requirements%20-%20Early%20Thoughts%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2007%2F07%2F10%2Frules-and-requirements-early-thoughts%2F", "style": "big", "title": "Business Rules And Requirements - Early Thoughts" });</script></div>
<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>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Business+Rules+And+Requirements+%E2%80%93+Early+Thoughts+http%3A%2F%2Fbit.ly%2FhpeNlP+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/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/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></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>

