<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ebenezer Ikonne: Ka anyi kwuo okwu (Let&#039;s Talk)</title>
	<atom:link href="http://eikonne.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://eikonne.wordpress.com</link>
	<description>Musings on a variety of different things</description>
	<lastBuildDate>Sun, 01 Jan 2012 03:33:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='eikonne.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ebenezer Ikonne: Ka anyi kwuo okwu (Let&#039;s Talk)</title>
		<link>http://eikonne.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://eikonne.wordpress.com/osd.xml" title="Ebenezer Ikonne: Ka anyi kwuo okwu (Let&#039;s Talk)" />
	<atom:link rel='hub' href='http://eikonne.wordpress.com/?pushpress=hub'/>
		<item>
		<title>It&#8217;s been real, see you year 2011</title>
		<link>http://eikonne.wordpress.com/2011/12/31/its-been-real-see-you-year-2011/</link>
		<comments>http://eikonne.wordpress.com/2011/12/31/its-been-real-see-you-year-2011/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 03:33:35 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=298</guid>
		<description><![CDATA[It&#8217;s almost midnight in my part of the world and the year 2011 is about to become history.  It&#8217;s been a good year ending with quite a few positives: Arsenal in 4th place in the BPL, the (LA) Lakers seem to be figuring it out, and the (Indianapolis) Colts actually won 2 games. On a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=298&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s almost midnight in my part of the world and the year 2011 is about to become history.  It&#8217;s been a good year ending with quite a few positives: Arsenal in 4th place in the BPL, the (LA) Lakers seem to be figuring it out, and the (Indianapolis) Colts actually won 2 games.</p>
<p>On a more serious note, I have learned a lot this year via various avenues and people.  I&#8217;ve been motivated to improve the quality of life within my field.  That makes the upcoming year even more exciting when I consider the possibilities that exist out there.  For all of you who have taught me something directly or indirectly, thanks.  I&#8217;ll see you all on the flip side.</p>
<p>Happy New Year.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/298/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=298&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/12/31/its-been-real-see-you-year-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Do Your Homework</title>
		<link>http://eikonne.wordpress.com/2011/11/22/do-your-homework/</link>
		<comments>http://eikonne.wordpress.com/2011/11/22/do-your-homework/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 02:33:32 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=295</guid>
		<description><![CDATA[This is just a reminder to myself and the readers of my blog that it is critical to understand the originating domain and context under which new advice/principles/practices being applied to software development came from.  Taking ideas that sound great on the surface and running with them can be catastrophic if those ideas are not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=295&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is just a reminder to myself and the readers of my blog that it is critical to understand the originating domain and context under which new advice/principles/practices being applied to software development came from.  Taking ideas that sound great on the surface and running with them can be catastrophic if those ideas are not well understood as they can easily be misapplied e.g. no testing as a reaction to &#8220;ceasing mass inspection&#8221; or the blind use of manufacturing principles in software development.  For those of us leveraging Scrum, have you read the original seminal paper on Scrum as a Product Development Game?</p>
<p>I&#8217;m not discouraging looking outside the field of software development for radical ideas as I don&#8217;t believe the field will evolve if we don&#8217;t do so.  Rather, I&#8217;m suggesting that we become more accountable in the application of these borrowed ideas.  Let&#8217;s understand that our domain is unique in its own way and grow it in a responsible manner.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/295/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=295&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/11/22/do-your-homework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Team makeup &#8211; what should we look for?</title>
		<link>http://eikonne.wordpress.com/2011/11/21/team-makeup-what-should-we-look-for/</link>
		<comments>http://eikonne.wordpress.com/2011/11/21/team-makeup-what-should-we-look-for/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 02:49:26 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[personalities]]></category>
		<category><![CDATA[t-shaped]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=290</guid>
		<description><![CDATA[People make things happen.  I&#8217;ve always believed the success of a team lies heavily on who makes up the team and it&#8217;s the managers number one responsibility to acquire the right individuals for their team.  So what  should a manager look for in potential team members?  I have three key things to look for: Technical [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=290&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>People make things happen.  I&#8217;ve always believed the success of a team lies heavily on who makes up the team and it&#8217;s the managers number one responsibility to acquire the right individuals for their team.  So what  should a manager look for in potential team members?  I have three key things to look for:</p>
<ol>
<li>Technical competency</li>
<li>T-shaped skill set</li>
<li>Personality types</li>
</ol>
<p>Technical competency should go without saying.  We need people who can do the job and do it well.  Even if they can&#8217;t do exactly what is needed, they should be capable of learning and subsequently doing what is needed.  However, beyond just being technically competent, they also need to be driven to improve technically and must have pride in their work.</p>
<p>T-shaped people can also be referred too as being &#8220;poly-skilled&#8221;.  In everyday life, most of us are poly-skilled.  We can cook, clean, read, drive and the list goes on and on.  In knowledge work, these are individuals who can do more than one thing.  For example, program in C# and write user stories or perform some DBA-type functions and also write automated tests.  In essence, these are people that are not one trick ponies. Teams that scale effectively are usually comprised of T-shaped team members.</p>
<p>The last, but most important thing, in my current opinion is looking for different <a href="http://www.personalitypage.com/high-level.html">personality types</a> to complement each other on the team.  I know of teams that have prospective new hires take personality tests and while I don&#8217;t know if I&#8217;m in favor of that yet, I can definitely see how doing so could be valuable.  Having a range of personalities on a team naturally provides for variety of opinions which is always a good thing.  For all the bullish people on the team, having a couple of bears balances things out. For all the outspoken individuals, a couple of reserved team members may help the group actually think things through</p>
<p>This was intended to be short and discussion provoking.  If you have others things you look out for, please share.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=290&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/11/21/team-makeup-what-should-we-look-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>What can we learn from the Indianapolis Colts?</title>
		<link>http://eikonne.wordpress.com/2011/10/14/what-can-we-learn-from-the-indianapolis-colts/</link>
		<comments>http://eikonne.wordpress.com/2011/10/14/what-can-we-learn-from-the-indianapolis-colts/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 15:20:55 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Design and Architecture]]></category>
		<category><![CDATA[Football]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Arsenal]]></category>
		<category><![CDATA[colts]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[nfl]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=281</guid>
		<description><![CDATA[The Indianapolis Colts are 0-5 and for one major reason &#8211; their star quarterback is hurt. Peyton Manning (who has been a symbol of durability for over decade) is out after having neck surgery and that has translated into five consecutive losses and my inability to watch the Colts play this season in essence making [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=281&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.colts.com/" target="_blank">Indianapolis Colts</a> are 0-5 and for one major reason &#8211; their star quarterback is hurt. <a href="http://en.wikipedia.org/wiki/Peyton_Manning" target="_blank">Peyton Manning</a> (who has been a symbol of durability for over decade) is out after having neck surgery and that has translated into five consecutive losses and my inability to watch the Colts play this season in essence making the NFL season non-existent for me (well except for a little thing called <a href="http://en.wikipedia.org/wiki/Fantasy_football_(American)" target="_blank">Fantasy Football</a>).</p>
<p>Is there anything to learn from the Colts debacle? Possibly. Minimize silos and specialization as much as is practically possible. Create a culture of cross-functionality.</p>
<p>American Football is a sport that thrives on having specialists. It is rare to see a player actually play more than one position consistently except in special defensive packages and/or on special teams. In fact, player height and weight can be radically different depending on what position is being played. Offensive lineman are much bigger than tight ends.  Defensive backs and safeties are not very tall. Because injuries are common place, teams have backup specialists for each position. When a starter is hurt, especially in a key position like quarterback, it can have serious ramifications on the success of the team. (Did I mention the Colts are yet to win a game.)</p>
<p>Let&#8217;s look at another sport for comparison. Football (or soccer as it is referred to State-side) is another sport with defined positions. However, strictly speaking, there is really only one specialist &#8211; the goalkeeper. Field players generally can play different positions and be quite decent at them. <a href="http://www.arsenal.com/" target="_blank">Arsenal</a> (my favorite club team) had to deploy <a href="http://en.wikipedia.org/wiki/Alex_Song" target="_blank">Alex Song</a>, usually a defensive midfielder, into a center back position due to injury for a couple of matches. <a href="http://www.fcbarcelona.com/web/english/" target="_blank">Barcelona</a> has done the same thing with <a href="http://en.wikipedia.org/wiki/Javier_Mascherano" target="_blank">Javier Mascherano</a>. But beyond that, and this is even more exciting, during the course of a game, players change positions all the time. Fullbacks &#8220;overlap&#8221; into a winger position, midfielders make runs into a striking position (a technique Barcelona has perfected) or drop back to cover a fullback that has pushed up. Teams like Barcelona and Arsenal are renowned for the fluidity and movement of their players as they change positions on the field. The ability of the players to be cross-functionality allows quick adaption even during the course of a game.</p>
<p>I see software development being more like soccer than football.  The Agile movement made popular again, the notion of &#8220;cross-functional teams&#8221;. Instead of having a bunch silo-ed specialists on a team, adaptability and flexibility comes from having what one could call a &#8220;team of generalists&#8221;. A group of people with the ability to wear multiple hats and perform different roles. In fact, I believe it was for this reason that some Agile methodologies use only the &#8220;developer&#8221; title for members of the development team. A &#8220;team of generalists&#8221; can respond to team changes such as vacations, departures or even the simple need to swarm on a given initiative in much dynamic way than a &#8220;team of specialists&#8221;.</p>
<p>Beyond just having generalists on a team from a skill perspective, it&#8217;s also important to have generalists from a domain knowledge perspective. All too often, teams will have generalists from a skill perspective only and still promote specialization in aspects of the application.  For example, Susie is the only developer who works on the invoice module.  Well what happens if Susie is out?  While specialization may seem more efficient, it reduces the ability of the team to respond to change and change is certain.  Remember, that in knowledge work, the concept of a backup is more of a fallacy than a truth.  If you are not actually doing the work, then you don&#8217;t know how to do it.</p>
<p>So how do we develop cross-functional teams? It&#8217;s critical to establish the culture of cross-functionality especially considering that it goes counter to prevailing reward systems that esteems specialization. Teams need to be educated differently. Practices and techniques like pair-programming, rotating work assignments, cross-training, wikis, documentation, collaborative design sessions should become part and parcel of way of life for the team.</p>
<p>As an exercise, take inventory on both who knows what and who can do what on your team. This will show how cross functional your team really is and where the team is exposed.  Fill those gaps, you don&#8217;t want to end up like the Indianapolis Colts.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=281&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/10/14/what-can-we-learn-from-the-indianapolis-colts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile Estimation: Guessing Intelligently</title>
		<link>http://eikonne.wordpress.com/2011/08/31/agile-estimation-guessing-intelligently/</link>
		<comments>http://eikonne.wordpress.com/2011/08/31/agile-estimation-guessing-intelligently/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 10:56:54 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[einstein]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[wideband delphi]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=260</guid>
		<description><![CDATA[Estimation is fundamentally a &#8220;guessing game&#8221; but in many environments, it is seen and used to make predictions or commitments as to when something will get done.  Even worse, is that many organizations focus very hard on trying to make commitments in the large instead of in the small.  It&#8217;s been stated many times that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=260&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estimation is fundamentally a &#8220;guessing game&#8221; but in many environments, it is seen and used to make predictions or commitments as to when something will get done.  Even worse, is that many organizations focus very hard on trying to make commitments in the large instead of in the small.  It&#8217;s been stated many times that product development is the art of creating new recipes.  There is so much uncertainty in the large.</p>
<span style="text-align:center; display: block;"><a href="http://eikonne.wordpress.com/2011/08/31/agile-estimation-guessing-intelligently/"><img src="http://img.youtube.com/vi/Miwb92eZaJg/2.jpg" alt="" /></a></span>
<p>I actually believe that estimation is an activity that should be done as infrequently as is <a href="http://eikonne.files.wordpress.com/2011/08/einstein1.jpg"><img class="alignright size-full wp-image-278" title="einstein" src="http://eikonne.files.wordpress.com/2011/08/einstein1.jpg?w=600" alt=""   /></a>possible and when done, should be extremely light-weight.  I know this might be a bit controversial, especially for my traditionalists friends, but hear me out.  I don&#8217;t see estimation as a much of value-add to the product development process in most cases.  Estimates in the large ultimately create undue pressure (not challenges) and try to impose order on an inherently complex systems.  Unfortunately, we don&#8217;t learn and keep trying and keep failing. Einstein had a description for such behavior.</p>
<p>This post is going to look at estimation in the case where a &#8220;Fixed Date&#8221; is not in place but we need to get a sense of the effort required in order to determine what should be done next or as input into a high-level release plan.  A &#8220;Fixed Date&#8221; means that a solution much be delivered or live by a certain date.  In the absence of this constraint,  I suggest a completely different approach to estimating. There is a lot of effort (possibly overhead) in planning for a Fixed Date so it must be worth it.</p>
<p>The smaller the work item, the better we generally are at estimating.  The smallest work item is usually a &#8220;task&#8221; and so if you are looking for an accurate estimate that will translates to effort (cost) and schedule (delivery), then a user story/requirement/whatever should be decomposed into all its composite tasks and every single task should be taken into consideration. I have made the mistake in the past of not having every different role explicitly specify and estimate their tasks.  For example, instead of having a business analyst, developer and tester estimate the same line item, each role estimate their tasks separately.</p>
<p>However, when beginning a new initiative (such as adding a new module) referred to as &#8220;themes&#8221; in agile speak and &#8220;requirements&#8221; in other contexts, the tasks are pretty obscure, so what do you do when you&#8217;re required to give an estimate?  Well you could go through the process of decomposing down to tasks but as mentioned above, except there is a &#8220;Fixed Date&#8221; for delivery, I wouldn&#8217;t do that.  I would start with T-Shirt sizes.</p>
<p>T-Shirt sizing provides an avenue to quickly categorize and classify themes into buckets without expending too much effort.  Now these sizes need to tie back to a common unit of measure.  In my experience, non-product development folks may not understand things like &#8220;story points&#8221; (if you are using user stories) and so hours/days may need to be used i.e. develop estimates in the language currently spoken in your environment.  I believe in using ranges in estimates given the uncertainty that is product development and to account for the <a href="http://en.wikipedia.org/wiki/Cone_of_Uncertainty">cone of uncertainty</a>.  So an example (in hours) that I just used recently could be:</p>
<ul>
<li>XS:    1 &#8211; 100 hours</li>
<li>S:       100 &#8211; 500 hours</li>
<li>M:     500 &#8211; 1000 hours</li>
<li>L:       1000 &#8211; 2000 hours</li>
<li>XL:    2000 &#8211; 5000 hours</li>
<li>XXL: 5000 &#8211; ?</li>
</ul>
<p>The key is to use a scale that works in your environment.  Maybe all your requirements are smaller i.e. under 1000 hours, then XL would be 1000 &#8211; ?.  The disadvantage with using hours/days is that most product developers are tempted to want to breakdown themes into tasks in order to provide what they consider &#8220;better&#8221; estimates.  A way to mitigate this, is to find a baseline item to work with, such as previously completed initiative (historical data) or another item within the list of themes for which there is more &#8220;confidence&#8221; about its estimate. Another key point to emphasize is that we&#8217;re just attempting to identify at a high-level how much work we think we have.  By no means should concrete plans be made on such estimates.</p>
<p>A question that I often get asked, is &#8216;who&#8217; do I think should provide these &#8220;high-level&#8221; estimates, especially on teams with different roles involved.  This is a little tricky because different roles bring different perspectives to the table.  However, my general answer is that the senior technical people who understand the domain should be the primary estimators at this level and it should ideally be more than 2 people.  Leverage the <a href="http://en.wikipedia.org/wiki/Wisdom_of_the_crowd">wisdom of the crowd</a>.  Use the <a href="http://en.wikipedia.org/wiki/Wideband_Delphi">Wideband Delphi</a> method.  When discrete tasks are being estimated, get everyone involved.</p>
<p>Assuming the &#8220;<a href="http://en.wikipedia.org/wiki/Cost_of_delay">cost of delay</a>&#8221; for a theme has been determined, the result of the estimation process should help drive the selection of the factor should determine.</p>
<p>What do you think?  How do you (if you) estimate large requirements or themes?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/260/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=260&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/08/31/agile-estimation-guessing-intelligently/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>

		<media:content url="http://eikonne.files.wordpress.com/2011/08/einstein1.jpg" medium="image">
			<media:title type="html">einstein</media:title>
		</media:content>
	</item>
		<item>
		<title>Effectiveness or Efficiency?</title>
		<link>http://eikonne.wordpress.com/2011/08/18/effectiveness-or-efficiency/</link>
		<comments>http://eikonne.wordpress.com/2011/08/18/effectiveness-or-efficiency/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 16:29:10 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[effective]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[Nigeria]]></category>
		<category><![CDATA[systems thinking]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=242</guid>
		<description><![CDATA[On one of the discussion groups that I&#8217;m a member of had a thread that started a discussion on what software development is really after, effectiveness or efficiency.  I&#8217;ve thought about this over the past couple of days and just decided to dump some thoughts on the matter. Borrowing Peter Drucker&#8217;s definitions for the two [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=242&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On one of the discussion groups that I&#8217;m a member of had a thread that started a discussion on what software development is really after, effectiveness or efficiency.  I&#8217;ve thought about this over the past couple of days and just decided to dump some thoughts on the matter.</p>
<p>Borrowing Peter Drucker&#8217;s definitions for the two words, effectiveness means &#8220;doing the right things&#8221; and efficiency means &#8220;doing things right&#8221;.  Note that both things are inherently mutually exclusive.  If I am driving to work in the wrong direction, I&#8217;m being efficient (by driving since by walking I would never get there) but not effective because I&#8217;ll never get to work. However, if I take the scenic route to work adding another hour to my commute, then I&#8217;m being effective (I will arrive at work) but probably not that efficient. Generally speaking, one always wants to be effective, but being efficient could be considered optional.  So if this is the case, which is more important in software development?</p>
<p>I grew up in Nigeria and spent a good portion of my childhood cutting grass and thick foliage with either a cutlass or machete. <a href="http://eikonne.files.wordpress.com/2011/08/cutlass2.png"><img class="alignright size-medium wp-image-247" title="cutlass2" src="http://eikonne.files.wordpress.com/2011/08/cutlass2.png?w=300&#038;h=225" alt="" width="300" height="225" /></a><a href="http://eikonne.files.wordpress.com/2011/08/cutlass.png"><br />
</a>It was a highly effective way of cutting the grass as it got the job done. It also left me very hungry afterwards!   But I remember having to spend days cutting grass given the size of portions I had.  Interestingly enough, on the university campus that I grew up on, the landscaping team also used cutlasses to the cut the grass of all the fields on campus.  It would take days for them to complete, and areas like our football (soccer for my American friends) fields would be last on the list causing us to go weeks without playing at times.  For those who know me well, you definitely realize how tragic this must have been for me.</p>
<p>Then the university made an investment in riding movers <a href="http://eikonne.files.wordpress.com/2011/08/ridingmower1.jpg"><img class="alignright size-full wp-image-246" title="ridingmower" src="http://eikonne.files.wordpress.com/2011/08/ridingmower1.jpg?w=600" alt=""   /></a>and all of a sudden, it no longer took weeks to cut the grass, it was all done in a matter days.  The university leadership realized that even though the right thing was being done (effectiveness), it wasn&#8217;t being done in the right way (efficient) given the size of the campus. Introducing riding mowers allowed the grass to be cut quickly and consistently, improving the overall aesthetics and beauty of the campus.  It also opened up the doors for the landscaping team to do other things besides just cut grass! Most importantly, it allowed yours truly to play football whenever I wanted to because the fields were always in tip-top shape. The landscaping team was now both effective and efficient.</p>
<p>It&#8217;s easy to understand why being effective is important &#8211; we all want to do the right thing and I would suggest that a lot of our energies go towards effectiveness (especially when agile practices are employed).  It&#8217;s much easier to see ineffectiveness.  Your &#8220;customer&#8221; will tell you. Efficiency on the other hand can be a little more subtle &#8211; it&#8217;s harder to see, harder to challenge and harder to understand.  If things are working (effective), in my experience, efficiency takes a back seat.  The classic &#8220;if it ain&#8217;t broke why fix it ?&#8221; approach to things. Yet, efficiency allows us to scale our operations providing us with the opportunity to do other things including living more fulfilling lives!  We are inherently making our company more profitable because we are possibly getting more done in the same amount of time as before. Remember, time is money.  For example, manually  executing a hundreds of test cases may be very effective but is probably inefficient and so to improve efficiency, we decide to automate tests allowing testes to focus on exploratory scenarios or help with requirements gathering.  We don&#8217;t need cross-functional teams to be effective.  We introduce cross-functional teams because makes all the roles/functions needed to deliver solutions readily available to us.  It reduces communications challenges and allows us to respond to each other in minutes instead of days.  It improves the overall efficiency of the team.  The same is true for co-located teams.  That being said, it&#8217;s important to note that improving efficiency can also be an expensive undertaking. It&#8217;s important to a have &#8220;sense&#8221; or &#8220;feel&#8221; for what the gain in efficiency is really going to provide and what the objectives are.</p>
<p>Is it okay to be inefficient in order to be effective?  Sure.  I&#8217;m familiar with at least two cases (I imagine there are others) such as having multiple people on a team researching a critical production issue or not having members on the team with siloed responsibilities such as &#8220;application developer&#8221;, &#8221;database developer&#8221; or &#8221;UI developer&#8221;.    We&#8217;ve given up some efficiency in order to be effective by allowing everyone to do some UI development for example.  </p>
<p>We should understand that in figuring out the &#8220;unknown&#8221; as we often do in software development, we will not be as efficient as we could be if we knew exactly what we were doing.  (Think about all the hallway discussions that occur or the back and forth that we end up realizing was not necessary after the fact).  We are conducting a bunch of experiments, coming up with new recipes.  That being said, it&#8217;s not an excuse to accept inefficiency as the status quo.  Practices such as TDD, using user stories to gather requirements and just-in-time planning, using dynamic languages to name a few, provide efficient approaches to working with uncertainty and vagueness.</p>
<p>Let me suggest that both effectiveness and efficiency are equally important in software development (except when what is being developed and delivered is of little consequence &#8211; why are you working there?) and software teams should focus on continuous improvement in both areas.</p>
<p>Photo of my very own cutlass</p>
<p>Riding Mower photo from <a href="http://www.flickr.com/photos/jharbert/4544128396/">Jeff Harbert</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=242&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/08/18/effectiveness-or-efficiency/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>

		<media:content url="http://eikonne.files.wordpress.com/2011/08/cutlass2.png?w=300" medium="image">
			<media:title type="html">cutlass2</media:title>
		</media:content>

		<media:content url="http://eikonne.files.wordpress.com/2011/08/ridingmower1.jpg" medium="image">
			<media:title type="html">ridingmower</media:title>
		</media:content>
	</item>
		<item>
		<title>The truth and nothing but the truth</title>
		<link>http://eikonne.wordpress.com/2011/08/02/the-truth-and-nothing-but-the-truth/</link>
		<comments>http://eikonne.wordpress.com/2011/08/02/the-truth-and-nothing-but-the-truth/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 10:24:03 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Design and Architecture]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=238</guid>
		<description><![CDATA[The blog posting  ORA-00001: Unique constraint violated popped up on Hacker News over the last couple of days (if you don&#8217;t follow Hacker News, you should) and fortunately for me I read it today. Why this article is important is that it directly addresses myths that surround database development (or developing with stored procedures) that are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=238&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The blog posting  <a href="http://ora-00001.blogspot.com/">ORA-00001: Unique constraint violated</a> popped up on Hacker News over the last couple of days (if you don&#8217;t follow Hacker News, you should) and fortunately for me I read it today.</p>
<p>Why this article is important is that it directly addresses myths that surround database development (or developing with stored procedures) that are so commonly held.  Let me be clear, I cut my teeth developing with programming languages that run outside of the database such as Pascal, Fortran, C, C++, Java, C#, Ruby and Python so I have no reason to promote PL/SQL or T-SQL but in this age of mis-information, it&#8217;s important that the truth be told.</p>
<p>Developers should have at their disposal all the tools needed to effectively build applications regardless of the languages being used. However, I&#8217;ve been around teams where there are two types of developers: application developers and database developers that are depended on to deliver solutions.  Curiously however, software development is partitioned in such a way that no one type of developer can actually deliver a solution from top to bottom.  For example, application developers don&#8217;t implement logic or database developers don&#8217;t develop user interfaces (or Windows services or file outputs).   So in the effort to get the best of both worlds, the team becomes highly inefficient and partially hamstrung.</p>
<p>Figure out what tools you want you to use and just get good at them.  Understand the contexts where they work best and leverage them.  Use the proper software development practices across the board.  Have software developers armed with the tools to deliver solutions in their entirety.  If some part of software development is a black box to you, go figure out, ask questions.  Just don&#8217;t drink the Kool-Aid.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=238&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/08/02/the-truth-and-nothing-but-the-truth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Consider the cost or Is it really worth it?</title>
		<link>http://eikonne.wordpress.com/2011/06/19/consider-the-cost-or-is-it-really-worth-it-2/</link>
		<comments>http://eikonne.wordpress.com/2011/06/19/consider-the-cost-or-is-it-really-worth-it-2/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 17:58:50 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=225</guid>
		<description><![CDATA[As I type this up, I have no idea whether it will be a short or long one.  I feel like I just walked into my studio and I&#8217;m about to freestyle on a subject that&#8217;s been eating at me for a couple of months and that is the idea that all &#8220;best practice&#8221; software [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=225&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As I type this up, I have no idea whether it will be a short or long one.  I feel like I just walked into my studio and I&#8217;m about to freestyle on a subject that&#8217;s been eating at me for a couple of months and that is the idea that all &#8220;best practice&#8221; software development practices must blindly be followed.</p>
<p>Determining the cost of doing business can be done at multiple levels within an organization but I want to focus precisely on the software development aspect of things and speak to my technical brothers and sisters in our beloved community because I fear we&#8217;re giving a lot of blanket advice without asking people to determine if doing something is worth it from a business perspective.  Why do I think so?  Well I interview engineers all the time who rattle off a list of <strong>best practices</strong> believing that they should always be used and they quote thought leaders in our space all the time as a basis for this. If you don&#8217;t do practice X, you can&#8217;t be agile and I won&#8217;t work with you.</p>
<p>Suppose I asked you to build me a boat, you would want (I hope!) to know things such as:</p>
<ul>
<li>Why I need a boat</li>
<li>What I would use the boat for</li>
<li>How the boat impacts my business</li>
<li>Where I would use the boat</li>
<li>How quickly I needed the boat</li>
<li>How long I would use\need the boat</li>
<li>Etc Etc</li>
</ul>
<p>From these questions, you would understand what type of boat I actually needed e.g. toy boat, canoe or a cruiser and the importance of the boat to my overall strategy.</p>
<p>So why is this is critical?  Because your development process will be shaped based on the type of boat I need.  Granted, there may be some cross-cutting development practices involved regardless of what is being delivered, but as a guy who seen firsthand the development process for houses built from clay as opposed to those built from cement, I&#8217;m positive there will be some significant differences.  There just have to be.  The <strong>practices </strong>are never exactly the same.</p>
<p>So coming back to software development, its important that the development practices we become religious about remain contextual. Saying that all code needs <strong>100% code coverage</strong> (for example), just seems irresponsible to me without saying when (if ever) that is most likely to be true.  Another pretty common edict now is that all software development need be <strong>test-driven</strong> at all levels i.e. both internally and externally.  It is critical that the technology team clearly understands the role the software solution plays as part of the overall business strategy i.e. how it impacts the economic bottom line.</p>
<p>An organizations most strategic technology solutions <strong>will</strong> have maintenance costs over a period of years (assuming they remain strategic)  so we want to do as much as we can to keep those future costs down.  In these cases, it may be prudent to incur more upfront cost to avoid future expenses.  However, for a utility solution that is just helping an organization meet an immediate but short-term need, we may go a different route.  In fact, we may just throw together something over a weekend and call it <strong>done</strong>.</p>
<p>Understanding the requirements for a solution goes beyond just determining what needs to delivered.  It includes asking probing questions that lead us to make the right investments on how the solution solution should be developed because we understand its strategic placement within our portfolio of solutions.  Don&#8217;t forget, there is always an <a href="http://en.wikipedia.org/wiki/Opportunity_cost">opportunity cost</a> out there. Make sure it is really worth it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=225&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/06/19/consider-the-cost-or-is-it-really-worth-it-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Confront the brutal facts</title>
		<link>http://eikonne.wordpress.com/2011/05/22/confront-the-brutal-facts/</link>
		<comments>http://eikonne.wordpress.com/2011/05/22/confront-the-brutal-facts/#comments</comments>
		<pubDate>Sun, 22 May 2011 14:25:53 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Design and Architecture]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[system thinking]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=210</guid>
		<description><![CDATA[Confront the brutal facts was a challenge from Chet Richards&#8217; keynote at LSSC11 and I believe he borrowed it from the book &#8220;Good to Great&#8221; by Jim Collins.  In my opinion, there are at least three key things this challenge brings to light.  Firstly, something(s) is negatively impacting the performance of an organization.  Secondly, we need to find the facts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=210&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Confront the brutal facts</strong> was a challenge from <a href="http://fasttransients.wordpress.com/">Chet Richards&#8217;</a> keynote at LSSC11 and I believe he borrowed it from the book &#8220;<a href="http://www.amazon.com/Good-Great-Companies-Leap-Others/dp/0066620996/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1305806933&amp;sr=1-1">Good to Great</a>&#8221; by Jim Collins.  In my opinion, there are at least three key things this challenge brings to light.  Firstly, something(s) is negatively impacting the performance of an organization.  Secondly, we need to find the facts that are brutal, not just the everyday-run-of-the-mill facts.  Lastly, it&#8217;s not just good enough to know the brutal facts, they must be dealt with.</p>
<p>Merriam Websters defines brutal as: <strong>very bad or unpleasant</strong>.  A brutal fact is something that is both very real and not terribly nice.  Being unpleasant is obviously context bound and relative to an organizations particular situation.  My brutal facts are not my next door neighbors brutal facts.  Examples of brutal facts in software development could be consistently delivering software into production much later than originally planned, having builds fail every time code is checked in or not having a technically competent team.</p>
<p>Truth be told, many organizations defer, downplay or outright avoid identifying brutal facts because the exercise of doing so is both self-revealing and self-indicting.  Who really wants to talk about what&#8217;s going wrong?  The teams I&#8217;ve worked on have never had a problem talking about the good stuff we were doing, but talking about our mishaps never shared the same enthusiasm.  This unpleasantness is due largely in part to the fact that identifying brutal facts is often conducted as a highly subjective exercise with no concrete data to go off of.  When meaningful data is not collected, its challenging to even determine what the brutal facts are let alone possibly address them. Because of our &#8220;ladders of inference&#8221;, we need data that we can all try to agree on.  If you truly want to identify brutal facts you need to collect information and track/measure important indicators.  You need to be an organization that is <strong>desperate</strong> to learn.  Unfortunately, too many organizations measure stuff that doesn&#8217;t really matter, but that&#8217;s a topic for another day.   Revisiting the example of functionality being delivered late, if a team had collected issues/blocks/impediments during the development cycle, identifying the brutal facts possibly becomes a simple activity of reviewing the impediments.  The review could reveal that the development team doesn&#8217;t have the access it needs to the end users or subject matter experts for clarifications on how the system should behave.  Combining information like this with techniques such as the <a href="http://en.wikipedia.org/wiki/5_Whys">5 Why&#8217;s</a> can make identifying brutal facts a bit easier.</p>
<p>That being said, you don&#8217;t get brownie points for identifying brutal facts, no my friend, no gold stars for you.  Brutal facts need to be addressed.  The word <strong>confront</strong> carries with it what could be considered a &#8221;negative connotation&#8221; but I appreciate the choice of word here because it conveys an attitude of an active and aggressive attack on brutal facts.  That being said, it&#8217;s so very easy to address brutal facts incorrectly within an organization.  An improperly addressed brutal fact can actually do more harm than good in same way that trying to kill a fly with a hammer is an idea that can leave you with a busted thumb and broken glass all over the house.  In fact, you may be better off leaving the brutal fact as is if the only alternative you have is to address it incorrectly.</p>
<p>Why do we fail do address brutal facts effectively when they are identified?  I would suggest that this is due (at least in part) to our traditional analytical problem solving approaches i.e. looking at the brutal fact in isolation and not seeing it as part of a potentially larger problem.  A classic example of this is the persistent notion that the way to solve the software delivery problem suggested earlier is by adding more developers.  However, adding more developers would obviously just worsen things.   Unfortunately many organizations struggle to look at things in a holistic manner because they do not have the necessary eduction, training and skill required to address issues holistically within the organization.  This where I believe an understanding of <a href="http://en.wikipedia.org/wiki/Systems_thinking">Systems Thinking</a> can significantly help teams and organizations address brutal facts in a holistic manner.  A book recommendation for that would be Peter Senge&#8217;s: <a href="http://www.amazon.com/Fifth-Discipline-Practice-Learning-Organization/dp/0385260954">The Fifth Discipline: The Art &amp; Practice of the Learning Organization</a>.   Systems thinkings in of itself is not a panacea &#8211; nothing in isolation is - but looking at the whole system hopefully gets us moving in the right direction.  For the team that does not have the access they need to SMEs, the organization could make a decision that SMEs need to set out an hour each day to address questions from the development team.  That could be a holistic solution.</p>
<p>What brutal facts plague your organization? Are you up to the challenge to confront them? I hope you are!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=210&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/05/22/confront-the-brutal-facts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
		<item>
		<title>Enough Already!</title>
		<link>http://eikonne.wordpress.com/2011/05/11/enough-already-2/</link>
		<comments>http://eikonne.wordpress.com/2011/05/11/enough-already-2/#comments</comments>
		<pubDate>Thu, 12 May 2011 03:34:04 +0000</pubDate>
		<dc:creator>Ebenezer</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[lssc11]]></category>

		<guid isPermaLink="false">http://eikonne.wordpress.com/?p=207</guid>
		<description><![CDATA[I&#8217;ve found that trying to blog about my experience at LSSC11 is quite challenging simply because I have a flood of thoughts streaming through my head.  Frankly, I&#8217;m not sure where to start and where exactly to end.  I&#8217;m concerned that if I try to share all my thoughts in one post, it post will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=207&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found that trying to blog about my experience at LSSC11 is quite challenging simply because I have a flood of thoughts streaming through my head.  Frankly, I&#8217;m not sure where to start and where exactly to end.  I&#8217;m concerned that if I try to share all my thoughts in one post, it post will never end.  Because of this, I&#8217;ll publish my thoughts in a series of short postings over the course of the next couple of days (or weeks) as time permits.</p>
<p>For starters, LSSC11 was the first conference I&#8217;ve been to (maybe ever?) where there were no sacred cows touted, no best practices elicited and no meaningless debates between method X versus method Y.  I believe we&#8217;re coming to a place where we&#8217;re starting to accept as a community &#8211; yet a minority in my opinion &#8211; that there is no &#8220;silver bullet&#8221; but that the right combination of principles from differing sources can possibly yield great results.  We&#8217;re accepting that our environments are complex and are leveraging methods that exploit this fact instead of fight it.   We are discussing how to make people &#8220;matter more&#8221; because we realize (even more) that its people that really make a difference.  Finally, continuous learning is paramount; LSSC11 had an academic undercurrent to it which I&#8217;ve not observed at any other conference.  The list of reference material I need to read has doubled in size!</p>
<p>To summarize, I sense a movement that is saying very loudly and clearly &#8220;enough already&#8221; to some of the traditional ways of getting things done and is looking to embrace different ways (some that have been possibly rejected or ignored for years) as we move forward.  This is really exciting, make sure you don&#8217;t miss out!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eikonne.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eikonne.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eikonne.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eikonne.wordpress.com&amp;blog=1220402&amp;post=207&amp;subd=eikonne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eikonne.wordpress.com/2011/05/11/enough-already-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f2413e73fee296c68655cfe8005a9107?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eb</media:title>
		</media:content>
	</item>
	</channel>
</rss>
