<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Practical Data Architecture &#187; Data Modeling</title>
	<atom:link href="http://bruceworobec.wordpress.com/category/data-modeling/feed/" rel="self" type="application/rss+xml" />
	<link>http://bruceworobec.wordpress.com</link>
	<description>Random thoughts on data modeling and database design, by Bruce Worobec</description>
	<lastBuildDate>Wed, 13 Aug 2008 22:42:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bruceworobec.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/93a4de1800f640f2db999e277d6901fe?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Practical Data Architecture &#187; Data Modeling</title>
		<link>http://bruceworobec.wordpress.com</link>
	</image>
			<item>
		<title>Building a Data Warehouse Step-by-Step</title>
		<link>http://bruceworobec.wordpress.com/2008/08/13/building-a-data-warehouse-step-by-step/</link>
		<comments>http://bruceworobec.wordpress.com/2008/08/13/building-a-data-warehouse-step-by-step/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 19:57:50 +0000</pubDate>
		<dc:creator>Bruce Worobec</dc:creator>
				<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Data Warehouse]]></category>

		<guid isPermaLink="false">http://bruceworobec.wordpress.com/?p=42</guid>
		<description><![CDATA[If it were only that easy.  Yes, I will outline the steps necessary to build out a Data Warehouse.  But that is only part of the story.  Depending on your definition of failure, many, if not most Data Warehouse efforts do not make the grade.  Why is that?
 
I have boiled it down to two factors:  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=42&subd=bruceworobec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">If it were only that easy.<span>  </span>Yes, I will outline the steps necessary to build out a Data Warehouse.<span>  </span>But that is only part of the story.<span>  </span>Depending on your definition of failure, many, if not most Data Warehouse efforts do not make the grade.<span>  </span>Why is that?</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">I have boiled it down to two factors:<span>  </span>Organization Will and Organizational Maturity.<span>  </span>Absent either of the two, a Data Warehouse effort will likely not succeed.<span>  </span>Throughout the presentation of the steps I will intersperse checkpoints against these two factors.<span>  </span>If your organization cannot pass the checkpoints I would recommend against executing the steps.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">One popular alternative is to build independent Data Marts.<span>  </span>A key mantra in Data Warehousing is “a single source of the truth.”<span>  </span>The independent Data Mart efforts will each come to their own conclusion of what is a Product, or what is a Customer is?<span>  </span>“My Mart says we have 1258 Customers.”<span>  </span>Well, my Mart says we have 1301 Customers.”<span>  </span>Who is right?<span>  </span>Who knows?<span>  </span>Factor in the time spent attempting to correlate results across two or more of these independently built Marts and the sum of the ROI of the individual efforts will be eroded, if not turned negative.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">If you are not sufficiently discouraged, here are the steps to build an integrated Data Warehouse:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">Build an Enterprise Conceptual Data Model</span></span></li>
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">Identify potential Facts and Dimensions</span></span></li>
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">Initiate a Data Stewardship Program</span></span></li>
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">Determine an iterative implementation plan for Facts and Dimensions</span></span></li>
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">For each iteration:</span></span></li>
</ol>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.75in;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">        </span></span></span><span style="font-family:Arial;"><span style="font-size:small;">Identify data sources for each Fact and Dimension</span></span></p>
<p class="MsoNormal" style="text-indent:-0.25in;margin:0 0 0 0.75in;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">        </span></span></span><span style="font-family:Arial;"><span style="font-size:small;">Develop ETL to populate the Facts and Dimensions</span></span></p>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><span style="font-family:Arial;"><span style="font-size:small;">Develop a meaningful set of reports, cubes and dashboards based on the data available under a coordinated Business Intelligence (BI) program</span></span></li>
</ol>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Let’s take a look at each step in more detail.<span>  </span>Rather than reinventing the wheel here, I have included inline links to relevant articles.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">Build an Enterprise <span style="color:#993366;"><a href="http://en.wikipedia.org/wiki/Conceptual_schema"><span style="color:#993366;">Conceptual Data Model</span></a></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Many practitioners recommend against this step.<span>  </span>I think this comes from past experiences where typical Data Architects have tried to develop too perfect a model.<span>  </span>A comprehensive model takes too long and frustrates the business experts participating in the exercise.<span>  </span>A quick but skillfully-executed modeling exercise will galvanize the executive team behind the warehouse effort and will save rework and false steps down the road.<span>  </span>Give me a half dozen key executives and a similar number of operational experts from across the business willing to sit through 4 or 5 facilitated sessions spread out over a few weeks, with each session lasting 3-4 hours, and I will produce a conceptual mode sufficient to guide a data Warehouse deployment.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Checkpoint—Organizational Maturity:<span>  </span>Are the key players identified for the modeling exercise able to step out of their individual roles and agree on the data entities, definitions, and key performance indicators necessary for the future needs of the enterprise?<span>  </span>Even if it means recognizing current operational data and process shortcomings in their area of responsibility?<span>  </span>If the answer is no then there are bigger problems than not having a Data Warehouse that need to be fixed first.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Checkpoint—Organizational Will:<span>  </span>Yes, I am asking for a chunk of time from the key players in an organization, not to mention the scheduling nightmares.<span>  </span>The sessions are best done offsite to minimize distractions and do leave your Crackberry at the door.<span>  </span>The CEO typically needs to step in and ensure this is among everyone’s top priorities.<span>  </span>Can’t make it happen—forget about an integrated Warehouse that meets expectations.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">Identify potential <span style="color:#993366;"><a href="http://en.wikipedia.org/wiki/Star_schema"><span style="color:#993366;">Facts and Dimensions</span></a></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">With the Conceptual Data Model in hand, the key Facts and Dimensions needed in the warehouse will jump off the page.<span>  </span>Common entities with relationships across the model, such as Customer or Product are obvious Dimensions.<span>  </span>And look for transactional entities like Order Line Item or Support Incident and you will find key Facts.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">Initiate a <span style="color:#993366;"><a href="http://www.intelligententerprise.com/showArticle.jhtml?articleID=188101650"><span style="color:#993366;">Data Stewardship</span></a></span> Program</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Checkpoint—Organizational Will and Maturity:<span>  </span>Data Stewardship is not easy.<span>  </span>It foists responsibility on functional areas of the business and insists on rigorous processes at the point when new data is created.<span>  </span>If anyone can create a new Product, or Customer, or Geography, based on their own definition, then no Warehouse could ever consistently count or aggregate based on these entities.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">One of the often-cited reasons for building a Data Warehouse is consistency.<span>  </span>Consistency in a Warehouse requires <span style="color:#993366;"><a href="http://data-warehouses.net/glossary/conformeddimensions.html"><span style="color:#993366;">Conformed Dimensions</span></a></span> and Facts.<span>  </span>Without Data Stewardship, there is little chance of implementing Conformed Dimensions or Facts.<span>  </span>And without Conformed Dimensions and Facts, there is no chance of ever getting to a single source of the truth.<span>  </span>Does this sound important?<span>  </span>It is essential.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">A side note:<span>  </span>Earlier I mentioned an alternative approach of building a series of independent Data Marts that was ripe for inconsistency.<span>  </span>Some practitioners suggest that the independent Data Marts can be built with Conformed Dimensions and Facts.<span>  </span>While that does solve the consistency problem, I find it a semantic curiosity.<span>  </span>What is a Data Warehouse if not simply a series of Data Marts implemented with Conformed Dimensions and Facts?<span>  </span>If you feel compelled to set me straight—please don’t.<span>  </span>You’re the same guy or gal that wants to build Conceptual Data Models that are too complex.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">Determine an iterative implementation plan for Facts and Dimensions</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">There is no “Chicken or the Egg” question in Data Warehousing.<span>  </span>First you bring in the data, and then you can produce reports.<span>  </span>As each report is produced, you will learn more about the data.<span>  </span>This learning may influence what data to bring in next or cause you to take another look at data already in the Warehouse—it is an evolution.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">If I try to bring in all possible data all at once it will take a long time until I see my first report.<span>  </span>And that first report may uncover that my understanding of the source data was flawed.<span>  </span>If I bring in data a little at a time I will produce some really uninteresting reports.<span>  </span>Either way, I risk losing critical momentum.<span>  </span>The answer is to carefully plan a series of iterations where each remains manageable but yet still delivers some incremental value to the business.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">File this under not biting of more than you can chew without biting off so little that you go hungry.<span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">For each iteration:<span>  </span>Identify data sources for each Fact and Dimension</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Sometimes called Source System Analysis or Source-to-Target Mapping, this is where you figure out where to go and get the data needed to populate the Warehouse.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">For each iteration:<span>  </span>Develop ETL to populate the Facts and Dimensions</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">This is where you write the code that grabs the data from its source and populate the Warehouse.<span>  </span>During design and development the analysts involved are going to have questions—lots of questions.<span>  </span>The answers they get need to be consistent with the definitions in the Conceptual Data Model and content and quality guidelines being developed by the Data Stewards.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Checkpoint—Organizational Will and Maturity:<span>  </span>Subject matter experts from the business will get tired of answering questions.<span>  </span>They will have to help untangle anomalies in transactional data they never imagined existed.<span>  </span>Sometimes the best solution will be to fix the transactional data.<span>  </span>Other times, a decision will need to be made that accuracy at the margin will be sacrificed.<span>  </span>Is the business willing to partner in the analysis and accept the limitations necessary for a Warehouse?</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Another side note:<span>  </span>The series of Data Marts approach is unlikely to optimize ETL.<span>  </span>Each time I write ETL code for a new Data Mart I may be going back to the same source data needed in an earlier Mart.<span>  </span>This new code may implement slightly different rules or logic.<span>  </span>A design principle for a planned Data Warehouse would be to go to each source system once with a single stream of ETL, thereby improving processing efficiency and eliminating the potential for logic inconsistencies.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Arial;"><span style="font-size:small;">Develop a meaningful set of reports, cubes and dashboards based on the data available under a coordinated Business Intelligence (BI) program</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">For the first couple of iterations these initial deliverables will usually not be that impressive.<span>  </span>Interesting reporting results require bringing data from multiple sources together.<span>  </span>It may take several development iterations to build the critical mass of data necessary to answer the really good questions</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Checkpoint—Organizational Will:<span>  </span>Depending on the quality and quantity of development resources available for each iteration, building the Data Warehouse will take time.<span>  </span>The first iteration will show some ROI, but would be tough to justify on its own. <span> </span>This is especially true if you add on the up front modeling exercise.<span>  </span>Will the organization be willing to fund the ongoing Warehouse effort as building a long-term asset?<span>  </span>Or will the effort be treated like an expensed project subject to continual justification and possible termination?</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Yeah. Yeah. Yeah.<span>  </span>That is all well and good.<span>  </span>But when do I get my reports? </span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bruceworobec.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bruceworobec.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bruceworobec.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bruceworobec.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bruceworobec.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bruceworobec.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bruceworobec.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bruceworobec.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bruceworobec.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bruceworobec.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bruceworobec.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bruceworobec.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=42&subd=bruceworobec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bruceworobec.wordpress.com/2008/08/13/building-a-data-warehouse-step-by-step/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25946b844786a23cab191cf1550f7634?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Bruce</media:title>
		</media:content>
	</item>
		<item>
		<title>Email Marketing Modeling Session Results</title>
		<link>http://bruceworobec.wordpress.com/2008/08/12/email-marketing-modeling-session-results/</link>
		<comments>http://bruceworobec.wordpress.com/2008/08/12/email-marketing-modeling-session-results/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 21:56:50 +0000</pubDate>
		<dc:creator>Bruce Worobec</dc:creator>
				<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Real World Examples]]></category>
		<category><![CDATA[Email Marketing]]></category>

		<guid isPermaLink="false">http://bruceworobec.wordpress.com/?p=31</guid>
		<description><![CDATA[Here is a sample PowerPoint deck showing the typical results of about 8 hours of Business and Data Modeling sessions following my usual approach.
email-marketing-modeling-session-results
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=31&subd=bruceworobec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Here is a sample PowerPoint deck showing the typical results of about 8 hours of Business and Data Modeling sessions following my usual approach.</p>
<p><a href="http://bruceworobec.files.wordpress.com/2008/08/email-marketing-modeling-session-results.ppt">email-marketing-modeling-session-results</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bruceworobec.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bruceworobec.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bruceworobec.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bruceworobec.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bruceworobec.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bruceworobec.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bruceworobec.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bruceworobec.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bruceworobec.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bruceworobec.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bruceworobec.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bruceworobec.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=31&subd=bruceworobec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bruceworobec.wordpress.com/2008/08/12/email-marketing-modeling-session-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25946b844786a23cab191cf1550f7634?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Bruce</media:title>
		</media:content>
	</item>
		<item>
		<title>Case Study:  West Coast Bargain Books</title>
		<link>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/</link>
		<comments>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 18:49:48 +0000</pubDate>
		<dc:creator>Bruce Worobec</dc:creator>
				<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Database Design]]></category>
		<category><![CDATA[Real World Examples]]></category>

		<guid isPermaLink="false">http://bruceworobec.wordpress.com/?p=16</guid>
		<description><![CDATA[ Early in 2004, West Coast Bargain Books was looking for someone to upgrade a number of home grown MS Access databases to SQL Server to solve some performance issues.  They thought it would be about a two week effort.  While validating the scope of the project, it quickly became apparent that the performance issues were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=16&subd=bruceworobec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> <span style="font-size:9pt;font-family:Arial;">Early in 2004, West Coast Bargain Books was looking for someone to upgrade a number of home grown MS Access databases to SQL Server to solve some performance issues.<span>  </span>They thought it would be about a two week effort.<span>  </span>While validating the scope of the project, it quickly became apparent that the performance issues were related to more fundamental problems.<span>  </span>Since no data modeling had ever been done, the multiple Access databases were inconsistent and suffered from major design flaws.<span>  </span>The recommendation was to not upgrade the existing system to SQL Server since few of the current problems would be solved.</span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:Arial;">Faced with a flawed system and no upgrade path, they asked what they could do.<span>  </span>The philosophy of Worobec Consulting has always been to buy something off the shelf if it meets your needs.<span>  </span>If no system exists in the marketplace and significant competitive advantage can be gained by building a customized solution, then go for it.<span>  </span>In either case, build or buy, you need a couple of high-level models to help make the right decisions early in the project.</span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:Arial;">We conducted a two-day facilitated session to product a Business Function Model (BFM) and a Conceptual Data Model (CDM).<span>  </span>These two models are necessary whether you are building or buying.<span>  </span>If buying, the BFM can serve as a functional checklist to evaluate potential systems and the CDM can be compared to the database design to determine whether all data identified in the modeling session is supported.<span>  </span>If building, the two models help to define scope and form the basis of the conceptual design.<span>  </span>The two models produced during the session are shown below.</span></p>
<p class="MsoTitle" style="text-align:center;"><span style="font-weight:bold;font-size:14pt;font-family:Arial;">Business Function Model</span></p>
<p class="MsoTitle" style="text-align:center;"><span style="font-weight:bold;font-size:12pt;font-family:Arial;">Main Function:<span>  </span>Buy and Sell Books and Related Media Products</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Buy books</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Find vendor</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Determine books to carry</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Evaluate / negotiate a deal</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Place a purchase order</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Arrange shipping</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Receive books</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Create space / location</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Sort books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Locate books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Record physical attributes (remainder mark, condition, etc)</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Offer books for sale</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Allocate books to a channel (reserved or not)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Price books (subjective or calculated)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Generate list / sample / show</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Receive an order</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Record</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">Who</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">What</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">Where to send</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">How to send</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">When to send</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Meet customer needs</span><span style="font-weight:bold;font-size:9pt;font-family:Arial;"> </span><span style="font-size:9pt;font-family:Arial;">(no peanuts, sticker books etc)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Approve credit / payment</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Fulfill an order</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Generate pull sheet</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Pull books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Prep books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Pack books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Determine freight requirements</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Finalize invoice</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Collect payment</span></h1>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Process returns and claims</span></h1>
<p class="MsoNormal" style="text-align:center;"><span style="font-size:large;font-family:Arial;"><strong>Conceptual Data Model</strong></span></p>
<p class="MsoNormal"><span style="font-family:Arial;"><a href="http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/wcbb/">http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/wcbb/</a></span></p>
<p class="MsoNormal"><span style="font-family:Arial;">Armed with the results of the modeling session,<span>  </span>WCBB went of to search the marketplace for<span>  </span>a suitable system.<span>  </span>The systems they found either did not fully meet their needs or were too expensive.<span>  </span>After much debate the decision was to build a custom solution.<span>  </span>SQL Server was chosen as the database and Access was chosen as the front end to leverage the expertise they had in house.<span>  </span>The system went live in January, 2006.<span>  </span>The finished system took approximately 600 hours of Worobec Consulting time and probably twice that number of hours spent by their internal resources.<span>  </span>An additional project objective was to train their staff to perform ongoing support and database administration of the system.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bruceworobec.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bruceworobec.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bruceworobec.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=16&subd=bruceworobec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25946b844786a23cab191cf1550f7634?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Bruce</media:title>
		</media:content>
	</item>
	</channel>
</rss>