<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Sober Counsel</title>
	
	<link>http://www.sobercounsel.com</link>
	<description>Discussion of topics relevant to IT Management in a Corporate context.</description>
	<lastBuildDate>Tue, 29 Nov 2011 09:31:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sobercounsel" /><feedburner:info uri="sobercounsel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.feedburner.com/sobercounsel?format=skin</thespringbox:skin><feedburner:emailServiceId>sobercounsel</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Software Factories: Part 4 – Measuring Outcomes</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/3qEmxS2FSWo/</link>
		<comments>http://www.sobercounsel.com/2011/09/06/software-factories-part-4-implementation-guidelines/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 17:36:26 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Smart Client]]></category>
		<category><![CDATA[Software Factory]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=39</guid>
		<description><![CDATA[One of the difficulties with implementing a software factory is measuring development-team performance. Depending on the culture of the team, and the desired outcomes for your team, the approach may be fundamentally different, but here is an approach I have &#8230; <a href="http://www.sobercounsel.com/2011/09/06/software-factories-part-4-implementation-guidelines/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the difficulties with implementing a software factory is measuring development-team performance. Depending on the culture of the team, and the desired outcomes for your team, the approach may be fundamentally different, but here is an approach I have implemented, that I believe is fairly unique in a corporate environment.</p>
<p><span id="more-39"></span></p>
<p>My Objectives were:</p>
<ul>
<li>To change the culture from one that was inward-looking (every problem is solved by writing some code) to one that considered external commercial or Open Source solutions (a problem can be solved in many different ways).</li>
<li>To reward outcomes rather than inputs, i.e. the primary concern is that the project objectives, the deadlines and the architectural principles and standards were all met.</li>
<li>To allow developers some freedom to choose their projects</li>
<li>To encourage information sharing, collaboration and cross-skilling within the team</li>
<li>To reward the top performers and manage the poor performers</li>
</ul>
<p><!--more--></p>
<p>This looks like a lot to ask from a single process with a simple measurement system, but I believe that the process we have selected should achieve all of these.  Firstly it is necessary to note that I have created three development teams who are accountable for progressing our technical strategy and defining standards and toolsets within their respective domains.  These are the &#8220;Front-Ends&#8221; team which includes the web-team, the Integration team, and the Services team.</p>
<h3>The RFP Process</h3>
<ul>
<li>At the Project prioritization forum the Business-Unit heads agree the priorities of the projects for which we will publish RFPs</li>
<li>The Project office prepares a very brief RFP describing the key outcomes required for the project.</li>
<li>As the CIO, I estimate the size of the project and award the project a size-value on a scale of 1-20.</li>
<li>The RFP is published on an internal blog indicating its size-value and priority.</li>
<li>The developers are notified of a new RFP and may then respond to the RFP or form a syndicate across the various teams to respond to the RFP.  Only two days are allocated for the construction of a proposal at this point in the process.</li>
<li>The responses are considered at the weekly Architecture council meeting (Chief Architect, Head of Operations, Heads of each development team, Data &amp; Services registrar) in terms of the quality of the technical approach, the reasonableness of the effort estimate and the time-to-market vs architectural-significance trade-offs.</li>
<li>One syndicate is awarded the project and must take into consideration any guidance offered by the architectural council.</li>
</ul>
<h3>The Planning Process</h3>
<ul>
<li>The syndicate should then embark on a detailed estimation process which follows a Delphi methodology to arrive at a fairly good estimate of effort.</li>
<li>A detailed design process is worked into the plan and after the design is complete the effort estimates are reviewed one more time.</li>
<li>The project is baselined at this point and deadline targets are measured based on this iteration of the project estimation.</li>
<li>Depending on each syndicate members involvement after the estimation the project-size units earned by each member is adjusted if necessary.</li>
</ul>
<h3>The Project Scoring process</h3>
<ul>
<li><span style="font-size: small;">Once the project has been completed it must be scored by all the relevant stakeholders.</span></li>
<li><span style="font-size: small;">A standardized electronic survey with a set of questions for each type of stakeholder is used, so that scores can be easily compared.</span></li>
<li><span style="font-size: small;">The standardized questions are published so that everyone knows in advance what the required outcomes are.</span></li>
</ul>
<h3>The Performance  Measurement Metrics:</h3>
<p>Using these measures the following can easily be measured and managed:</p>
<ul>
<li><span class="Apple-style-span" style="line-height: 19px; font-size: small;">Each individual must have earned at least 20 Project size points in a year.  I measure this on a prorated basis every quarter and meet with underperforming team members to help them get back on track.</span></li>
<li><span class="Apple-style-span" style="line-height: 19px; font-size: small;">In order to qualify for a bonus each individual must earn at least 24 project-size points in a year.</span></li>
<li><span class="Apple-style-span" style="line-height: 19px; font-size: small;">Of those eligible for a bonus, their individual Aggregate Project Outcome Scores  (Sum of (earned Projects Size-points x Project Survey Score) for all the projects an individual was involved in) determines their rank on the Bonus list.  Top 5 scorers earn 15,14,13,12,11% of the development team bonus pool respectively, and the balance of the eligible team-members share the remaining 37% as a ratio of their relative scores.</span></li>
</ul>
<h3>Performance Reporting</h3>
<p>Although all this may sound complicated it reduces each team-member&#8217;s score to two metrics: Project Size Points and Project Outcome Scores.</p>
<ul>
<li><span class="Apple-style-span" style="font-size: medium;">If you have more than 20 Project Size points you keep your job. </span></li>
<li><span class="Apple-style-span" style="font-size: medium;">If you have more than 24 Project Size points you will get a bonus.  </span></li>
<li><span class="Apple-style-span" style="font-size: medium;">The size of that bonus is determined by you Project outcome Scores (The quality &amp; timeliness of your work)</span></li>
</ul>
<p>The current scores for each team member (both size and outcome scores) are published weekly for all to see.  No-one should have any doubt where they stand at any point in the year.</p>
<h3>Some Balancing factors</h3>
<p>Of course none of this works if there are insufficient projects to keep everyone busy during the year.  It would not be fair if there were not enough project-size points available to ensure that everyone can earn their required 20.  Fortunately I do not anticipate that scenario for many years to come.<br />
I am sure that by the time that occurs humans will no longer be involved in software development processes, and performance measurement will have a completely different set of objectives.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2011/09/06/software-factories-part-4-implementation-guidelines/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2011/09/06/software-factories-part-4-implementation-guidelines/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2011/09/06/software-factories-part-4-implementation-guidelines/</feedburner:origLink></item>
		<item>
		<title>The IT Holy Grail: Part 2 – Start with the End in Mind</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/8bgMe9ShW18/</link>
		<comments>http://www.sobercounsel.com/2011/04/05/the-it-holy-grail-part-2-start-with-the-end-in-mind/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 08:38:33 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=204</guid>
		<description><![CDATA[The Typical Strategy Process indicates: Where we are Where we want to be How to get there In my experience IT strategies tend to get stuck defining &#8220;where we are&#8221; because the sort of people doing IT are often detail &#8230; <a href="http://www.sobercounsel.com/2011/04/05/the-it-holy-grail-part-2-start-with-the-end-in-mind/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Typical Strategy Process indicates:<a href="http://www.sobercounsel.com/wp-content/uploads/2011/04/iStock_000001438351XSmall.jpg"><img class="alignright size-medium wp-image-208" title="iStock_000001438351XSmall" src="http://www.sobercounsel.com/wp-content/uploads/2011/04/iStock_000001438351XSmall-300x199.jpg" alt="" width="300" height="199" /></a></p>
<ul>
<li>Where we are</li>
<li>Where we want to be</li>
<li>How to get there</li>
</ul>
<p>In my experience IT strategies tend to get stuck defining &#8220;where we are&#8221; because the sort of people doing IT are often detail oriented people and defining the as-is becomes an exercise that spirals into ever increasing levels of detail and never finishes, or becomes obsolete before it&#8217;s finished because some other imperative forces a change before the process completes.</p>
<p>My recommendation is to switch the order slightly for a very specific reason.  I propose that we define IT strategy in terms of</p>
<ul>
<li>Where we want to be</li>
<li>Where we are</li>
<li>How to get there</li>
</ul>
<p>This seems like a minor change, but there is method in this.  It is more difficult to define the future in terms of extremely fine-grained detail, so the future view tends to be defined in terms of principles, and characteristics or properties of the future state &#8211; A High level description of the future.</p>
<p>The trick then is to structure the definition of &#8220;Where we are&#8221; in terms of the deltas with the &#8220;Where we want to be&#8221; description.  So we shouldn&#8217;t try to define the &#8220;As-Is&#8221; in all it&#8217;s glory, but only the aspects that will be impacted by the notable differences with the &#8220;to-be&#8221; definition.</p>
<p>For example if we have a proprietary solution in the &#8220;as-is&#8221; and the &#8220;to-be&#8221; says we will use a commodity &#8220;off the shelf solution&#8221;, The definition of the &#8220;as-is&#8221; can be limited to the description of the critical features of the &#8220;as-is&#8221; that must be carried forward into the future solution and why.</p>
<p>In many future scenarios we want to add some capabilities that were never there in the &#8220;as-is&#8221;.  In this case the &#8220;As-Is&#8221; can be captured as a check-list of areas against which the new capabilities must be developed.</p>
<p>So the basic idea is to use the &#8220;To-Be&#8221; view as a guideline to indicate how much detail is required in documenting the &#8220;as-is&#8221;. When you have enough &#8220;As-Is&#8221; documented to be able to create a &#8220;How to get there&#8221; plan, then stop.</p>
<p>When the individual projects kick-off to actually implement the changes, these projects themselves can go to a greater level of detail if required.  The important point here then is to ensure that these updates of greater detail are recorded in the architecture artifacts of the organization, and not only stored with the project documentation.</p>
<p>I use a number of patterns or templates for documenting the &#8220;as-is&#8221; and to be.  A List of those next time.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2011/04/05/the-it-holy-grail-part-2-start-with-the-end-in-mind/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2011/04/05/the-it-holy-grail-part-2-start-with-the-end-in-mind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2011/04/05/the-it-holy-grail-part-2-start-with-the-end-in-mind/</feedburner:origLink></item>
		<item>
		<title>A Commencement Reminder</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/y_vKcKIgXDU/</link>
		<comments>http://www.sobercounsel.com/2011/03/05/a-commencement-reminder-2/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 21:45:06 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Philosophy]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=195</guid>
		<description><![CDATA[A friend of mine liked this video on Facebook today.  I liked it so much, I decided to make it the first post on my blog in a very long time.  Enjoy. Some great lessons, and an excellent reminder]]></description>
			<content:encoded><![CDATA[<p>A friend of mine liked this video on Facebook today.  I liked it so much, I decided to make it the first post on my blog in a very long time.  Enjoy.</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/UF8uR6Z6KLc" frameborder="0" allowfullscreen></iframe></p>
<p>Some great lessons, and an excellent reminder</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2011/03/05/a-commencement-reminder-2/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2011/03/05/a-commencement-reminder-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2011/03/05/a-commencement-reminder-2/</feedburner:origLink></item>
		<item>
		<title>Back to Financial Services</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/63eYshmbCYs/</link>
		<comments>http://www.sobercounsel.com/2010/12/02/back-to-financial-services/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 14:35:40 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[I-Net Bridge]]></category>
		<category><![CDATA[Prasa]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/2011/04/21/back-to-financial-services/</guid>
		<description><![CDATA[At the end of November, I moved to I-Net Bridge to take on a CIO role. The move back to financial services is very refreshing. I am excited about the opportunity and feel the weight of a great responsibility to an &#8230; <a href="http://www.sobercounsel.com/2010/12/02/back-to-financial-services/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At the end of November, I moved to I-Net Bridge to take on a CIO role.  The move back to financial services is very refreshing.</p>
<p>I am excited about the opportunity and feel the weight of a great responsibility to an already successful organisation.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2010/12/02/back-to-financial-services/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2010/12/02/back-to-financial-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2010/12/02/back-to-financial-services/</feedburner:origLink></item>
		<item>
		<title>The IT holy grail</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/uBVTc9WGdLY/</link>
		<comments>http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 08:01:02 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/</guid>
		<description><![CDATA[Strategic Alignment of IT with the declared business strategy is a topic that seems to be widely regarded as a holy grail.  Something Everyone Strives for, but seldom achieves. In my last few roles I have encountered a number of &#8230; <a href="http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sobercounsel.com/wp-content/uploads/2010/11/iStock_000002157303Small.jpg"><img class="size-medium wp-image-145 alignright" title="iStock_000002157303Small.jpg" src="http://www.sobercounsel.com/wp-content/uploads/2010/11/iStock_000002157303Small-300x202.jpg" alt="" width="300" height="202" /></a></p>
<p><a href="http://www.sobercounsel.com/wp-content/uploads/2010/11/iStock_000002157303Small.jpg"></a>Strategic Alignment of IT with the declared business strategy is a topic that seems to be widely regarded as a holy grail.  Something Everyone Strives for, but seldom achieves.</p>
<p>In my last few roles I have encountered a number of challenges in achieving a satisfactory IT strategy:</p>
<ul>
<li>A business strategy that is not published or is unclear</li>
<li>The desired role of IT in the business is unclear</li>
<li>It is unclear who the leaders in each business unit are</li>
<li>An unwillingness by IT leaders to declare a strategy &#8211; always deferring to the so-called &#8220;business&#8221;</li>
</ul>
<p>Let&#8217;s face it, if the business strategy is clear, and is officially published, the task is not so daunting.  If however you are in an organisation that exhibits some of the above difficulties, then the task of defining an aligned IT strategy looks a little more tricky.</p>
<p>I firmly believe that when we are looking at the problem of an aligned IT strategy, we incorrectly try to engage our engineering skills, instead of our artisitic skills.</p>
<p>Now clearly there should be a balance, but I do not believe the right strategy can be defined with purely technical analysis. Lateral thinking, creative solutions, cross discipline thinking, presentation and graphic design; These are the most valuable tools.</p>
<p>For me, the most impactful and resonant IT strategies have been created when I have simply mulled over the business strategic problems for a period of time, and one day woken up thinking &#8220;aha &#8211; this is what IT should do to respond to those&#8221;.  I have wondered if this process could somehow be defined or mapped out, like an engineering process, but alas, lately I have come to believe it is not a process, so much as an art.  Now every artist has their own creative process, but most use the same tools: easel, paintbrush, paints etc.</p>
<p>So in this series I shall attempt to describe my own creative process, and also some of the tools I believe every IT strategist could employ to great benefit.</p>
<p><span id="more-146"></span><br />
I know this blog has been dormant for some time, but I am inspired again!<br />
2 years in the public sector are behind, and I&#8217;m back in the world of action, and results!  <img src='http://www.sobercounsel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><!--more--><br />
next time: Tools of the IT strategist.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=973a66d1-2c88-88eb-84e8-769b14986463" alt="" /></div>
<p class="technorati-tags"><a rel="tag" href="http://technorati.com/tag/IT%20Strategy">IT Strategy</a>, <a rel="tag" href="http://technorati.com/tag/IT%20Management">IT Management</a></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2010/11/10/strategic-alignment-the-it-holy-grail-part-1/</feedburner:origLink></item>
		<item>
		<title>From Planes to Trains</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/dcSJoeKCZXU/</link>
		<comments>http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 04:08:11 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/</guid>
		<description><![CDATA[I&#8217;ll be starting today at PRASA (Passenger Rail Agency South Africa).&#160; There are a number of reasons for this move, but primarily it is an opportunity to do even more for South Africa, that will impact more people. Also this &#8230; <a href="http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be starting today at <a href="http://www.prasa.com/">PRASA</a> (Passenger Rail Agency South Africa).&nbsp; There are a number of reasons for this move, but primarily it is an opportunity to do even more for South Africa, that will impact more people. </p>
<p>Also this role presents the challenge of unifying solutions across previously disparate organistions.&nbsp; Something I am familiar with from my time in Stockbroking IT, where company mergers happened fairly often.</p>
<p>My presentation for &#8220;Help Desk &amp; IT Service Management World Africa 2009&#8243; (whew, what a name) is coming along, and I&#8217;m hoping it will be a lot of fun, as well as giving everyone some useful thinking tools.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=2f8e51f2-6653-88fa-afc1-0bc8e4c8951e" /></div>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2009/08/03/from-planes-to-trains/</feedburner:origLink></item>
		<item>
		<title>Keynote address at Contact Centres World.</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/YETGmvwRB8o/</link>
		<comments>http://www.sobercounsel.com/2009/06/08/keynote-address-at-contact-centres-world/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 17:48:03 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=130</guid>
		<description><![CDATA[I will be delivering a Keynote address at the Contact Centres World &#8211; Africa 2009 convention. The Topic will be: Enabling business growth and innovation in a technologically converged world Technology convergence impacts on service quality Developing a consolidated ICT &#8230; <a href="http://www.sobercounsel.com/2009/06/08/keynote-address-at-contact-centres-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div><img src="http://www.sobercounsel.com/wp-content/uploads/2009/06/moz-screenshot.jpg" alt="" /><br />
<img src="http://www.sobercounsel.com/wp-content/uploads/2009/06/moz-screenshot-1.jpg" alt="" /></p>
<div>I will be delivering a Keynote address at the Contact Centres World &#8211; Africa 2009 convention.</p>
<p>The Topic will be:<br />
Enabling business growth and innovation in a technologically converged world</p>
<ul>
<li> Technology convergence impacts on service quality</li>
<li> Developing a consolidated ICT environment through long term vendor partnerships</li>
<li> Achieving more with less resources</li>
</ul>
</div>
<div>I&#8217;ll have some great prizes to hand out and there will be a raffle to be the next person interviewed on my Podcast show &#8220;PlanIT&#8221; hosted by ITWeb. (www.discussit.co.za)  See you there!</div>
</div>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2009/06/08/keynote-address-at-contact-centres-world/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2009/06/08/keynote-address-at-contact-centres-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2009/06/08/keynote-address-at-contact-centres-world/</feedburner:origLink></item>
		<item>
		<title>Why Strategies aren’t implemented.</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/HFbsID2xgKE/</link>
		<comments>http://www.sobercounsel.com/2008/08/24/why-strategies-arent-implemented/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 11:01:23 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Buy-in]]></category>
		<category><![CDATA[Change]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=124</guid>
		<description><![CDATA[Have you ever said something that sounds really silly, then replayed it in your head and thought &#8220;Actually that&#8217;s really profound&#8221;. I was trying to describe the strategic process to someone the other day and I ended up saying: &#8220;If &#8230; <a href="http://www.sobercounsel.com/2008/08/24/why-strategies-arent-implemented/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have you ever said something that sounds really silly, then replayed it in your head and thought &#8220;Actually that&#8217;s really profound&#8221;.</p>
<p>I was trying to describe the strategic process to someone the other day and I ended up saying:</p>
<blockquote><p>&#8220;If you have no desire to be somewhere else, then you must be happy with where you are.&#8221;<br />
- Me</p></blockquote>
<p>I immediately thought &#8220;what a stupid and obvious thing to say&#8221;  then I thought &#8220;No, that is exactly right!&#8221;</p>
<p>If people are happy where they are, and have no desire to be somewhere else, then they have absolutely no motivation to move.  They will stay where they are.</p>
<p>This in the context of strategy is why strategies are often not implemented.  The people who are supposed to implement them have no desire to be &#8220;somewhere else.&#8221;</p>
<p>One of my professors at Wits Business school, Prof. Rasoava Rijamampianina &#8220;Rija&#8221; used to say:</p>
<blockquote><p>&#8220;The only person who appreciates change is a baby with a wet nappy&#8221;<br />
- Prof. Rija</p></blockquote>
<p>This is really it.  Have we as strategists spent enough time on the consequences of NOT changing.  If the organisation believes it is OK where it is, or that the strategy is not addressing the right problems then change will not happen.  What&#8217;s more if the change is forced it will only be sustained as long as the leader who forced it is continuously maintaining it.  As soon as that leader leaves, the fascade of change will fall off.</p>
<ul>
<li>The People implementing it need to believe in it.</li>
<li>They need to understand why staying where they are will be disastrous.</li>
<li>They need to understand why it will be &#8220;so much better&#8221; where we are going</li>
<li>They need to believe in both of those.</li>
</ul>
<p>Simple.</p>
<p>This doesn&#8217;t mean the strategy is the right one, or that any of the promises it makes are true.  We have many examples from history of people fervently and whole-heartedly striving for something totally wrong.  The strategy was wrong, the outcome disastrous but the strategy WAS IMPLEMENTED.</p>
<p>The skill of the strategist is two-fold then.</p>
<ul>
<li>Find the &#8220;best&#8221; strategy for the organisation that will have desirable outcomes.</li>
<li>Convince the implementers of the need to change.</li>
</ul>
<p>Some of my stakeholders will say, &#8220;Yes, Yes, Yes!  That is exactly what we need!  We agree.  Let&#8217;s do that&#8221; and then they proceed to do nothing.</p>
<p>Intellectually they agree with the proposed strategy, but they do not believe it will be implemented, or they believe it will not address their immediate needs.  This is of course the proverbial &#8220;self-fulfilling prophecy.&#8221;</p>
<p>Watch out for this. Those people need special attention. A strategy will not be implemented if the people who have to implement it do not believe in it as evidenced by their actions.</p>
<p>I have waffled a bit, but I think the point is clear:</p>
<ul>
<li>Make sure your stakeholders believe in the proposed strategy.</li>
<li>Measure their belief by their actions, not their words.</li>
<li>If you want it to be sustainable, avoid the temptation to use &#8220;Brute Force&#8221; to get it implemented.</li>
</ul>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/08/24/why-strategies-arent-implemented/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/08/24/why-strategies-arent-implemented/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/08/24/why-strategies-arent-implemented/</feedburner:origLink></item>
		<item>
		<title>Architectural Patterns:  A Pattern</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/g-8jAgCGvzE/</link>
		<comments>http://www.sobercounsel.com/2008/08/18/architectural-patterns-a-pattern/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 17:51:01 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Patterns]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=115</guid>
		<description><![CDATA[We have often in the past struggled with the process of establishing some architectural patterns. It is probably one of those things, that if you try to find a use for it, you will fail, but one day it will &#8230; <a href="http://www.sobercounsel.com/2008/08/18/architectural-patterns-a-pattern/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have often in the past struggled with the process of establishing some architectural patterns.</p>
<p>It is probably one of those things, that if you try to find a use for it, you will fail, but one day it will suddenly be obvious.</p>
<p>One of my esteemed colleagues was working on an audit of a Disaster recovery capability for one of our business units.  During the course of his work he was mapping out the locations of all of the servers and the links, and since this was a high availability solution, when he was done he had drawn a picture representing a typical high availability solution, with links to a disaster recovery site for replication and clustered servers for redundancy and load balancing etc.</p>
<p>We decided to abstract the drawing he had made to a more generic view, listing instead of the actual server names, simply the roles they played, like &#8220;Application Server&#8221;, &#8220;Web Server&#8221; etc.  Abstracted a bit further we had a picture of what a typical high availability solution should look like in our environment.</p>
<p>It was a simple job to extrapolate from there what a &#8220;Continuous Availability&#8221; solution and what a Regular and Budget solution should look like.  So what we had now was a set of &#8220;Deployment Patterns&#8221; for solution hosting.  From Low-end to High-end requirements.  Next we gave them names and described their defining characteristics.  The &#8220;Budget&#8221; offering would have daily backups and if it failed we would order new hardware with up to 3 weeks of lead time. Each pattern inherited more characteristics as they became clear: Recovery time objectives, Recovery point objectives, Availability targets etc.</p>
<p>So now when we refer to a Bronze deployment or a Silver Deployment, everyone should immediately have in mind the same set of characteristics, and pricing level.</p>
<p>Then we publish a nice little poster describing the patterns we have discovered.  Patterns are discovered, not created.  Standards are created, but patterns usually already exist.  We know what &#8220;Should&#8221; be done in a given set of circumstances and what typically &#8220;Has been&#8221; done before.  The trick is seeing how things relate to one another. &#8220;Ahh, these are different types of hosting deployments, and they have different levels of availability requirements.&#8221;</p>
<p>Another point to note is that patterns come in sets.  We have a set of hosting patterns, a set of monitoring patterns, a set of integration patterns.  We cannot sit down with the objective of creating &#8220;Architectural Patterns&#8221; without an understanding of their objectives.</p>
<p>In <a href="http://hillside.net/patterns/Siemens/book.html"><em>Pattern-Oriented Software Architecture: A System of Patterns</em></a>, (F. Buschmann, R. Meunier, H. Rohnert, P.Sommerlad, and M. Stal, John Wiley and Sons, 1996) three types of patterns are noted:</p>
<ul>
<li>An <strong>Architectural Pattern</strong> expresses a fundamental structural     organization or schema for software systems. It provides a set of predefined subsystems,     specifies their responsibilities, and includes rules and guidelines for organizing the     relationships between them.</li>
<li>A <strong>Design Pattern</strong> provides a scheme for refining the subsystems or     components of a software system, or the relationships between them. It describes commonly     recurring structure of communicating components that solves a general design problem     within a particular context.</li>
<li>An <strong>Idiom</strong> is a low-level pattern specific to a programming language. An     idiom describes how to implement particular aspects of components or the relationships     between them using the features of the given language.</li>
</ul>
<p>From the Book above and some adaptations of other pattern concepts I have adapted this Pattern for Patterns:</p>
<ul>
<li><strong>Name</strong>: A meaningful and memorable way to refer to the pattern, typically a single word or short phrase.</li>
<li><strong>Problems to be solved: </strong>Describes the problem to be solved, with reference to the goals and objectives as appropriate.</li>
<li><strong>Pre-context: </strong>The conditions relevant to the pattern that exist before the pattern is applied.</li>
<li><strong>Principles: </strong>Adopted rules, policies and predetermined modes of action for the pattern.</li>
<li><strong>Solution</strong>: A description of how the problem is solved.</li>
<li><strong>Products</strong>: Example products which can be used to implement the pattern.</li>
<li><strong>Resulting context: </strong>The conditions that result after the pattern is applied, including resolution of competing forces.</li>
<li><strong>Resulting context owner</strong>:    The enterprise client who owns the benefits of the resulting context. Typically this would also be the owner of the requirement for this functionality.  This may be a role rather than an individual e.g. &#8220;Operations Manager&#8221;,&#8221;Integration Committee&#8221; etc.</li>
<li><strong>Examples: </strong>Sample applications of the pattern.</li>
<li><strong>Rationale: </strong>A description of why the solution is solved in a particular way – possibly describing the key trade-offs made between competing forces.  For example:
<ul>
<li>Security, robustness, reliability, fault-tolerance</li>
<li>Manageability</li>
<li>Efficiency, performance, throughout, bandwidth requirements, space utilization</li>
<li>Scalability (incremental growth on-demand)</li>
<li>Extensibility, evolvability, maintainability</li>
<li>Modularity, independence, reusability, openness, composability (plug &#8216;n play), portability</li>
<li>Completeness and correctness</li>
<li>Ease of construction</li>
<li>Ease of use</li>
<li>&#8230; etc.  <strong><em>(SEE MY PREVIOUS POST ON TRIZ&#8230;)</em></strong></li>
</ul>
</li>
<li><strong>Related patterns:</strong> Related patterns are predecessor, successor and alternative patterns, which provide similar solutions.</li>
<li><strong>Parent pattern: </strong>If this pattern is completely contained within another pattern, the name of the containing pattern.</li>
<li><strong>Sub-patterns: </strong>Patterns which provide specialised behaviour yet are completely contained within this pattern.</li>
<li><strong>Known uses: </strong>Known applications of the pattern.</li>
<li><strong>Immediate predecessor patterns: </strong> Other patterns that contributes to the immediate pre-context of this pattern, i.e. They give inputs that are critical to the functioning of this pattern.</li>
<li><strong>Immediate successor patterns: </strong>Other patterns that depends on this pattern for their pre-context, i.e. This pattern must provide inputs to these successor patterns.</li>
<li><strong>Security considerations: </strong>Security aspects that must be considered for the pattern.  Does this pattern treat sensitive data or have capabilities that should be secured.</li>
</ul>
<p>The Names of the various Patterns should be used in a &#8220;Framework&#8221; or Navigation matrix that will help a user to select the appropriate pattern for their particular use.  An Example of this is a set of Monitoring Patterns that we have created.  The Framework indicates monitoring &#8220;objectives&#8221; (SLA Management, Operations Management etc) as column headings and the &#8220;activities&#8221; (Instrumentation, visualisation, correlation etc) as row headings.  At the intersection of each pair is a pattern name.  Find the point in the matrix that best matches your specific intentions and you will have a specific pattern or set of patterns indicated for your business or technical problem.  It is really important to have this navigation structure in place to help users find their way through a potential maze of options.</p>
<p><strong>Some Resources:</strong></p>
<ul>
<li><a href="http://www.opengroup.org/architecture/togaf7-doc/arch/p4/patterns/patterns.htm" target="_blank">The Open Group</a></li>
<li><a href="http://hillside.net/patterns/" target="_blank">Patterns Home Page</a></li>
<li><a href="http://g.oswego.edu/dl/pd-FAQ/pd-FAQ.html" target="_blank">Patterns-Discussion     FAQ</a></li>
<li><a href="http://www.enteract.com/%7Ebradapp/docs/patterns-intro.html" target="_blank">Patterns     and Software: Essential Concepts and Terminology</a></li>
<li><a href="http://martinfowler.com/eaaCatalog/" target="_blank">Catalog of Patterns</a></li>
</ul>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/08/18/architectural-patterns-a-pattern/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/08/18/architectural-patterns-a-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/08/18/architectural-patterns-a-pattern/</feedburner:origLink></item>
		<item>
		<title>The Benefits of Idempotence</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/-KXra_zUmBA/</link>
		<comments>http://www.sobercounsel.com/2008/08/11/the-benefits-of-idempotence/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 08:14:21 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=111</guid>
		<description><![CDATA[This is supposed to be an IT philosophy blog, but I&#8217;ll argue that Idempotence should be a coding philosophy. Loosely, something that is Idempotent (Idem:Once, Potent:Having effect) will have an effect only the first time it is executed or will &#8230; <a href="http://www.sobercounsel.com/2008/08/11/the-benefits-of-idempotence/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is supposed to be an IT philosophy blog, but I&#8217;ll argue that Idempotence should be a coding philosophy.</p>
<p>Loosely, something that is Idempotent (Idem:Once, Potent:Having effect) will have an effect only the first time it is executed or will have exactly the same result every subsequent time it is executed.</p>
<p>Some say that dividing or multiplying by 1 is an idempotent operation.  In a coding sense I disagree somewhat.  Dividing or multiplying by 1 NEVER changes the result, not even the first time.  So maybe multiplying by zero is a more appropriate example of idempotence.  It changes the result the first time it is executed, but thereafter has no further effect if executed multiple times (i.e. after the first time you are multiplying zero by zero and the result will of course remain zero)</p>
<p>In software this translates into writing code that knows when it has already been &#8220;effective&#8221; and that if it is executed a second time will have no further effect.</p>
<p>An example of this is in batch processing.  A batch program written in an object oriented way could have a stack of calls to the same process (one for each item in the batch) so the batch program simply calls the same routine once for each item in the batch.  If this routine (let&#8217;s call it the batch-item-processor) is written according to idempotent principles, then calling it twice for the same batch-item will have no harmful effect, i.e. that item will not process a second time.</p>
<p>If you have ever had to troubleshoot batch faults you will immediately recognise that this has many benefits.  As the troubleshooter, you do not have to worry about which batch entries have already been processed and which ones have not.  Once you have found the faulty batch-item and either corrected or eliminated it, you simply resubmit the whole batch.  The batch-item-processor will not allow any batch-items to be processed twice.</p>
<p>You may be tempted to code an override switch so that you can force a second-potency of the batch-item-processor for a specific transaction, however it would be more effective to reverse the effects that the &#8220;Idempotency-detector&#8221; in the batch-item-processor uses to detect whether it has been processed previously.  This would roll back to a state before that transaction processed, so the new call to this batch-item-processor would correctly process for the first time &#8220;again&#8221;.</p>
<p>When writing an idempotent batch processor it would therefore be prudent to write a reversal processor at the same time to reverse the effects of the transaction as discussed above.  In fact I would write this in a &#8220;-1&#8243;potent way <img src='http://www.sobercounsel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />    So this means it will not try to reverse transactions that have not been actually performed yet.  This means if you want to do a batch reversal you can simply submit the whole batch to the reversal processor and only transactions that have actually been processed will be reversed.  It&#8217;s the same principle in reverse.</p>
<p>The key here is that you give sufficient intelligence to the batch-item-processor and reversal routine to know when it is safe for them to execute.  This is a higher principle than idempotence.  Appropriate-potence: A code-object knows when it can/should process and will not process until those conditions are met.  For example if you call a step in a process which requires that previous steps have already completed, it will simply respond that it cannot run yet because these upstream processes have not yet completed.  Depending on the process you may put it then into a polling loop checking for that state to occur.  Every subsequent call simply responds that it is waiting to run and the new instance terminates itself while the original continues to wait.</p>
<p>NOW you can start building an intelligent network of objects that together form an optimised just-in-time no-lag process in which every step performs at the moment it needs to.  As soon as a required state is reached the dependent process will begin its tasks.  This means that to initiate a process you simply call the LAST step in the process and as it checks state, all the way up the stack it will have initiated the whole process.  If you create a monitor agent for the required state for the FIRST step in the process an event can be generated that triggers this LAST step in the process, and hence the entire end-to-end process is automated.</p>
<p>Another side effect of giving each step the intelligence to know when it can run is that you manage dependencies at each node, you do not have to create a complex dependency matrix, simply worry about the dependencies of each object and let the network of objects calculate the matrix in runtime.</p>
<p>I&#8217;m sure there are many examples of this having been done before.  Leave a comment if you have tried this, or implemented a cool example of this approach &#8211; or of course if you simply want to make a comment.  Find the &#8220;Respond&#8221; link below the Article date in the Article Header.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/08/11/the-benefits-of-idempotence/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/08/11/the-benefits-of-idempotence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/08/11/the-benefits-of-idempotence/</feedburner:origLink></item>
		<item>
		<title>TRIZ, but those Russians are clever!</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/64I3UVTUpb0/</link>
		<comments>http://www.sobercounsel.com/2008/08/06/triz-but-those-russians-are-clever/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 11:47:10 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Trends]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Solutions Design]]></category>
		<category><![CDATA[TRIZ]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=89</guid>
		<description><![CDATA[A while back I came across a concept called TRIZ.  Concepts and techniques that are used in non-English speaking countries sometimes do not get translated quickly into use in our insular English worldview. Triz is a Russian Engineering tool that &#8230; <a href="http://www.sobercounsel.com/2008/08/06/triz-but-those-russians-are-clever/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A while back I came across a concept called TRIZ.  Concepts and techniques that are used in non-English speaking countries sometimes do not get translated quickly into use in our insular English worldview.</p>
<p>Triz is a Russian Engineering tool that has been used for some time.  It is apparently a definitive list of design trade-offs that should be considered in any engineering design.  It Consists of 39 <em>Features</em> of any solution and 40 <em>Principles</em> that may be applied to address trade-offs of those <em>Features</em>.</p>
<p>see: <a title="TRIZ journal" href="http://www.triz-journal.com/">http://www.triz-journal.com/</a></p>
<p>and</p>
<p><a title="Innovation TRIZ" href="http://www.innovation-triz.com/">http://www.innovation-triz.com/</a></p>
<p>So the 39 <em>Features</em> are placed on both the X and Y axes of a matrix and when you need to optimize one of them you will find the list of principles (from the 40 possible principles) to apply, at the intersection point of the potentially conflicting <em>Features</em>.  I won&#8217;t place the matrix here as that has been done on the sites listed above.  (These 39 <em>Features</em> have yet to be translated into Software System analogs.  Has anyone done this yet, or does anyone know of a Software version of the list of <em>Features</em> anywhere?)</p>
<p>Some proponents of TRIZ found that in software system design these engineering and innovation principles can be applied by simply shifting the terminology from engineering terms to Systems Terms.  The 40 <em>Principles</em> of TRIZ for software are listed here: <a title="TRIZ for Software" href="http://www.triz-journal.com/archives/2001/09/e/index.htm">http://www.triz-journal.com/archives/2001/09/e/index.htm</a>.</p>
<p>I believe that this approach is focused too much on software engineering and is not that clear when a solution architect or systems designer needs to apply these principles i.e. some of these analogs get into coding algorithms instead of modular design.</p>
<p>I have created a slant on these 40 principles that may be more useful to a solutions architect by abstracting some of the principles slightly (others are left intact as per the TRIZforSoftware site).  (Note: this list now includes suggested changes as per <a title="CM Consulting" href="http://www.cm-consulting.ch" target="_blank">Dr Claude Meylan&#8217;s</a> comment) :</p>
<ol>
<li><strong>Segmentation</strong> – Selecting an appropriate degree of Segmentation.  Some problems require a Unique approach to segmentation.</li>
<li><strong>Interference</strong> – Will this affect other Systems or will other Systems interfere with this system</li>
<li><strong>Local Quality</strong> – Will we have to make special exceptions to our standards to improve the quality of the solution for this specific instance?</li>
<li><strong>Load Balancing / Resource Utilization</strong> – Is the design making optimal use of resources as well as appropriate use of load balancing/ parallel processing</li>
<li><strong>Consolidation</strong> – Sometimes it is appropriate to perform multiple functions in a single module or sometimes processes are so similar it would make sense to consolidate them</li>
<li><strong>Universality (mulitfunction or Personalisation)</strong> – It may be appropriate to build a module or system in a way that it can be personalized or that it can serve multiple purposes.</li>
<li><strong>Nesting (classes within classes) –</strong> Nesting of Classes can add to reuse</li>
<li><strong>Multi-Context (reuse within multiple contexts) </strong> &#8211; sometimes a system or module built for another purpose is actually reusable within a different context altogether</li>
<li><strong>Pre-Processing </strong></li>
<li><strong>Just in Time action without lag</strong> – is every module aware of when it can start processing to avoid slack or unnecessary load.</li>
<li><strong>Pre-compensation</strong> for reliability problems – what periodic procedures can ensure a greater degree of reliability or stability.</li>
<li><strong>Equipotentiality</strong> – Various modules within a system must be equally scaled</li>
<li><strong>Ability to Rollback</strong> – The system must be able to rollback transactions that cannot be fully processed.</li>
<li><strong>Abstract / complex Data structures</strong> – Does the system really require the flexibility of Abstract data-structures or will straightforward design suffice.  Is it futureproof without these?  Will it be replaced anyway?</li>
<li><strong>Optimal Operating Conditions</strong> -</li>
<li><strong>What if the system fails half-way or does too much</strong> – Will it be possible to interrogate the system / data-artefacts and determine what happened / how to fix it – or is the system intelligent enough to roll back/forward to a valid state.</li>
<li><strong>Affecting other Systems, Data or layers</strong></li>
<li><strong>Rate of Operation</strong> – How fast does the system need to operate?  What is the potential future requirement.</li>
<li><strong>Scheduling</strong> – When will the system need to run?  Is Self-Scheduling part of the design?</li>
<li><strong>Idle Time</strong> – optimal load – Is the system Idle for stretches of time and then overloaded for others?</li>
<li><strong>Burst mode / peak load</strong> – how will the system cope with peaks in load?</li>
<li><strong>Convert harm into benefi</strong>t  &#8211; Is there some inherent problem in the process that we can use to our benefit or at least be alerted of should the event occur.</li>
<li><strong>Feedback</strong> – How much Feedback does the system need to give? Too much will slow it down, too little will leave operators wondering if it is functioning properly.</li>
<li><strong>Intermediary Layers</strong> : middleware – Required?  What about SOA?</li>
<li><strong>Self-servicing</strong> (built in updating / alerting) – Does the system automatically raise alerts or check for a newer version of itself or at least submit traps to a monitoring system.</li>
<li><strong>Copying</strong> &#8211; how easy to deploy elsewhere?</li>
<li><strong>Disposal</strong> – will it be easy to replace or dispose of? Is the data migrateable and is the level of loose-coupling appropriate so that other systems feeding off it can be converted to talk to the replacement system easily.</li>
<li><strong>Alternatives</strong> to this process (What if we did the whole process another way?)</li>
<li><strong>DMA or Meta-Data structures</strong> – Are there parameters in the system that will restrict us going forward that we could address by a dynamic design.</li>
<li><strong>Wrapper Objects</strong> – Are there existing objects we could wrap to use in the project, or will the new ones be more widely usable with some for of wrapper.</li>
<li><strong>Required to be less than optimal</strong> – e.g. chess: beginner levels.  See Equipotentiality – a system feeding another system may need to operate less-than-optimally.</li>
<li><strong>User Interface appearance &amp; usability</strong></li>
<li><strong>Homogeneity</strong> – Container Objects – Is it all implemented “The way we do it”</li>
<li><strong>Code self-healing / intelligence &amp; Garbage Collection</strong> – Are appropriate clean-up processes designed-in?</li>
<li><strong>Transformation properties</strong> &#8211; Multi-role objects – Some objects may be reusable</li>
<li><strong>Phase transition</strong> – unexpected behaviour</li>
<li><strong>Storage or Memory utilisation</strong> during operational cycles</li>
<li><strong>Encryption</strong> – required?  Appropriate level.</li>
<li><strong>Not affecting the live environment</strong> during testing &#8211; Test Harness</li>
<li> <strong>Use mulitple methods</strong> to attack the bigger problem</li>
</ol>
<p>(adapted from TRIZ for Software: 40 engineering principles.)</p>
<p>This may be a useful checklist for a solution architect to check their design and optimise the proposed solution.</p>
<p>I&#8217;m still working on translating the 39 Features.</p>
<p>Good luck.  Have fun.  Any comments welcome.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/08/06/triz-but-those-russians-are-clever/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/08/06/triz-but-those-russians-are-clever/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/08/06/triz-but-those-russians-are-clever/</feedburner:origLink></item>
		<item>
		<title>Architecting for performance: What is performance?</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/XF_OHEHdUnc/</link>
		<comments>http://www.sobercounsel.com/2008/07/23/architecting-for-performance-what-is-performance/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 07:45:43 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[ITSM]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Improvement]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=79</guid>
		<description><![CDATA[Have a look at this video clip before we get into the concept of understanding performance. Video clip: Fiat Bravo vs. Ferrari 550 Maranello vs. Ferrari F1 The three cars in this video are clearly very different. For a formula &#8230; <a href="http://www.sobercounsel.com/2008/07/23/architecting-for-performance-what-is-performance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have a look at this video clip before we get into the concept of understanding performance.</p>
<p>Video clip:</p>
<blockquote><div class="youtube-video"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/F-wV134VwnQ" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/F-wV134VwnQ" wmode="transparent"></embed></object></div>
</blockquote>
<p>Fiat Bravo vs. Ferrari 550 Maranello vs. Ferrari F1</p>
<p>The three cars in this video are clearly very different.  For a formula one car the objective is easy to define. &#8220;Get around the track as fast as possible while meeting all FIA regulations and maintaining appropriate (two race) reliability of every component.&#8221;</p>
<p>For a Ferraro F550 it is a little more difficult to define. Probably somerhing like &#8220;Meet super-luxury standards and reliability for a road going sports car while offering super-car performance at a super-car price-point.&#8221;</p>
<p>For the fiat it is more likely &#8220;provide basic mass producable budget transportation&#8221;</p>
<p>Based on their specific goals it is obvious that we would define performance slightly differently.</p>
<p>For the F1 car it is about winning the constructors championship. For the GT car it is being recognized as the best luxury sports car. For the fiat it is about sales and market share in the budget category.</p>
<p>The point is that for three products produced by the same organisation the goals are completely different and the performance goals are consequently completely different as well.</p>
<p>The key is understanding your goals, understanding how you could measure success, and then target optimizing those metrics.</p>
<p>My view is that architecting for performance starts here. It isn&#8217;t a one- time thing either. This is why monitoring is key.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/07/23/architecting-for-performance-what-is-performance/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/07/23/architecting-for-performance-what-is-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/07/23/architecting-for-performance-what-is-performance/</feedburner:origLink></item>
		<item>
		<title>Enterprise IT Architecture Conference</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/SjoaZzGmpuE/</link>
		<comments>http://www.sobercounsel.com/2008/07/18/enterprise-it-architecture-conference/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 12:36:12 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[f1]]></category>
		<category><![CDATA[IT Asset Management]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Systems Management]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=73</guid>
		<description><![CDATA[I will be speaking at an Enterprise IT Architecture Conference on the 28th and 29th of July 2008. Attached are my Presentation Notes that I will talk to on the topic of Architecting for Performance and IT Asset Management Asset-management-practices &#8230; <a href="http://www.sobercounsel.com/2008/07/18/enterprise-it-architecture-conference/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sobercounsel.com/wp-content/uploads/2008/07/istock_000002157303small.jpg"><img class="size-thumbnail wp-image-76 alignleft" title="istock_000002157303small" src="http://www.sobercounsel.com/wp-content/uploads/2008/07/istock_000002157303small-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>I will be speaking at an Enterprise IT Architecture Conference on the 28th and 29th of July 2008.</p>
<p>Attached are my Presentation Notes that I will talk to on the topic of Architecting for Performance and IT Asset Management</p>
<p><a href="http://www.sobercounsel.com/wp-content/uploads/2008/07/asset-management-practices.pdf">Asset-management-practices</a></p>
<p><a href="http://www.sobercounsel.com/wp-content/uploads/2008/07/performance.pdf">Performance</a></p>
<p>The videos used in the Performance Presentation are:</p>
<p><a href="http://www.youtube.com/watch?v=F-wV134VwnQ&amp;feature=related" target="_blank">Fiat vs Ferrari F550 vs Ferrari F1</a></p>
<p><a title="F1 Safety Focus - Telemetry" href="http://video.google.com/videoplay?docid=-1682912035848682861&amp;hl=en" target="_blank">F1 Safety Focus &#8211; Telemetry</a></p>
<p><a href="http://www.youtube.com/watch?v=01Cm9TLqHVc&amp;eurl=http://www.downloadyoutubevideos.com/watch.php?theyturl=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D01Cm9TLqHVc" target="_blank">Alonso in McLaren vs 3 Mercedes</a></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/07/18/enterprise-it-architecture-conference/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/07/18/enterprise-it-architecture-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/07/18/enterprise-it-architecture-conference/</feedburner:origLink></item>
		<item>
		<title>Are IT people no longer fueled by Coffee?</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/ZcQL1B9m2sI/</link>
		<comments>http://www.sobercounsel.com/2008/06/26/are-it-people-no-longer-fueled-by-coffee/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 10:51:30 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=72</guid>
		<description><![CDATA[At IBM&#8217;s headquarters, a contribution to cost saving is to shut down the catering services in all but one building from Friday mornings. This means that someone wanting a cup of coffee would have to walk 10 minutes to the &#8230; <a href="http://www.sobercounsel.com/2008/06/26/are-it-people-no-longer-fueled-by-coffee/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At IBM&#8217;s headquarters, a contribution to cost saving is to shut down the catering services in all but one building from Friday mornings.</p>
<p>This means that someone wanting a cup of coffee would have to walk 10 minutes to the central building in order to get a cup of coffee.</p>
<p>So a 20m break for each cup of coffee.  Now a few techies I know have up to 8 cups of coffee in a day.  Some software developers seem to be entirely fueled by coffee.  How will this end?  Are developers no longer being fueled by coffee?  Or is this just a mistake?</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/06/26/are-it-people-no-longer-fueled-by-coffee/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/06/26/are-it-people-no-longer-fueled-by-coffee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/06/26/are-it-people-no-longer-fueled-by-coffee/</feedburner:origLink></item>
		<item>
		<title>Corporate Social Software – an opinion on ClearSpace</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/h3IcZ3XrRy8/</link>
		<comments>http://www.sobercounsel.com/2008/05/13/corporate-social-software-an-opinion-on-clearspace-by-jive-software/#comments</comments>
		<pubDate>Tue, 13 May 2008 22:05:39 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ClearSpace]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Corporate]]></category>
		<category><![CDATA[Jive Software]]></category>
		<category><![CDATA[Social Software]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=68</guid>
		<description><![CDATA[This is the first Corporate-community-based collaboration software that I have tried, and I am truly impressed.   <a href="http://www.sobercounsel.com/2008/05/13/corporate-social-software-an-opinion-on-clearspace-by-jive-software/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A lot has been written about how one might make use of WEB 2.0 and social software in a corporate.  It seems that some large consulting firms and IT companies have been trying this out for a while.</p>
<p>IBM have had their &#8220;Sametime&#8221; product for a while, and also Lotus &#8220;Connections&#8221; which is a social-networking and collaboration suite.</p>
<p>There are a few others aimed specifically at corporates, where one can purchase the software and host it internally and I intend to try a few of these (Including Lotus Connections) over the next few weeks.</p>
<p><a title="ClearSpace" href="http://www.jivesoftware.com/products/clearspace" target="_blank">ClearSpace</a> is not very well known in South Africa and in fact I had never heard of <a title="Jive Software" href="http://www.jivesoftware.com/company" target="_blank">Jive Software</a> until I found their site a few weeks ago. &nbsp;They are based in Portland, Oregon, and boast over 2000 customers and a coverage of 15% of the Fortune 500 Companies.</p>
<p>The ClearSpace 2.0 and ClearSpace Community Products are written in Java and require Java 6.</p>
<p>A while back I mentioned some of the potential I saw in <a title="Facebook" href="http://www.facebook.com" target="_blank">Facebook</a> for the Corporate. &nbsp;I wasn&#8217;t saying open Facebook to corporates to use, nor that an exact replica of Facebook would be ideal in a large corporate. &nbsp;What I was saying was that some of the social concepts that work for Facebook, would be very powerful when applied to corporate problems.</p>
<p>For example, I work on a number of projects at any given time, I have several documents in draft and pending review, I consult on various topics and sit on a number of governance and IT committees. &nbsp;Keeping track of activities and actions across all of those can be an onerous administrative task and requires discipline on my part. &nbsp;As a &#8220;creative&#8221; thinker, administration and discipline are not my strong points. &nbsp;If projects and forums and communities-of-practice had things like facebook groups where all their documents and discussions and actions were tracked, I could simply login to MY personal page and instantly see the latest activities across all of the areas I am involved with. &nbsp;That would be freedom. &nbsp;I would also no longer have any excuse to say &#8220;I didn&#8217;t know&#8221; about some decision or event or outstanding action. &nbsp;</p>
<p>Enter ClearSpace. &nbsp;This is exactly what I described above. &nbsp;The concept around which ClearSpace revovles is the &#8220;community&#8221;, not a document or post. &nbsp;For example a document sharing site revolves around &#8220;documents&#8221;. &nbsp;A Wiki revolves around the &#8220;pages&#8221; or &#8220;entries&#8221;. &nbsp;A Blog revolves around the &#8220;posts&#8221;. &nbsp;ClearSpace revolves around the community. Communities may exist because of Strategies, Projects, Topics of interest, anything that warrants creating a new area of focus. &nbsp;One can even create hierarchies of communities and the Parent Levels can aggregate the updates and feeds of their children. &nbsp;Within these communities individuals can post Blog entries, write documents, poll other users for opinions, ask questions, create discussion forums and many more. &nbsp; Almost all of these allow others to respond or comment. &nbsp;The major contributions can all be scored.</p>
<p>In addition to community blogs, individuals may also have blogs. &nbsp;individuals are attributed with the scores for their contributions. &nbsp;Individuals become &#8220;experts&#8221; on the topics they contribute on most, and are considered better experts when the ratings of their contributions are higher. &nbsp;</p>
<p>Everything in the system is based on a widget concept, so if you need a new content-type for a particular community, write the widget for it, and snap it into the framework.</p>
<p>This is the first Corporate-community-based collaboration software that I have tried, and I am truly impressed. &nbsp;</p>
<p>If you need to get people in your organisation to work together and you need a software solution to enable that, then ClearSpace is definitely one to consider.</p>
<p><strong>Ease of Use:&nbsp;9/10</strong><br />
Super easy, and a really great looking interface.&nbsp;</p>
<p><strong>Installation / Setup: 9/10</strong><br />
I used the embedded database to test with, so little setup was required.</p>
<p><strong>Admin Pages:7/10</strong><br />
Lots of menus and submenus, and I couldn&#8217;t always find the setting I wanted without browsing through a number of the admin pages.</p>
<p><strong>Engagement: 9/10</strong><br />
This pulled me in. &nbsp;I loved using it, not least of all because of how good it looks and how intuitive the user interface is.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/05/13/corporate-social-software-an-opinion-on-clearspace-by-jive-software/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/05/13/corporate-social-software-an-opinion-on-clearspace-by-jive-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/05/13/corporate-social-software-an-opinion-on-clearspace-by-jive-software/</feedburner:origLink></item>
		<item>
		<title>How Odd</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/YVskObQFIcc/</link>
		<comments>http://www.sobercounsel.com/2008/01/03/how-odd/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 16:10:44 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[customer service]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=65</guid>
		<description><![CDATA[Allow me a small rant if you would. I tried to upgrade my data contract with my cellular service provider today. Ughhhzzz. I use a month-to-month service because I want to be able to switch providers should there be a &#8230; <a href="http://www.sobercounsel.com/2008/01/03/how-odd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Allow me a small rant if you would.<br />
I tried to upgrade my data contract with my cellular service provider today. Ughhhzzz. I use a month-to-month service because I want to be able to switch providers should there be a price restructuring in South Africa. The bandwidth market is grossly overpriced here and we have seen several downward price adjustments in the last few years as a result of international competition.</p>
<p>Now all the service providers have month-to-month voice offerings, but vodacom does not have a monthly data product and Virgin does not have 3G, so for data I am with MTN. This month, I needed more than my 2gig bundle and wanted to add another 2gig. Guess what? It cannot be done. How insane is that? Here is a good customer who has exceeded his usage of your product and wants to buy more and you say sorry we cannot sell you any more unless you are prepared to pay 5 times more for the additional quantity. Wow! You would think selling a larger quantity to an existing customer would be something a company would like to do. Not so MTN. Clearly their pricing structure encorages people to buy LESS of their product. This must be some innovation in marketing that we did not cover at business school.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2008/01/03/how-odd/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2008/01/03/how-odd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2008/01/03/how-odd/</feedburner:origLink></item>
		<item>
		<title>MAC OS X Leopard Install</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/JRRAf1euuts/</link>
		<comments>http://www.sobercounsel.com/2007/10/26/mac-os-x-leopard-install/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 17:12:02 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=46</guid>
		<description><![CDATA[Wow! Just got my copy of Leopard. Unfortunately no family pack&#8217;s available, so I&#8217;ll install on one Mac, sell this copy to a friend with only one Mac (shame) once the family pack arrives and proceed appropriately.The new packaging is &#8230; <a href="http://www.sobercounsel.com/2007/10/26/mac-os-x-leopard-install/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wow!  Just got my copy of Leopard.  Unfortunately no family pack&#8217;s available, so I&#8217;ll install on one Mac, sell this copy to a friend with only one Mac (shame) once the family pack arrives and proceed appropriately.The new packaging is quite cool.<a title="opened 2" href="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260042.jpg"><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260042.thumbnail.jpg" alt="opened 2" /></a><a href="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260044.jpg"><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260044.thumbnail.jpg" alt="all the bits" /></a></p>
<p>So here&#8217;s the install process:<img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260024.thumbnail.jpg" alt="pa260024.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260025.thumbnail.jpg" alt="pa260025.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260026.thumbnail.jpg" alt="pa260026.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260027.thumbnail.jpg" alt="pa260027.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260028.thumbnail.jpg" alt="pa260028.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260029.thumbnail.jpg" alt="pa260029.jpg" /><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260030.thumbnail.jpg" alt="pa260030.jpg" /> Note in slide 3 that the install did not detect the native resolution of my monitor (Samsung 32&#8243; LCD panel)  and I had to clear the message with the monitor&#8217;s remote control.Otherwise absolutely seemless install so far.</p>
<p>Now the actual file copy part:<br />
<a href="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260001.jpg"><img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260001.thumbnail.jpg" alt="pa260001.jpg" /></a><br />
<img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260002.thumbnail.jpg" alt="pa260002.jpg" /><br />
<img src="http://www.sobercounsel.com/wp-content/uploads/2007/10/pa260003.thumbnail.jpg" alt="pa260003.jpg" /></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2007/10/26/mac-os-x-leopard-install/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2007/10/26/mac-os-x-leopard-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2007/10/26/mac-os-x-leopard-install/</feedburner:origLink></item>
		<item>
		<title>Something about Minutes</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/PLVhLXbaSac/</link>
		<comments>http://www.sobercounsel.com/2007/09/05/something-about-minutes/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 10:12:32 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Trends]]></category>
		<category><![CDATA[Blog Technology]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Meeting Minutes]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=44</guid>
		<description><![CDATA[Minutes of meetings have been around for a long time. Before email, they were circulated on paper to the attendees of the meeting. Nowdays they are circulated in a similar way, but the technology has changed &#8211; they are sent &#8230; <a href="http://www.sobercounsel.com/2007/09/05/something-about-minutes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Minutes of meetings have been around for a long time.  Before email, they were circulated on paper to the attendees of the meeting.  Nowdays they are circulated in a similar way, but the technology has changed &#8211; they are sent by email.</p>
<p>This has dealt with the following issues:</p>
<ul>
<li>Paper consumption has been reduced</li>
<li>They can be easily forwarded to additional people</li>
</ul>
<p>It has left the following problems though:</p>
<ul>
<li>minutes clog up email inboxes</li>
<li>They remain difficult to find after a while</li>
<li>they can only be seen and searched by the recipients of the minutes</li>
</ul>
<p><strong>Enter Web 2.0</strong></p>
<p>If we use an intranet/extranet based blogging solution as a method of publishing minutes, then we can solve several more problems:</p>
<ul>
<li>Any person with access can search the minutes for mention of specific topics</li>
<li>Tags categories can be applied and searched.</li>
<li>Email box clutter reduced</li>
<li>there is always a place I can go to refer to old minutes</li>
<li>If I use an RSS-Reader I can carry historical, searchable minutes with me.</li>
<li>It is easy to comment on minutes and distribute changes.</li>
<li>Many blog solutions provide a subscribe-by-email module for those users who cannot adapt.</li>
</ul>
<p>There are however certain issues:</p>
<ul>
<li>Security requirements of certain minutes will mean they have to be handled differently</li>
<li>Version control of changes to Blog  content is not very mature, or even desirable.</li>
<li>Users will need to learn to use RSS-Readers.</li>
</ul>
<p>For the most part, this will be a great solution to make it much easier to share and distribute minutes.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2007/09/05/something-about-minutes/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2007/09/05/something-about-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2007/09/05/something-about-minutes/</feedburner:origLink></item>
		<item>
		<title>The formula for Systems Monitoring</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/YTmST_F902I/</link>
		<comments>http://www.sobercounsel.com/2007/07/14/the-formula-for-systems-monitoring/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 14:57:44 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[ITSM]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[ESM]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Systems Management]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=42</guid>
		<description><![CDATA[In Formula 1 racing, monitoring and management are designed in from the beginning. All of the teams know they cannot be competitive without it and they are certain that they would not be competitive if they ignored the information provided &#8230; <a href="http://www.sobercounsel.com/2007/07/14/the-formula-for-systems-monitoring/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In Formula 1 racing, monitoring and management are designed in from the beginning.  All of the teams know they cannot be competitive without it and they are certain that they would not be competitive if they ignored the information provided by their monitoring systems.</p>
<p>In business we tend to leave the monitoring of systems as an afterthought, as a bolt-on at the end of a project, that we will do if we have some spare time.  Very few business systems are designed with monitoring in mind, from the very beginning.</p>
<p>The operations benefit and business MIS benefit of having excellent monitoring only becomes apparent, once you have experienced it.</p>
<ul>
<li>The value of having all your business systems reporting client activities into your CRM system is only evident when you have an opportunity to impress an important client on your call-centre.</li>
<li>The value of realtime transaction load monitoring is only evident when Christmastime loads start to hit your online transaction systems and you can see where your systems are starting to struggle.</li>
<li>The value of detailed audit-logging is only evident when fraud has been committed using your online systems and you can report all the pertinent details to the police in minutes.</li>
</ul>
<p>But it is costly to implement monitoring, because all of your code has to be modified and metrics thought through and added and the entire system tested and retested.  A monitoring system can be added anytime, but the instrumentation that feeds the monitor has to be designed into your system.  And it is significantly more costly to add instrumentation to a system after it is built than to have designed it in from the beginning.</p>
<p>Imagine again in Formula 1, if the team needed to add throttle position sensors to the car <strong>after</strong> it had been completely constructed.  There probably wouldn&#8217;t be space to attach the sensors and no conduit for the wires, or sufficient processing power to record all the events or adequate bandwidth to transmit all the messages back to the pit.  It will be a lot more costly to add all the necessary requirements after the car is built, than to have designed them in from the beginning.  Just take one example &#8211; not enough space for the sensor.  What do we do now?</p>
<ul>
<li>Change the design of the throttle assembly to make room?</li>
<li>Buy the smallest sensor available and shave something to make room for it?</li>
<li>redistribute the surrounding components so that there is room for the sensor?</li>
<li>make the compartment larger and retest the aerodynamics in case they have to change as a result?</li>
</ul>
<p>Wow!  It would have been much cheaper to have designed it in from the beginning.</p>
<p>Ask yourself at the requirements stage of your next system:</p>
<ul>
<li>What do I need to measure to ensure that I have the right MIS once this thing is up and running?</li>
<li>What do I need to manage in realtime when this system is running at its peak utilization.</li>
<li>What information might I need to investigate failures or misuse of the system?</li>
</ul>
<p>Don&#8217;t build it without a conscious knowledge of what it will cost to do now, versus what it will cost to add later.</p>
<p>Here is a copy of the Presentation used at the SPIN forum on 23rd August 2007:</p>
<p><a title="F1 MITTUMAL Presentation" href="http://www.sobercounsel.com/wp-content/uploads/2007/08/innovation-mittumal-pres.ppt">F1 MITTUMAL Presentation</a></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2007/07/14/the-formula-for-systems-monitoring/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2007/07/14/the-formula-for-systems-monitoring/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2007/07/14/the-formula-for-systems-monitoring/</feedburner:origLink></item>
		<item>
		<title>Dear IT, Projects are your Children</title>
		<link>http://feedproxy.google.com/~r/sobercounsel/~3/W4RXPXhUvXk/</link>
		<comments>http://www.sobercounsel.com/2007/05/29/dear-it-projects-are-your-children/#comments</comments>
		<pubDate>Tue, 29 May 2007 13:24:24 +0000</pubDate>
		<dc:creator>Malcolm Mac Donald</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[IT Relationship]]></category>
		<category><![CDATA[Lifecycle Management]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.sobercounsel.com/?p=38</guid>
		<description><![CDATA[We love our Children and we want them to grow up right, with good manners and appropriate attitudes towards the difficulties life will throw at them. When they are young we make rules that they don&#8217;t necessarily understand but have &#8230; <a href="http://www.sobercounsel.com/2007/05/29/dear-it-projects-are-your-children/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We love our Children and we want them to grow up right, with good manners and appropriate attitudes towards the difficulties life will throw at them.</p>
<p>When they are young we make rules that they don&#8217;t necessarily understand but have to obey.  It is best if they obey because they &#8220;want to&#8221; or because they love us.  They could also obey because of the consequences of diobedience, but this is less optimal.</p>
<p>As they grow up we hope that they will realise that these behaviours  are important and will be best for them in the end.</p>
<p>Projects are the same.  Testing is important.  Good design is important.  The long term view is important.  We can enforce adherence to these principles through consequences, but the very best reason for adherence is because the projects understand that it is best for them in the long-run.</p>
<p>So here&#8217;s the motive check:</p>
<p><strong>Do you love your Parents?</strong></p>
<ul>
<li>Projects, Are you behaving in the best interests of IT?</li>
<li>Are you looking out for the good of IT?</li>
<li>Do you wish good things and success for IT?</li>
<li>Projects, do you love IT?</li>
</ul>
<p><strong>Do you love your children?</strong></p>
<ul>
<li>IT, are you encouraging projects to behave right?</li>
<li>Are your motives for doing this out of concern for the long-term success and good of that project?</li>
<li>Remember these projects will always be your children, you can&#8217;t disown them</li>
<li>IT, do you love your Projects?</li>
</ul>
<p>Some children grow up being delinquent, but for the most part end up being good citizens who love their parents.</p>
<p>The motive is important.  It is evident to children and they grow up to become different sorts of people, depending on whether they are loved or not.</p>
<p><em>Projects, are you the sort of children who end up being good citizens who look after their parents in their old age?</em></p>
<p><em>IT, are you the sort of parents who genuinely care for the long-term good of your children?</em></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=144363255628317";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.sobercounsel.com/2007/05/29/dear-it-projects-are-your-children/" layout="standard" show_faces="false" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.sobercounsel.com/2007/05/29/dear-it-projects-are-your-children/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sobercounsel.com/2007/05/29/dear-it-projects-are-your-children/</feedburner:origLink></item>
	</channel>
</rss>

