<?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"
	>

<channel>
	<title>Bitshaker.com</title>
	<atom:link href="http://journal.bitshaker.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://journal.bitshaker.com</link>
	<description>shaking things up</description>
	<pubDate>Fri, 29 Aug 2008 21:52:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<item>
		<title>Documentation Is Conversation Frozen In Time</title>
		<link>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 21:52:31 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/</guid>
		<description><![CDATA[I&#8217;m on a new account this week and my colleague Julias Shaw coined the phrase in the title. 
We have been trying to get our client to realize that the solution to people not reading huge requirements documents all the way from development to QA to support is not more documentation, but more communication.
We are [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on a new account this week and my colleague Julias Shaw coined the phrase in the title. </p>
<p>We have been trying to get our client to realize that the solution to people not reading huge requirements documents all the way from development to QA to support is not <I>more</i> documentation, but more <i>communication</i>.</p>
<p>We are all for documentation, but only the kind that people will actually read.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Story About Me Written By My Grandmother</title>
		<link>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 08:48:30 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=378</guid>
		<description><![CDATA[Joey at 7 Years By Ruth
Last night, as I sat with my grandsons reviewing their five and seven year old accomplishments, I was drawn again to memories of my own childhood experiences.  Joey, my seven year old, proudly displayed his ability to write in handwriting, which had mostly been learned through self teaching, some [...]]]></description>
			<content:encoded><![CDATA[<blockquote><strong>Joey at 7 Years By Ruth</strong></p>
<p><em>Last night, as I sat with my grandsons reviewing their five and seven year old accomplishments, I was drawn again to memories of my own childhood experiences.  Joey, my seven year old, proudly displayed his ability to write in handwriting, which had mostly been learned through self teaching, some of his capital letters.  This, despite the fact that his mother was repeatedly requesting that they say goodnight and get ready for bed.  &#8220;Let me show you a capital T, Gramma&#8221;, he said, laboriously outlining his project.  &#8220;Oops!&#8221; I remarked, &#8220;You shouldn&#8217;t have crossed the T, honey, that makes it an F.&#8221;  There was a stricken look on his face, and with an &#8220;Oh no!&#8221; he left the room.  He returned shortly with his specially wrapped gift for his parents which had a large beautifully made capital F in &#8220;Fo Mom &#038; Pop.&#8221;  I whispered to get an eraser and we would fix it and he went and desperately began searching the drawer where such things were kept.  Mom, by this time, and not knowing what was going in, demanded that bed time was now!  And she forcefully directed him toward the stairs.  The enormity, to him, of his predicament, started a totally frustrated cry, but he went upstairs.  When she returned I briefly told her what was happening and went to call the sobbing child for just one minute.  I explained to him that if he added a small &#8220;r&#8221; to the &#8220;Fo&#8221; it would change the word.  With brimming eyes, and a moment&#8217;s thought, he realized it would say &#8220;For&#8221; which was perfectly acceptable.  Tears stopped, the correction was made, and a true weight had been lifted in his young mind.</p>
<p>It is the tendency of busy adults to forget the importance of the little tragedies that are as monumental to a small store of experiences in children as larger ones are to adults.  Showing them how to deal with and minimize error is one of the best and kindest tools to give them.  The humiliation and lack of self esteem that comes from not doing what is acceptably correct can leave a scar no different than the scar an adult gets from the same type of things.  The child has within him the adult he will be.  Treat him with the respect you would afford, and the kindness you should use, in your dealings with all people.</p>
<p>The enormity of unresolved calamities of my own childhood, though they are small by adult standards, still come back to haunt me.  Not that adults were uncaring, but there was an opinion that because children were small, their feelings were relative to their size.  Not so!  The adult is wrapped in a small confining package, straining to find answers to enormous complexities in the child&#8217;s body.</em></p></blockquote>
<p>I miss you Grandma.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sugarcoating Is Harmful</title>
		<link>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 19:31:42 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/</guid>
		<description><![CDATA[When you have to evaluate someone, it is easy to err on the side of being nice. When you really like the person outside of work or they are your friend, it becomes doubly hard. It is still important to be honest with feedback for someone so that they can improve and important for future [...]]]></description>
			<content:encoded><![CDATA[<p>When you have to evaluate someone, it is easy to err on the side of being nice. When you really like the person outside of work or they are your friend, it becomes doubly hard. It is still important to be honest with feedback for someone so that they can improve and important for future teams so that they can make sure the person is the right fit.</p>
<p>I tend to use a lesson learned long ago to escalate problems I&#8217;m having with people. </p>
<p>First, talking to the person is often the earliest and easiest way to give someone feedback. Often people will not know something is wrong and are more than willing to fix it.  </p>
<p>Second, if the person doesn&#8217;t respond, let them know you will take your feedback to their boss if needed. Give them a timeframe to improve and tell them what you will do if they don&#8217;t.  </p>
<p>Third, evaluate how the person is doing and possibly even get a second opinion. </p>
<p>Finally, putting honest feedback into a review will help teams evaluate the person&#8217;s strengths and weaknesses for the future. Even bad feedback with a good outcome can help someone&#8217;s review for the future. Who doesn&#8217;t like to see someone improve?</p>
<p>When you sugarcoat a review, you hurt the person by not letting them improve and future teams they will work with by not letting them see where they need to cover or help someone.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mingle Tip: Automatically Refresh Mingle</title>
		<link>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 04:17:00 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=369</guid>
		<description><![CDATA[I&#8217;ve seen many teams using Mingle as a card wall instead of using real index cards.  Usually the teams are distributed, so real cards wouldn&#8217;t help anyway.  They all run into the same problem that Mingle doesn&#8217;t have a feature to automatically refresh a page throughout the day as the team updates cards. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen many teams using Mingle as a card wall instead of using real index cards.  Usually the teams are distributed, so real cards wouldn&#8217;t help anyway.  They all run into the same problem that Mingle doesn&#8217;t have a feature to automatically refresh a page throughout the day as the team updates cards.  I&#8217;ll show you a few simple solutions you can choose from to refresh Mingle automatically.</p>
<h1>Firefox Extension</h1>
<p>A quick and easy solution is to use a Firefox extension that can automatically refresh any page called <a href="https://addons.mozilla.org/en-US/firefox/addon/115">ReloadEvery</a>.  This is probably the least amount of work and works just fine.</p>
<h1>HTML IFrame</h1>
<p>I&#8217;ve also created a small bit of HTML that uses Javascript to refresh an IFrame that takes up the whole page.  Just change the google URL to whatever page you need to point to and the amount of seconds you want it to refresh (set to 5 right now).  It works in all of the browsers I could find.</p>
<p><a href='http://journal.bitshaker.com/wp-content/uploads/2008/08/radiator.html'>Download Radiator</a></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mingle Tip: Search Mingle Projects Directly In Firefox</title>
		<link>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/#comments</comments>
		<pubDate>Tue, 20 May 2008 14:29:26 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Do you love using Firefox&#8217;s built in Google search?  Wish there was a way you could do that with your Mingle projects?  Well, now you can with the code below.
I&#8217;ve provided a download of the xml file here.
You&#8217;ll need to edit the file to point to the Mingle project you want to use [...]]]></description>
			<content:encoded><![CDATA[<p>Do you love using Firefox&#8217;s built in Google search?  Wish there was a way you could do that with your Mingle projects?  Well, now you can with the code below.</p>
<p>I&#8217;ve provided a download of the xml file <a href="http://journal.bitshaker.com/files/mingle_search.xml">here</a>.</p>
<p>You&#8217;ll need to edit the file to point to the Mingle project you want to use the search tool with and then you need to install it into your searchplugins directory for Firefox, which for Windows is probably something like</p>
<pre>C:\Program Files\Mozilla Firefox\searchplugins</pre>
<p>and for Mac is something like</p>
<pre>/Applications/Firefox.app/Contents/MacOS/searchplugins/</pre>
<p>Drop the xml file in the folder and restart Firefox and you&#8217;ll have your new Mingle search up and running.  It should look like this</p>
<p><img src="http://journal.bitshaker.com/files/mingle_firefox_search.png" alt="" /></p>
<p>Note: I&#8217;m working on getting this to work as described in <a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox">this mozilla dev article</a> for Mingle.  It shouldn&#8217;t be too hard since we can modify views in Mingle.  I&#8217;ll blog about it if people are interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PSA: Tab Between All Controls On Mac</title>
		<link>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/#comments</comments>
		<pubDate>Wed, 14 May 2008 21:04:46 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I normally love the Mac&#8217;s design decisions, but one thing that&#8217;s always maddened me is that by default you can&#8217;t tab between all controls on webpages, etc.  I finally got that fixed today with an article from lifehacker.
Click the &#8220;All Controls&#8221; radio button at the bottom of the Keyboard &#38; Mouse pane in System [...]]]></description>
			<content:encoded><![CDATA[<p>I normally love the Mac&#8217;s design decisions, but one thing that&#8217;s always maddened me is that by default you can&#8217;t tab between all controls on webpages, etc.  I finally got that fixed today with an article from lifehacker.</p>
<blockquote><p>Click the &#8220;All Controls&#8221; radio button at the bottom of the Keyboard &amp; Mouse pane in System Preferences to right this wrong.</p>
</blockquote>
<p>Bliss.</p>
<p>[<a href="http://lifehacker.com/390226/top-10-things-you-forgot-your-mac-can-do">via</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>When Distrust Turns To Disdain</title>
		<link>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/#comments</comments>
		<pubDate>Fri, 09 May 2008 20:00:15 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[While taking computer science classes in college, I was taught to distrust a user&#8217;s input in all cases.  The theory goes that a user&#8217;s data can&#8217;t be trusted because it could be malicious or just a simple mistake that causes your program to have an error with input it didn&#8217;t expect.  So you [...]]]></description>
			<content:encoded><![CDATA[<p>While taking computer science classes in college, I was taught to distrust a user&#8217;s input in all cases.  The theory goes that a user&#8217;s data can&#8217;t be trusted because it could be malicious or just a simple mistake that causes your program to have an error with input it didn&#8217;t expect.  So you protect your system from incorrect user input and sanitize it.  It always felt like one of our dirtier secrets to me, however I fully advocate the practice in code.</p>
<p>My problem comes when the people building software turn from distrusting their user&#8217;s input to having a level of disdain for the users themselves.  It starts innocently enough with the engineering principles I described above, but can sometimes turn into small things like, &#8220;Our users won&#8217;t understand that,&#8221; and starts to slip into things like, &#8220;Our users are dumb, so we won&#8217;t do that.&#8221;  If you&#8217;ve started to hate your users, you&#8217;ve gone too far.  If something is too complex for your users to understand, it&#8217;s your job as the developer/engineer/analyst/etc. to make it so that they can understand it.  If you think of your users like idiots, your system will reflect that and they will notice.</p>
<p>If your job is to design software for people to use (which, is pretty much all software), make sure you work with the user, instead of against their best interests.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Developers Don&#8217;t Read Stories, So Talk To Them Instead</title>
		<link>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/#comments</comments>
		<pubDate>Tue, 06 May 2008 22:31:49 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[In Jakob Neilsen&#8217;s How Little Do Users Read? he sites an ACM study that has found that people typically only read about 20% of content on a page on average, with a max of around 28%.
This just confirms my suspicion that developers fully don&#8217;t read the stories that I write for them, even though they [...]]]></description>
			<content:encoded><![CDATA[<p>In Jakob Neilsen&#8217;s <a href="http://www.useit.com/alertbox/percent-text-read.html">How Little Do Users Read?</a> he sites an <a href="http://doi.acm.org/10.1145/1326561.1326566">ACM study</a> that has found that people typically only read about 20% of content on a page on average, with a max of around 28%.</p>
<p>This just confirms my suspicion that developers fully don&#8217;t read the stories that I write for them, even though they are highly focused and relevant to what they are looking for.  Instead of reading, they skim and look at the screenshots I provide.</p>
<p>What can we take away from this?  Treat stories as a conversation point, rather than a full design spec.  If your devs have to read thousands of words in your stories, they are too big.  Talk to your team and make sure people understand what you are trying to do.</p>
<p>At 130 words above, most people have read only 26 words in this article, meaning they&#8217;ve barely read the first paragraph.  Scary.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What Is The Shelf-Life Of A Requirement?</title>
		<link>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/#comments</comments>
		<pubDate>Thu, 01 May 2008 19:37:00 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I like to think of requirements as being perishable.  They have a certain shelf life before they are developed and then they start to smell funny and eventually go bad as they get out of date.  Different sorts of requirements have different shelf-lives.
Master Level Story
The high level stories written at the beginning of [...]]]></description>
			<content:encoded><![CDATA[<p>I like to think of requirements as being perishable.  They have a certain shelf life before they are developed and then they start to smell funny and eventually go bad as they get out of date.  Different sorts of requirements have different shelf-lives.</p>
<h4>Master Level Story</h4>
<p>The high level stories written at the beginning of a project and turned into a master story list can either have a long shelf life or a short one.  If the requirements are not beginning to be broken down and worked on within a week or two, they get stale.  Longer than a few weeks, into a few months or more, they should probably be thrown out and at the very least reevaluated.  Why?  Because your business may have changed in that time.  It may not make sense to build those features that made sense a month or two ago.</p>
<h4>Release Level Story</h4>
<p>Release level stories are good for planning and immediately getting started on detailed analysis and development.  They have a short shelf life based on their master level story freshness, plus any ongoing work in an application.  For instance, if some implementation was decided on in a release level story and some technology change has made a card obsolete because it is building the wrong thing or makes the wrong assumptions, it&#8217;s useless.</p>
<h4>Iteration Level Story</h4>
<p>An iteration level story only has a shelf life of a few days after it&#8217;s been analyzed and not developed.  More than a week or so and things can change so drastically in a project that they are not accurate anymore.</p>
<h4>Shelf-Life After Development</h4>
<p>After development, stories have a much longer shelf life.  They can be referenced through various parts in the development lifecycle with the exception of stories that have been overwritten by new ones and those should be tracked as they occur.</p>
<p>Domain documents like systems architecture design, major domain concepts in your app, etc. are useful even longer.</p>
<h4>Considerations</h4>
<p>Keep in mind that all of these levels of stories interact.  Master > Release > Iteration.  They flow in that order and if the master level stories are old and no longer good, they need to be reevaluated.  Otherwise, spending time to break them down will be a waste of time and even worse, implementing them can cost real money in the marketplace.</p>
<p>Constant prioritizing and re-evaluation will keep stories fresh for use by the development team.  Don&#8217;t expect to be able to pull bad apples from storage and make some great apple pie.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mingle Tip: Make A Better Project List</title>
		<link>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/</link>
		<comments>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 20:02:45 +0000</pubDate>
		<dc:creator>joe</dc:creator>
		
		<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[You don&#8217;t have to wait for the Mingle team to make improvements to your project list.  It&#8217;s been requested in &#8220;the forums&#8221;:http://studios.thoughtworks.com/discussion/, but I got tired of waiting for a simple CSS change, so I did it myself with &#8220;Stylish&#8221;:http://userstyles.org/.  Just copy the code below (or better yet, find the base.css file that [...]]]></description>
			<content:encoded><![CDATA[<p>You don&#8217;t have to wait for the Mingle team to make improvements to your project list.  It&#8217;s been requested in &#8220;the forums&#8221;:http://studios.thoughtworks.com/discussion/, but I got tired of waiting for a simple CSS change, so I did it myself with &#8220;Stylish&#8221;:http://userstyles.org/.  Just copy the code below (or better yet, find the base.css file that you need to edit to make this change).</p>
<pre name="code" class="css">
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {

.project {
   float:left;
   height:100px;
   width:300px;
}
.action-bar { clear:both; }
.round-corner-wrapper { height:91px; }
}
</pre>
<p>Your project list will then look like this:</p>
<p><img src="http://journal.bitshaker.com/files/mingle_project_list.png" alt="Mingle Project List" /></p>
<p>One thing to note is that it doesn&#8217;t currently handle long project descriptions too well right now.  I&#8217;ll try to get that fixed and I welcome any fixes to the above CSS changes to make it better.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.204 seconds -->
