<?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>cazh1 &#187; Requirements</title>
	<atom:link href="http://www.cazh1.com/category/science/requirements/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cazh1.com</link>
	<description>Inspiration, Art, Science, Execution</description>
	<lastBuildDate>Sun, 29 Jan 2012 19:08:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Market Driven Data Quality (Data Darwinism)</title>
		<link>http://www.cazh1.com/market-driven-data-quality-data-darwinism/</link>
		<comments>http://www.cazh1.com/market-driven-data-quality-data-darwinism/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 01:15:46 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Out of the Box]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[corporate information systems]]></category>
		<category><![CDATA[data management]]></category>
		<category><![CDATA[internal development]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[master data management]]></category>
		<category><![CDATA[PMO]]></category>
		<category><![CDATA[portfolio management]]></category>
		<category><![CDATA[software maintenance]]></category>
		<category><![CDATA[software testing]]></category>

		<guid isPermaLink="false">http://www.cazh1.com/?p=1263</guid>
		<description><![CDATA[Just trying a little contrarian thought this week &#8230; Have you ever noticed how much time and energy goes in to data validation? I think it stems from visual forms development and the wide variety of clever data entry controls that are available &#8211; everyone wants to write an app that gets the oooo, cool! [...]]]></description>
			<content:encoded><![CDATA[<p><em>Just trying a little contrarian thought this week &#8230;</em></p>
<p>Have you ever noticed how much time and energy goes in to data validation? I think it stems from visual forms development and the wide variety of clever data entry controls that are available &#8211; everyone wants to write an app that gets the <em>oooo, cool!</em> vote of approval. But how much of that energy spills over from value-added to feature creep?</p>
<div class="wp-caption alignright" style="width: 386px"><a href="http://www.cazh1.com/images/sourced/real_long_regex.png"><img class="alignright" src="/images/sourced/real_long_regex.png" alt="" width="376" height="331" /></a><p class="wp-caption-text">Regex complexity at its finest ...</p></div>
<p>When your IT peers are showing off their internally developed tools, or when internal departments put so much creativity into their departmental data collection apps, try stepping back for a moment and taking a look at the amount of development, documentation, training, and maintenance work that gets generated. These amazing, subtle, and visually compelling methods for gathering and validating data can become complex validation rules that try to guarantee that only pristine data is ever added to the list.</p>
<p>Is all of this really necessary? Is there real value-add to this approach? Often times the coding of validation rules is so complex that the code becomes fragile, and burdensome on future maintenance programmers. Another common problem &#8211; many specialized, departmental, and/or narrowly vertical applications have broad ranges of acceptable data &#8211; and the rules for permissible values need to be wildly flexible and adaptive.</p>
<p>But how about NOT validating the input? Why not let &#8220;market forces&#8221; take over?</p>
<p>I am talking about instances where people are trying to get data into a System That Makes Some Problem Visible &#8211; for example, a database of projects or technical resource requests that have to be prioritized, or financial data that has to successfully post into a centralized data collection / aggregation system.</p>
<p>It might be easier to just document the requirements for the data, and then let the best quality data survive &#8230;</p>
<p style="padding-left: 30px;"><em>For your Project / Resource Prioritization application, a project will not get added to the prioritization list until all the data is complete and correct. Even if it is complete, it helps to make the project description easy to understand, compelling, and business relevant &#8211; or else someone else will get the resources.</em></p>
<p style="padding-left: 30px;"><em>Your monthly data submission has to conform to these [data structure] rules. If it does not conform, it will be kicked out / flagged with errors. You are responsible for getting your data cleaned up and compliant with the specification, and your data submitted by [the deadline] &#8211; else your submission will be late.</em></p>
<p>Now, this does put pressure on us to document the data formats and requirements clearly &#8211; but this is probably faster and easier than creating a gallery of automated rule checkers to validate input. And, when the document is proven to be complete, correct, and sufficient (i.e. not too complex), it would make a pretty good spec for an automated data validation program.</p>
<p>Just a wacky idea &#8211; as system designers, we don&#8217;t have to control the world. Try making market forces work in your favor, just like content struggling for readership on the internet or new products looking for sales &#8230;</p>
<p><em>&#8230; may the cleanest data win!</em></p>
<p>thanks to <a href="http://www.ex-parrot.com/pdw/index.html">ex-parrot</a> for the <a href="http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html">regex from the illustration</a></p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2011. |
<a href="http://www.cazh1.com/market-driven-data-quality-data-darwinism/">Permalink</a> |
<a href="http://www.cazh1.com/market-driven-data-quality-data-darwinism/#comments">One comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/corporate-information-systems/" rel="tag">corporate information systems</a>, <a href="http://www.cazh1.com/tag/data-management/" rel="tag">data management</a>, <a href="http://www.cazh1.com/tag/internal-development/" rel="tag">internal development</a>, <a href="http://www.cazh1.com/tag/maintenance/" rel="tag">maintenance</a>, <a href="http://www.cazh1.com/tag/master-data-management/" rel="tag">master data management</a>, <a href="http://www.cazh1.com/tag/pmo/" rel="tag">PMO</a>, <a href="http://www.cazh1.com/tag/portfolio-management/" rel="tag">portfolio management</a>, <a href="http://www.cazh1.com/tag/requirements/" rel="tag">Requirements</a>, <a href="http://www.cazh1.com/tag/software-maintenance/" rel="tag">software maintenance</a>, <a href="http://www.cazh1.com/tag/software-testing/" rel="tag">software testing</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/market-driven-data-quality-data-darwinism/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Hierarchy of Information Requirements</title>
		<link>http://www.cazh1.com/a-hierarchy-of-information-requirements/</link>
		<comments>http://www.cazh1.com/a-hierarchy-of-information-requirements/#comments</comments>
		<pubDate>Mon, 10 May 2010 02:24:29 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://www.cazh1.com/?p=469</guid>
		<description><![CDATA[It's a common problem statement - 'I don't have enough information to  (run my business unit, manage this process, identify opportunities,  etc.)'. The solution designer, when faced with a question like this, starts with a little detective work; the problem is too broadly stated.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.cazh1.com/images/pd/587px-Ouroboros_1.jpg" alt="" width="294" height="300" /><br />
It&#8217;s a common problem statement &#8211; &#8216;I don&#8217;t have enough information to (run my business unit, manage this process, identify opportunities, etc.)&#8217;. The solution designer, when faced with a question like this, starts with a little detective work; the problem is too broadly stated.</p>
<p style="padding-left: 30px;"><span style="font-family: Courier New,Courier,mono;">&lt;aside&gt;</span> This part of the project is itself an example of the problem &#8211; &#8220;I  don&#8217;t have enough information to define the problem of &#8220;I don&#8217;t have  enough information to &#8230;&#8217; &#8220;<span style="font-family: Courier New,Courier,mono;">&lt;aside&gt;</span></p>
<p>And, after a little detective work, we will probably find one or more  of the following is correct:</p>
<ul>
<li>The information [to run my business] does not exist (KM, BB)</li>
<li>The information exists, but I do not know that it exists
<ul>
<li>I am unaware that it exists (KM)</li>
<li>I suspect it exists, but I do not know how to find it (KM)</li>
<li>I suspect it exists, but I cannot find it (KM, BB)</li>
</ul>
</li>
<li>The information exists, and I know that it exists, but I cannot  access it
<ul>
<li>I am prevented from access due to security requirements (BB)</li>
<li>I have no data access tool (BB)</li>
<li>I have a data access tool, but I do not know where the data source  is and how to connect to it (KM)</li>
</ul>
</li>
<li>The information exists, and I know that it exists, and I can access  it, but I don’t understand what I am looking at
<ul>
<li>I do not know how to use the data access tool (KM)</li>
<li>I know how to use the data access tool, but I do not understand the  domain / terms / concepts (KM, BB)</li>
<li>I know how to use the data access tool, I understand the domain, but  I do not understand the data structures (KM)</li>
<li>I know how to use the data access tool, I understand the domain, but  the metadata is confusing (KM, BB)</li>
</ul>
</li>
<li>The information exists, and I know that it exists, but I don’t want  to access it – I want my team to access it, and feed me the results
<ul>
<li>My team complains about issues above (?!?)</li>
<li>My team only answers my questions – they don’t do any proactive  analysis (KM)</li>
</ul>
</li>
</ul>
<p>A wide range of root causes, and as you read down the list, it&#8217;s easy  to imagine the range of solutions that could be brought to bear. I have  broadly classified solutions for these problems in the list:</p>
<ul>
<li>KM &#8211; <em>Knowledge Management</em>: Some level of <em>documentation</em>, <em>training</em>,  <em>knowledge capture</em>, and/or <em>knowledge sharing</em> will be involved</li>
<li>BB &#8211; <em>Build or Buy</em>: Includes any technical work, like <em>building</em> a custom solutions, <em>buying</em> and implementing packaged software, and/or <em> configuring</em> the software / information store.</li>
</ul>
<p>I find it interesting that KM is required in almost all  (10 of 13) of the solution cases above, and a &#8220;technology solution&#8221; (aka  I need to Build or Buy something) is required less than half of the  time (7 of 13). And how about that little People Management issue that sneaks in near the end &#8230;</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2010. |
<a href="http://www.cazh1.com/a-hierarchy-of-information-requirements/">Permalink</a> |
<a href="http://www.cazh1.com/a-hierarchy-of-information-requirements/#comments">One comment</a> |
<br/>
Post tags: <br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/a-hierarchy-of-information-requirements/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>News for Wombats: Taming Unreasonable Requirements</title>
		<link>http://www.cazh1.com/news-for-wombats-taming-unreasonable-requirements/</link>
		<comments>http://www.cazh1.com/news-for-wombats-taming-unreasonable-requirements/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 01:44:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[communicating complexity]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data management]]></category>
		<category><![CDATA[data warehousing]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[materials management]]></category>
		<category><![CDATA[procurement]]></category>
		<category><![CDATA[sales]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=288</guid>
		<description><![CDATA[I&#8217;ve heard from a couple of friends about some &#8220;classic&#8221; project requests &#8211; dilemmas they have recently faced. These unreasonable requests can be turned into something achievable and, potentially, more relevant / meaningful to the requestor, by approaching the problem from a different direction. Request for Data: the Analytics Project Classic scenario #1 arrives courtesy [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve heard from a couple of friends about some &#8220;classic&#8221; project requests &#8211; dilemmas they have recently faced. These unreasonable requests can be turned into something achievable and, potentially, more relevant / meaningful to the requestor, by approaching the problem from a different direction.</p>
<p><strong>Request for Data: the Analytics Project</strong></p>
<p>Classic scenario #1 arrives courtesy of the external Experts, analytic genii (<a href="http://www.englishforums.com/English/ThePluralOfGenius/bvqjm/post.htm" target="_blank">sic</a>) promising to reveal secrets of profitability and sources of revenue buried deep within our data sets. Their &#8220;simple request&#8221; is to pull all data from the system &#8211; customers and orders, vendors and payments, items and inventories &#8211; all classified by OBC; the Obvious and Brilliant Categories that, when summarized and sorted, will unlock our Big Opportunities.</p>
<p>Pulling data from the system is easy, but the desired attributes often do not exist in the system &#8211; or, they exist, but we have not (to date) filled in those details on our orders / payments / inventories. So, IT is asked to coordinate the bursting of data into separate spreadsheets, and distributing data sets to various areas of the business, to the people who know how to categorize the uncategorized.</p>
<div style="margin-left: 40px;">Note the hidden work the consultants have pushed down. IT must frame the question to the business (<em>can you categorize this data?</em>), but they are often left with the task of explaining the original project and justifying this interruption. Remember, when the programmers came in this morning, this Data Collection project was not on their radar screen. Of course, this is perceived as IT resisting, being uncooperative &#8230;</div>
<p>Sound familiar? It should, I&#8217;ve seen it at many companies, many functional areas of the business. There are some Obvious Truths that jump out when you think about this for a bit &#8230;</p>
<ul>
<li><strong>The Data is not Missing</strong> &#8211; we just never collected it before. Truth is, if we were already categorizing data this way, we&#8217;d probably be paying attention to the Big Opportunities already!</li>
<li><strong>You&#8217;re Just Moving the Work</strong> from the analysts to IT. True, internal IT will probably know the quickest way to get the most accurate data, but why push off the communication / explanation stuff?</li>
<li>There is <strong>a Hint of Diminishing Returns</strong> here. If 100% of the data is categorized, a simple pivot table will elegantly show all the data, totaled by attribute and sorting the Big Targets to the top. However, most of the time spent is getting the &#8220;long tail&#8221; of special cases categorized; wasted work, because they won&#8217;t make the Pareto cut.</li>
</ul>
<p>Aha &#8211; that last one gives us a hint on how to slash the amount of work required to get actionable data in a reasonable amount of time. Haven&#8217;t the external Experts seen data sets like this a million times? They are, after all, selling their experience in the problem space &#8211; why not engage in some <em>targeted</em> research? Based on experience, for companies of our type and size, what do you <em>expect</em> the answer to be?</p>
<p style="padding-left: 30px;"><em>What cross selling opportunities are the most common?<br />
What aggregate buying typically get the most bang for the buck?<br />
</em><em>Which product families are typically the slow movers?</em></p>
<p>Jump start the data categorization by guessing the Pareto sort, and target that data for characterization &#8230;</p>
<ul>
<li><span style="font-family: &amp;amp;amp; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">Download 100% of the data – must always be able to do a hash total to prove we have it all</span></li>
<li><span style="font-family: &amp;amp;amp; font-style: normal; font-variant: normal; font-weight: normal; font-size-adjust: none; font-stretch: normal;">The download / work files have blank columns for every requested attribute</span></li>
<li>Scan through and mark all the data for the target category</li>
</ul>
<p><strong>Battling What &#8220;They&#8221; Say<br />
</strong></p>
<p>A <a href="http://www.bookbrowse.com/excerpts/index.cfm?fuseaction=printable&amp;book_number=227" target="_blank">similar problem</a> is often faced when proposing system and process change. A classic refuge of the change resistant is to stand behind an Unassailable Truism with a potential for problems &#8230;</p>
<p style="padding-left: 30px;"><em>Not all of Our Vendors are ready for EDI &#8230;<br />
A great idea &#8211; but how will this impact The Customer?<br />
You can&#8217;t apply these changes to All Products &#8230;</em></p>
<p><em></em>Well, yes, but this isn&#8217;t helping us get to the benefits represented by this Cool New Thing; you are just defining Problems, not Solutions.</p>
<p>Still, this one can be fairly easy to defeat, by getting a bit more specific. <em>Which</em> vendors / customers / products are we talking about? Usually, there are just a few key instances where critical relationships (vendor or customer) must be maintained, or important product attributes will guide decisions / changes. Target these specifics, and don&#8217;t try to develop solutions / rule sets that will work in all imaginable cases (diminishing returns, again).</p>
<p><strong>News for Wombats</strong></p>
<p>The phrase comes from an old <a href="http://www.ibras.dk/montypython/episode20.htm#8" target="_blank">Monty Python</a> show, where a series of terribly redundant news programs, specific to parrots, gibbons, and wombats, pointed out that in all cases, &#8220;no parrots / gibbons / wombats were involved&#8221;. (<em>Hey &#8211; it&#8217;s funny in context. Not everybody appreciates Fibber McGee, either</em>). The point is &#8211; when time is of the essence, and you are looking to balance a complete design with relevant action, it helps to focus on the specifics.</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2009. |
<a href="http://www.cazh1.com/news-for-wombats-taming-unreasonable-requirements/">Permalink</a> |
<a href="http://www.cazh1.com/news-for-wombats-taming-unreasonable-requirements/#comments">No comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/analytics/" rel="tag">analytics</a>, <a href="http://www.cazh1.com/tag/communicating-complexity/" rel="tag">communicating complexity</a>, <a href="http://www.cazh1.com/tag/data/" rel="tag">data</a>, <a href="http://www.cazh1.com/tag/data-management/" rel="tag">data management</a>, <a href="http://www.cazh1.com/tag/data-warehousing/" rel="tag">data warehousing</a>, <a href="http://www.cazh1.com/tag/feature/" rel="tag">feature</a>, <a href="http://www.cazh1.com/tag/materials-management/" rel="tag">materials management</a>, <a href="http://www.cazh1.com/tag/procurement/" rel="tag">procurement</a>, <a href="http://www.cazh1.com/tag/requirements/" rel="tag">Requirements</a>, <a href="http://www.cazh1.com/tag/sales/" rel="tag">sales</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/news-for-wombats-taming-unreasonable-requirements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do you want it good or fast? Prioritizing Time-to-Value over Requirements</title>
		<link>http://www.cazh1.com/do-you-want-it-good-or-fast-prioritizing-time-to-value-over-requirements/</link>
		<comments>http://www.cazh1.com/do-you-want-it-good-or-fast-prioritizing-time-to-value-over-requirements/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 03:43:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Requirements]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[business benefits]]></category>
		<category><![CDATA[business value]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[functional design]]></category>
		<category><![CDATA[iron triangle]]></category>
		<category><![CDATA[project cost]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[time to value]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=229</guid>
		<description><![CDATA[I have a background in software product development, iterative &#8220;methodologies&#8221;, and the sort of fast-twitch life cycle that characterizes entrepreneurial startups, high-growing businesses, and &#8220;lean&#8221; process improvement projects. Unfortunately, this style is also favored by departmental developer wannabes, sloppy coders, and impatient Gen-Y newbies that want to apply a consumer products mentality to corporate IT. [...]]]></description>
			<content:encoded><![CDATA[<p>I have a background in software product development, iterative &#8220;methodologies&#8221;, and the sort of fast-twitch life cycle that characterizes entrepreneurial startups, high-growing businesses, and &#8220;lean&#8221; process improvement projects. Unfortunately, this style is also favored by departmental developer wannabes, sloppy coders, and impatient Gen-Y newbies that want to apply a consumer products mentality to corporate IT.</p>
<p style="padding-left: 30px;"><span style="font-size: 9pt; font-family: 'Courier New';">&lt;aside&gt;</span>Yes, I&#8217;m throwing a bit of a challenge out with that last statement. I understand that as the demographics of my IT team changes, management style must change as well. However, notwithstanding CIO Magazine&#8217;s recent deluge of articles urging oldies like me to &#8220;get with it&#8221;, and embrace Web 2.0 flexibility, there are certain immutable facts that fly in the face of the recent college graduates urged to apply social networking, text messaging, and torrent-enabled IP sharing to the 9-to-5 grind &#8230; but I&#8217;ll save that for a later post &#8230; <span style="font-size: 9pt; font-family: 'Courier New';">&lt;/aside&gt;</span></p>
<p><span style="font-size: 9pt; font-family: 'Courier New';"> </span>The real challenge is understanding how to introduce this new and different way of thinking (about projects and project delivery) into an environment rooted in audits and controls, waterfall methodologies, and tightly integrated ERP. Nothing wrong with any of these &#8211; in fact, for work in and around your run-the-business systems, there&#8217;s nothing more comforting than the rigor of requirements, testing, and a controlled promotion process.</p>
<p>Still, many organizations focus on the wrong legs of the <a href="http://www.codinghorror.com/blog/archives/000708.html">Iron Triangle</a>. Let&#8217;s assume that budget, if not absolutely fixed, is at least severely constrained (again, we&#8217;re not talking about a fast growth company that has money to burn). At this point, the typical IT department &#8211; laboring under the twin misconceptions that the <a href="http://www.cazh1.com/customer-service-roles-and-responsibilities/">customer is always right</a>, and the business understands the difference between wants and needs &#8211; dutifully captures all requirements, and work commences until there is nothing left to do. With budget and requirements &#8220;fixed&#8221;, time is the variable, and projects go on for months.</p>
<p>I don&#8217;t mean to sound cynical &#8211; sometimes it&#8217;s not a question of kitchen sink requirements (as in, &#8220;everything but the &#8230;&#8221;). Feature creep can also set in when folks want to develop code to test for every scenario or use-case. Even something as simple as adding type codes for a given transaction; believing in the power of metrics, folks will come up with a descriptor for every conceivable exception &#8211; regardless of the frequency or relevance.</p>
<p>I think the biggest difference between these organizations and their iterative brethren &#8211; startups, fast-growth, and &#8220;lean&#8221; organizations &#8211; is a focus on <em>time to value</em>. Established companies have predictable sales cycles, quarterly statements, and six month planning horizons; it&#8217;s not about <em>speed, </em>it&#8217;s about <em>getting it right</em>.</p>
<p>Established companies start to struggle with <em>time to value</em> when their environment changes. This is when a subtle change in project management style can go a long way towards liberating the locked-in value of these powerful organizations. Focus on that third leg of the triangle, and learn how to <em>manage a project to a date</em>. I have to be done in 60 days &#8211; what can I get done in that much time?</p>
<p>Sometimes this leads to a counter-intuitive decision. For example, a make-to-stock company may have established a Microsoft standard for desktop systems, but a new line of custom engineered, make-to-order products may need to hire in a team of Macintosh-wielding product designers that must be productive on Day 1. In the long run, I may need to replace their new workstations, but I&#8217;m certainly not going to slow down the launch of a profitable new line while my standards team goes through a lengthy RFP and vetting process.</p>
<p>Another common mistake &#8211; or maybe a defensive mechanism for those well-grounded in the status quo. Sometimes people “give up” on the idea of getting projects done in a short amount of time – “nothing happens quickly here”. I maintain that we give up on the idea of getting it done quickly, because we&#8217;re <em>not giving up on the demand for 100% requirements</em>. If we insist that the work must be done in 60 days, we will have to give up some of the nice-to-haves.</p>
<p>This is the big change management challenge before us &#8211; prioritize <em>time to value</em> over requirements, and focus on the 20% of the work that will deliver 80% of the value.</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2008. |
<a href="http://www.cazh1.com/do-you-want-it-good-or-fast-prioritizing-time-to-value-over-requirements/">Permalink</a> |
<a href="http://www.cazh1.com/do-you-want-it-good-or-fast-prioritizing-time-to-value-over-requirements/#comments">No comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/budget/" rel="tag">budget</a>, <a href="http://www.cazh1.com/tag/business-benefits/" rel="tag">business benefits</a>, <a href="http://www.cazh1.com/tag/business-value/" rel="tag">business value</a>, <a href="http://www.cazh1.com/tag/customer/" rel="tag">customer</a>, <a href="http://www.cazh1.com/tag/feature/" rel="tag">feature</a>, <a href="http://www.cazh1.com/tag/functional-design/" rel="tag">functional design</a>, <a href="http://www.cazh1.com/tag/iron-triangle/" rel="tag">iron triangle</a>, <a href="http://www.cazh1.com/tag/project-cost/" rel="tag">project cost</a>, <a href="http://www.cazh1.com/tag/project-management/" rel="tag">Project Management</a>, <a href="http://www.cazh1.com/tag/requirements/" rel="tag">Requirements</a>, <a href="http://www.cazh1.com/tag/time-to-value/" rel="tag">time to value</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/do-you-want-it-good-or-fast-prioritizing-time-to-value-over-requirements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strategies for Malware in Consulting Engagements</title>
		<link>http://www.cazh1.com/strategies-for-malware-in-consulting-engagements/</link>
		<comments>http://www.cazh1.com/strategies-for-malware-in-consulting-engagements/#comments</comments>
		<pubDate>Sun, 28 May 2006 15:45:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Vendor Management]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=131</guid>
		<description><![CDATA[Last in a series on some practical legal mumbo jumbo (disclaimer: IANAL) for your Master Consulting Agreements (MCA). This one was particularly interesting to put in; it&#8217;s really interesting to see who catches it, but it was an amazing (in retrospect) observation that led us to include the language. The Trigger Event: A virus outbreak. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.cazh1.com/images/pd/200px-Biohazard_orange.svg.png" alt="" width="200" height="200" />Last <a href="http://www.cazh1.com/strategies-for-fee-structures-in-consulting-engagements/">in</a> <a href="http://www.cazh1.com/strategies-for-intellectual-property-in-consulting-engagements/">a</a> <a href="http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/">series</a> on some practical legal mumbo jumbo (disclaimer: <a href="http://en.wikipedia.org/wiki/IANAL">IANAL</a>) for your Master Consulting Agreements (MCA). This one was particularly interesting to put in; it&#8217;s really interesting to see who catches it, but it was an amazing (in retrospect) observation that led us to include the language.</p>
<p>The Trigger Event: A virus outbreak. We had been hit before, and the executive group was not fond of losing their email for a day or two, so we implemented fairly tight lockdowns to get things under control &#8211; email scanning, virus signature updates pushed via SMS, aggressive patching for IE, and plenty of email warnings against opening mystery attachments. After many months with no outbreaks, we were surprised when we got hit fairly bad one summer. When we traced to the source of the outbreak, we found it was a consultant&#8217;s PC &#8211; woefully behind in OS and Virus patches and updates.</p>
<p>Our Director of Operations was rightfully peeved, as his group put in a lot of overtime to get things cleaned up. Especially aggravating / amazing was the fact that this consultant was working for a technology vendor, helping us on a major, high-profile technology implementation.</p>
<p>How can you trust a consultant&#8217;s tech skills when they can&#8217;t even perform the basics on their own PC?</p>
<p>Well, we lost the argument for a credit on their next invoice, but we did make a change to our standard MCA, adding the following sections:</p>
<p style="padding-left: 30px;"><em>[contractor] agrees that it has installed virus checking software on all computers owned by [contractor] that will be attached to [company]&#8216;s wide area network, and that the virus tables are being updated at intervals exceeding no greater than 7 days. [contractor] also agrees that the virus checking software is run continuously to monitor the state of these computers and is additionally used to check external media. [contractor] agrees that all external media brought onto [company] premises shall be scanned for viruses by a member of [company]&#8216;s IT staff designated by the [company], prior to installation of said media on any of [company]&#8216;s computer equipment.</em></p>
<p style="padding-left: 30px;"><em>[contractor] agrees that it has installed all appropriate Microsoft software updates (also known as Critical Updates and Service Packs) on all computers owned by [contractor] that will be attached to the [company]&#8216;s wide area  network and that run any version of Microsoft Windows. [contractor] agrees that all computers brought onto [company] premises shall be checked for Critical Updates and Service Packs by a member of [company]&#8216;s IT staff designated by the [company], prior to connection of said computer to [company]&#8216;s wide area network.</em></p>
<p style="padding-left: 30px;"><em>Should a virus, worm, or security breach be deemed by [company] to be introduced to the system by [contractor], [contractor] will at its expense and [company]’s sole choice either repair the damage to any and all affected machine(s) or reload the machine(s) with the most recent valid full backup and update it with the incremental backups provided said backups are available, current and valid.</em></p>
<p>This is always good for a comment from the contractor / consultant, but these are (I feel) fairly common sense additions, and very simple to enforce.</p>
<ol>
<li>The easiest way to avoid any problems is to not attach your Windows PC to my network. Insist on using my PCs, my licensed copies of development / productivity tools, etc. This approach actually solves other issues, like software licensing and internet access controls.</li>
<li>For an operations group with good, tight processes, it literally takes minutes to check for the latest pathes and virus signatures.</li>
<li> At the very least, this focuses attention on the consulting firm&#8217;s technical abilities. How should you feel when the expensive tech expertise does not have confidence in their own controls?</li>
</ol>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2006. |
<a href="http://www.cazh1.com/strategies-for-malware-in-consulting-engagements/">Permalink</a> |
<a href="http://www.cazh1.com/strategies-for-malware-in-consulting-engagements/#comments">No comment</a> |
<br/>
Post tags: <br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/strategies-for-malware-in-consulting-engagements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strategies for Risk Sharing in Consulting Engagements</title>
		<link>http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/</link>
		<comments>http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/#comments</comments>
		<pubDate>Sat, 13 May 2006 05:14:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Vendor Management]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=129</guid>
		<description><![CDATA[I am late is responding to a comment on this post, first in a series about Consulting Engagements. Earlier this week it was Intellectual Property, with another good comment &#8230; so, why all the harsh language about protecting IP that I probably can&#8217;t commercialize? Ah &#8211; welcome to the world of Risk Sharing. The issue [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.cazh1.com/images/pd/200px-Dice.svg.png" alt="" width="200" height="150" />I am late is responding to a comment on <a href="http://www.cazh1.com/blogger/thoughts/2006/03/strategies-for-fee-structures-in.shtml">this post</a>, first in a series about Consulting Engagements. Earlier this week it was <a href="http://www.cazh1.com/blogger/thoughts/2006/05/strategies-for-intellectual-property.shtml">Intellectual Property</a>, with another good comment &#8230; so, why all the harsh language about protecting IP that I probably can&#8217;t commercialize? Ah &#8211; welcome to the world of Risk Sharing.</p>
<p>The issue is that most businesses, especially <a href="http://en.wikipedia.org/wiki/Small_and_Medium-sized_Enterprise">SMB</a>s that are simply not used to paying $200 an hour for labor, typically have a tough time wrapping their minds around a relationship that has such large invoices with no guarantee of success. It is easy for the cynical to see how a consulting firm can milk an arrangement for tons of $$ without delivering the hoped-for business benefit.</p>
<p style="padding-left: 30px;">&lt;aside&gt; Please, no comments about the chronic lack of requirements and/or tight process. Yes, I am fully aware that many customers of professional service firms really don&#8217;t have a good idea about what they need or want, and don&#8217;t have a good understanding of the value proposition of a good   consultant / developer / integrator. This is about how to bridge that gap &#8230; &lt;/aside&gt;</p>
<p>First, get the <a href="http://www.cazh1.com/blogger/thoughts/2006/03/strategies-for-fee-structures-in.shtml">fee   structure</a> in place (&#8220;not to exceed&#8221;) that will put some controls in, but give the contractor the proper trigger to control <a href="http://www.alistapart.com/articles/scopecreep/">scope creep</a>.</p>
<p>Next &#8211; how might we put something of interest into the agreement, that gives me, the   customer, a little hedge against the risk of the unknown? This could and should work both ways &#8211; it gives the contractor a <a href="http://www.wipfli.com/Wipfli/Impact_Magazine/Business_Issues/Operational_Effectiveness/ValueProposition.htm">differentiating value proposition</a>, while focusing their attention on the project, to see it though to the end.</p>
<p>I&#8217;ve seen a couple of different approaches &#8230;</p>
<ol>
<li><strong>Penalty / Bonus for Hitting the Date</strong>: This method will penalizes the contractor for failure to meet the time table [within it’s control], and reward them if deliverables and the work plan are met. This particular example provides a 2-to-1 incentive ratio in favor of the customer; we hold back 10% of the fees due to the contractor, and pay back the 10% <em>plus</em> 5% incremental upon periodic approval by a Project Steering Committee, which judges if performance is proceeding satisfactorily and on time.</li>
<li><strong>Budget Risk Sharing</strong>: Given a project budget, the contractor agrees to a final review when work is complete. If the contractor comes in under budget, the customer agrees to pay 25% of the difference as a performance bonus. If, however, we blow the original budget, but the work needs to continue, the contractor agrees to discount their ongoing hourly fees by 25%. We can also agree to a max budget overrun beyond which no additional $$ are owed, but the work will continue until completion.</li>
<li><strong>Gain Sharing</strong>: The typical project has a cost/benefit model that defines how long the payback is; these models are typically built with the help of the contractor. One way to keep the benefits estimates realistic would be to reward the contractor with a % of any additional savings beyond, say, 20% of the business-case estimate. Of course, could also penalize the contractor should the benefits come in less than expected.</li>
<li><strong>IP Rights</strong>: Finally, realize the inherent value in the Intellectual Property created, and the fact that the contractor is typically (thank you <a href="http://www.juiceanalytics.com/weblog/?page_id=17">Gemignani</a>)      better suited to commercialize the stuff, by granting IP rights in exchange for lower hourly rates.</li>
</ol>
<p>Of course, all of these agreements will require lots of specific language and guidelines   and limits and, above all, excellent levels of open, honest communciation through the life of the project &#8211; but hey, all that will do is foster an even better environment for a successful project!</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2006. |
<a href="http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/">Permalink</a> |
<a href="http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/#comments">No comment</a> |
<br/>
Post tags: <br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/strategies-for-risk-sharing-in-consulting-engagements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your Outlook schedule looks like a game of Tetris</title>
		<link>http://www.cazh1.com/your-outlook-schedule-looks-like-a-game-of-tetris/</link>
		<comments>http://www.cazh1.com/your-outlook-schedule-looks-like-a-game-of-tetris/#comments</comments>
		<pubDate>Wed, 06 Jul 2005 03:32:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[functional design]]></category>
		<category><![CDATA[internal development]]></category>
		<category><![CDATA[iterative development]]></category>
		<category><![CDATA[meetings]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[workgroup]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=80</guid>
		<description><![CDATA[Interesting meetings, discussions from last week; as a former consulting partner once noticed, my calendar in Outlook usually looks like a game of Tetris, with back-to-back meetings, double bookings, etc. It was actually quite energizing for me last week, because the meetings were on wildly divergent topics covering lots of areas. Side note: This scheduling [...]]]></description>
			<content:encoded><![CDATA[<p>Interesting meetings, discussions from last week; as a former consulting partner once noticed, my calendar in Outlook usually looks like a game of <a href="http://vadim.www.media.mit.edu/Tetris.htm">Tetris</a>, with back-to-back meetings, double bookings, etc. It was actually quite energizing for me last week, because the meetings were on wildly divergent topics covering lots of areas.</p>
<p style="padding-left: 30px;"><em>Side note</em>: This scheduling style means I seem to be a few minutes late for each meeting &#8211; but then again, so are the other folks, so I guess flexibility is a good general rule (but it&#8217;s still <a href="http://office.microsoft.com/en-us/assistance/HA011276781033.aspx">not a good thing</a> <a href="http://www.itc.virginia.edu/desktop/ctime/web/etiquette.html">to do</a> regularly).</p>
<p>Some highlights:</p>
<ul>
<li><em>With the tech team &#8230; </em>two separate cases of push-back from the group on issues, purely on technical considerations. However, my counter-arguments are typically along the lines of &#8220;there is a billion dollar project on hold for want of this feature / flexibility&#8221;, or &#8220;critical commitments have been made to management / customers / supply chain&#8221;, or what have you. When the argument against is that it&#8217;s technically the &#8220;<a href="http://neuro-www.mgh.harvard.edu/forum_2/PeripheralNeuropathyF/TheWrongthingtodo.html">wrong thing to do</a>&#8220;, or &#8220;it&#8217;s long term <a href="http://www.purchasing.com/article/CA233227.html">maintenance</a> expense&#8221; &#8211; man, you are losing the forest for the <a href="http://www.galttech.com/wallpaper/wallforests.shtml">trees</a>. The ongoing struggle is to get tech folks to see the overriding business reasons why we do what we do.</li>
<li><em>Running a meeting with &#8220;lively discussion&#8221; </em>&#8230; I like to preface meetings by <a href="http://www.iamveryverysorry.com/">apologizing</a> for my (soon to be) abrasive style, for comments yet to be said that might be potentially embarrassing or offensive &#8211; and I also offer the prediction that the meeting will end with an edict from me, not a vote. Sounds combative, but the apologetic style usually works, and I&#8217;m trying to make sure the folks in the room really feel that we can all <a href="http://www.2pi.info/software/sf_speex/">speak freely</a>, question each other&#8217;s approach, and drive down to the best <a href="http://www.mediate.com/">resolution</a> for the issue(s) at hand. Also, I make sure to end the meeting with an apology again, and a quick follow-up chat with one or two that I know might have been &#8220;offended&#8221;. They usually aren&#8217;t, but it&#8217;s key to aggressively balance a drive-to-results style with real respect for peoples&#8217; feelings &#8211; some day you&#8217;ll have to ask that person to run a <a href="http://www.imdb.com/title/tt0076070/">gauntlet</a>, loyalty goes both ways, etc.</li>
<li><em>Requirements gathering meetings I </em>&#8230; my favorite method is playing dumb (note: more &#8220;apologizing&#8221; for &#8220;dumb questions&#8221;), but this allows me to ask truly basic questions, real <a href="http://software.isixsigma.com/library/content/c020610a.asp">5 whys</a> stuff. I love asking the ultimate dumb question &#8211; &#8220;Why are we doing this task at all? What is the objective / <a href="http://www.pointoflife.com/point.html">point</a>? What if we <em>don&#8217;t</em> do this activity? Note that you shouldn&#8217;t just ask <em>how</em> they do these steps, drill into the <em>why</em> &#8211; if there is no reason to do xyz, then don&#8217;t (and then we won&#8217;t have to automate it). (<em>Corollary</em>: the <a href="http://www.everything2.com/index.pl?node_id=965707">good</a> <a href="http://www.devx.com/SummitDays/Article/6648">programmer</a> / <a href="http://scottwater.com/blog/archive/2003/03/14/3812">systems</a> <a href="http://weblogs.asp.net/erobillard/articles/3801.aspx">developer</a> <a href="http://">is</a> <a href="http://dotnetjunkies.com/WebLog/richard.dudley/category/1129.aspx">often</a> <em><a href="http://jroller.com/page/ghinkle">lazy</a> </em>&#8230; more on that for another post &#8230;)</li>
<li><em>Requirements gathering meetings II </em>&#8230; Also, one effective way to manage scope / expectations is to lay down levels of functionality. For any report / query / program, establish a <a href="http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&amp;ixPost=165617">bare minimum</a> bit of functionality, then go for a slightly nicer to have description, and so on. Note &#8211; early in the process, you should keep the &#8220;<a href="http://www.unc.edu/depts/cmse/math/homers.htm">home run</a>&#8221; super feature possibilities under your hat, at least until you get a proof-of-concept working &#8230; don&#8217;t want to set expectations to high (<a href="http://www.risingwomen.com/arckristineilsen1.htm">under promise, over-deliver</a>).</li>
</ul>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2005. |
<a href="http://www.cazh1.com/your-outlook-schedule-looks-like-a-game-of-tetris/">Permalink</a> |
<a href="http://www.cazh1.com/your-outlook-schedule-looks-like-a-game-of-tetris/#comments">No comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/feature/" rel="tag">feature</a>, <a href="http://www.cazh1.com/tag/functional-design/" rel="tag">functional design</a>, <a href="http://www.cazh1.com/tag/internal-development/" rel="tag">internal development</a>, <a href="http://www.cazh1.com/tag/iterative-development/" rel="tag">iterative development</a>, <a href="http://www.cazh1.com/tag/meetings/" rel="tag">meetings</a>, <a href="http://www.cazh1.com/tag/requirements/" rel="tag">Requirements</a>, <a href="http://www.cazh1.com/tag/teams/" rel="tag">teams</a>, <a href="http://www.cazh1.com/tag/workgroup/" rel="tag">workgroup</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/your-outlook-schedule-looks-like-a-game-of-tetris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things for the DIY programmer to consider</title>
		<link>http://www.cazh1.com/things-for-the-diy-programmer-to-consider/</link>
		<comments>http://www.cazh1.com/things-for-the-diy-programmer-to-consider/#comments</comments>
		<pubDate>Tue, 15 Mar 2005 03:11:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[internal]]></category>
		<category><![CDATA[internal development]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[TCO]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=48</guid>
		<description><![CDATA[Things for the DIY programmer to consider Another thought-provoking post on Thinking Faster &#8211; he sounds like my business doppelganger &#8230; When considering the option to build vs. buy, or at least involve corporate IT and/or experienced developers, most folks with a business background miss some key considerations about their approach: Is robust multi-user required? [...]]]></description>
			<content:encoded><![CDATA[<p>Things for the DIY programmer to consider</p>
<p>Another thought-provoking <a href="http://workingsmarter.typepad.com/my_weblog/2005/03/what_should_we_.html">post</a> on <a href="http://workingsmarter.typepad.com/my_weblog/">Thinking   Faster</a> &#8211; he sounds like my business <a href="http://en.wikipedia.org/wiki/Doppelganger">doppelganger</a> &#8230;</p>
<p>When considering the option to build vs. buy, or at least involve corporate IT and/or   experienced developers, most folks with a business background miss some key considerations   about their approach:</p>
<ol>
<li> <em>Is robust multi-user required</em>? Excel spreadsheets deal with this challenge rather effectively &#8211; like a book, one user at a time. Access opens the door, but most business developers don&#8217;t appreciate common multiple user issues like record locking.</li>
<li> <em>Does it scale</em>? Related to #1 above &#8211; how many records until the spreadsheet or database starts to show some strain? Also, with databases, the tradeoffs for multiple indexes (report / query speed vs. transactional overhead) are typically not considered.</li>
<li> <em>Version Control, Configuration Management, and Deployment</em> &#8211; Getting the software to work on your own machine is  quite different than managing the ongoing maintenance and deployment to multiple machines.</li>
</ol>
<p>I suppose I could go on, but those are usually my favorite three gotchas when working with internal groups.</p>
<p>Now, hopefully I don&#8217;t sound too elitist or dismissive of folks that want to do internal development like this. On the contrary, I applaud their aggressive nature, encourage their application of technology to business, and appreciate the cost / time-to-value argument they can often make. However, it is our task in IT to make sure the Total Cost of any technology decision is thought through.</p>
<p>One passing comment &#8211; I just love it when folks say &#8220;but this is such a great idea &#8230; maybe, when it&#8217;s done, we could commercialize it!&#8221; It never fails &#8211; it has happened   in every company I&#8217;ve ever worked for &#8230; ah, the lure of miniscule COGS (hey, blank CDs are cheap, right?). I then get to regale them with tales of woe from my developer days &#8230;</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2005. |
<a href="http://www.cazh1.com/things-for-the-diy-programmer-to-consider/">Permalink</a> |
<a href="http://www.cazh1.com/things-for-the-diy-programmer-to-consider/#comments">No comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/cost/" rel="tag">cost</a>, <a href="http://www.cazh1.com/tag/development/" rel="tag">Development</a>, <a href="http://www.cazh1.com/tag/internal/" rel="tag">internal</a>, <a href="http://www.cazh1.com/tag/internal-development/" rel="tag">internal development</a>, <a href="http://www.cazh1.com/tag/scale/" rel="tag">scale</a>, <a href="http://www.cazh1.com/tag/tco/" rel="tag">TCO</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/things-for-the-diy-programmer-to-consider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Does IT make you productive (or, are you an existentialist or a fatalist)?</title>
		<link>http://www.cazh1.com/does-it-make-you-productive-or-are-you-an-existentialist-or-a-fatalist/</link>
		<comments>http://www.cazh1.com/does-it-make-you-productive-or-are-you-an-existentialist-or-a-fatalist/#comments</comments>
		<pubDate>Sat, 26 Feb 2005 19:12:00 +0000</pubDate>
		<dc:creator>Jim MacLennan</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Communication]]></category>
		<category><![CDATA[communication style]]></category>
		<category><![CDATA[knowledge transfer]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Rapid Application Development]]></category>

		<guid isPermaLink="false">http://qc.cazh1.com/?p=46</guid>
		<description><![CDATA[Interesting article in Thinking Faster, just getting around to capturing my comments &#8230; On Requirements &#8220;The first reason that business folks don&#8217;t get what they need from IT is because they aren&#8217;t sure what they want&#8221; The fundamental challenge of capturing and managing knowledge &#8211; it&#8217;s much easier to understand something than it is to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://workingsmarter.typepad.com/my_weblog/2005/02/does_it_make_yo.html">Interesting article</a> in <a href="http://workingsmarter.typepad.com/my_weblog/">Thinking Faster</a>, just getting around to capturing my comments &#8230;</p>
<p><strong>On Requirements</strong></p>
<p><em>&#8220;The first reason that business folks don&#8217;t get what they need from IT is because they aren&#8217;t sure what they want&#8221;</em></p>
<p>The fundamental challenge of capturing and managing knowledge &#8211; it&#8217;s much easier to understand something than it is to describe, document, teach it. Why do so many organizations do knowledge transfer and training by saying &#8220;follow that person around for 3 months&#8221;? Of course, there are multiple ways to address this, my favorite being <a href="http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2">Rapid Application Development</a> (RAD), where the iterative cycle of conversation / quick requirements capture, prototype / get something working, review change / improve, makes it easier for folks that can&#8217;t sit down and write up a complete, well-thought-out design architecture. The challenge (offset by patient explanations and participatory solution development) is to get folks to understand that this is not instant, it&#8217;s a growing process.</p>
<p><strong>On Information (not Data)</strong></p>
<p><em>&#8220;These systems are great at everyday transaction processing, but fairly poor at providing information to help people make decisions&#8221;</em></p>
<p>We&#8217;re struggling with this right now, with a new business system that does not provide easy data access via simple spreadsheet / query tools. The sad yet classic search for the magical <a href="http://www-inst.eecs.berkeley.edu/~maratb/readings/NoSilverBullet.html">silver bullet</a>, with folks insisting that six-figure investments for graphical reporting tools will make all the problems disappear. We&#8217;re fairly confident that the complexities of the typical ERP data model will generate far more questions, but the key observation is that analytics are often an afterthought.</p>
<p>Another point here &#8211; the classic mistake IT makes all of the time is the assumption that the business folks are unable to comprehend the concepts and complexities of &#8220;reporting&#8221;. Come on &#8211; it&#8217;s 2005, basic Data Processing classes are at the heart of all undergrad business degrees, and everyone knows the amazing things folks do <a href="http://www.computerworld.com/databasetopics/businessintelligence/story/0,10801,93292,00.html">with   their spreadsheets</a> &#8230; IT must give some basic credit to folks looking for information like &#8220;show me the customers in these three cities who bought this type of filter over   a year ago .. I want to sell them a replacement filter, they are due &#8230;&#8221;.</p>
<p><strong>On Technobabble</strong></p>
<p><em>&#8220;What reinforces this problem is &#8230; IT people &#8230; tend to talk in three and four letter acronyms and argue about the benefits of Java or .NET&#8221;</em></p>
<p>I&#8217;m fascinated by those that make this argument / observation, yet themselves speak in terms of SG&amp;A, EBITDA, COGS (Finance), absorption, phantoms, PPV (Operations), and CPI, MPS, impressions (Marketing). Every area of business has their own set of acronyms, concepts, and terms, and so does every vertical industry. It&#8217;s just as tough for the IT group to have to wade through the &#8220;native language&#8221; of five different areas within the same organization.</p>
<p>However, I do agree with the observation that business people treat IT as a mystery &#8211; maybe not most of them, and this is absolutely not a young vs. old observation. I know plenty of IT folks that wish business folks would behave predictably, like   the 1&#8242;s and 0&#8242;s of their digital world.</p>
<p>I like to think of the self-empowerment question &#8211; are you who you say you are? Do you have control / responsibility for your environment? The existentialist takes ownership, understands all the tools, drivers, forces, options, and figures out what needs to be understood to get the job done. The fatalist identifies reasons for their lack of results, and rails against the wind.</p>
<hr />
<p><small>Questions? Comments? Suggestions? Send mail to <b>webmaster <i>at</i> cazh1 <i>dot</i> com</b> <br>
© Jim MacLennan for <a href="http://www.cazh1.com">cazh1</a>, 2005. |
<a href="http://www.cazh1.com/does-it-make-you-productive-or-are-you-an-existentialist-or-a-fatalist/">Permalink</a> |
<a href="http://www.cazh1.com/does-it-make-you-productive-or-are-you-an-existentialist-or-a-fatalist/#comments">No comment</a> |
<br/>
Post tags: <a href="http://www.cazh1.com/tag/application-development/" rel="tag">Application Development</a>, <a href="http://www.cazh1.com/tag/communication/" rel="tag">Communication</a>, <a href="http://www.cazh1.com/tag/communication-style/" rel="tag">communication style</a>, <a href="http://www.cazh1.com/tag/design/" rel="tag">Design</a>, <a href="http://www.cazh1.com/tag/knowledge-transfer/" rel="tag">knowledge transfer</a>, <a href="http://www.cazh1.com/tag/rad/" rel="tag">RAD</a>, <a href="http://www.cazh1.com/tag/rapid-application-development/" rel="tag">Rapid Application Development</a>, <a href="http://www.cazh1.com/tag/requirements/" rel="tag">Requirements</a><br/>
</p>
<hr />
<p>
All articles, blog entries, and other content on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons License</a>   
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png"/></a>
</small>
]]></content:encoded>
			<wfw:commentRss>http://www.cazh1.com/does-it-make-you-productive-or-are-you-an-existentialist-or-a-fatalist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

