<?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>Third Shelf &#187; productivity</title>
	<atom:link href="http://thirdshelf.com/tag/productivity/feed/" rel="self" type="application/rss+xml" />
	<link>http://thirdshelf.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 18:01:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thirdshelf.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Third Shelf &#187; productivity</title>
		<link>http://thirdshelf.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thirdshelf.com/osd.xml" title="Third Shelf" />
	<atom:link rel='hub' href='http://thirdshelf.com/?pushpress=hub'/>
		<item>
		<title>Project scheduling techniques</title>
		<link>http://thirdshelf.com/2011/09/11/project-scheduling-techniques/</link>
		<comments>http://thirdshelf.com/2011/09/11/project-scheduling-techniques/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 17:24:16 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[Critical path method]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Program Evaluation and Review Technique]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Project planning]]></category>
		<category><![CDATA[Start date]]></category>
		<category><![CDATA[Task (project management)]]></category>
		<category><![CDATA[Tasks]]></category>

		<guid isPermaLink="false">http://thirdshelf.com/?p=699</guid>
		<description><![CDATA[As part of planning a software project, it is always important to pay attention to the activities and the order in which they execute. This is known as a project schedule. To create a project schedule, we have to model the project&#8217;s activities and their dependencies. Or, if you prefer, their relationships. A project schedule [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=699&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of planning a software project, it is always important to pay attention to the activities and the order in which they execute. This is known as a <a href="http://en.wikipedia.org/wiki/Schedule_(project_management)" target="_blank">project schedule</a>.</p>
<p>To create a project schedule, we have to model the project&#8217;s activities and their dependencies. Or, if you prefer, their relationships. A project schedule is typically drawn as a <a href="http://en.wikipedia.org/wiki/Graph_(mathematics)" target="_blank">graph</a> &#8212; arrows joining circles. The fancy way saying this is, <em>edges</em> for the arrows (a.k.a links) and <em>vertices</em> for the circles (a.k.a nodes). This type of graph is typically drawn from left to right, with the project&#8217;s starting date on the left.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/09/projectschedulegraph.png"><img class="alignnone size-full wp-image-702" title="Project Schedule Graph" src="http://thirdshelf.files.wordpress.com/2011/09/projectschedulegraph.png?w=720" alt="Project Schedule Graph"   /></a></p>
<p>So, what do the circles and arrows mean? Well, it depends.</p>
<h2>Activity-on-node</h2>
<p>This is a simple graph where the circles represent the activities and the arrows the dependencies. It is also known as a <em>precedence network</em>. We call it a precedence network because a node, or activity, cannot be executed until all of its preceding activities executed.</p>
<p>To draw an activity-on-node graph, we have to follow some rules:</p>
<ul>
<li>only one starting node;</li>
<li>only one ending node;</li>
<li>each activity has a duration;</li>
<li>links have no durations;</li>
<li>time moves from left to right;</li>
<li>the graph may not contain any loops;</li>
<li>the graph may not contain any dangles &#8211; a node that just stops in the middle of nowhere.</li>
</ul>
<div><a href="http://thirdshelf.files.wordpress.com/2011/09/activityonnode.png"><img class="alignnone size-full wp-image-705" title="ActivityOnNode" src="http://thirdshelf.files.wordpress.com/2011/09/activityonnode.png?w=720" alt=""   /></a></div>
<div>Activity information is captured on each node that looks like this:</div>
<p><a href="http://thirdshelf.files.wordpress.com/2011/09/bs4335activitylabel.png"><img class="alignnone size-full wp-image-707" title="BS4335ActivityLabel" src="http://thirdshelf.files.wordpress.com/2011/09/bs4335activitylabel.png?w=720" alt=""   /></a></p>
<p>By the way, this activity label is based on British Standard BS 4335.</p>
<h3>Critical Path applied to Activity-on-node</h3>
<p>A critical path is the order in which we should execute activities, so that we can get the project done as fast as possible. Not only that, it also shows us which activities will cause us to miss the end date, if they are delayed. How do we determine the critical path?</p>
<p>Well, for each activity we need to have some idea of, how long it will take to do, what is the earliest we can start and complete the activity as well as the latest we can start and complete it. That is the <em>Duration, Early Start, Early Finish,</em><em> Late Start </em>and<em> Late Finish </em>parts of the activity label.</p>
<p>To calculate the earliest dates, we need to do something called a <strong>forward pass</strong><em>. </em>That is, we look at every activity and calculate its early start and early finish dates. The first activity&#8217;s early start values always starts at zero.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/09/forwardpass.png"><img class="alignnone size-full wp-image-711" title="ForwardPass" src="http://thirdshelf.files.wordpress.com/2011/09/forwardpass.png?w=720" alt=""   /></a></p>
<p>In the network graph above, we see that Task A and Task C can start immediately. However, Task B must wait until Task A and Task C completes (it&#8217;s predecessors). Since Task C has the longest duration (10 days) between Task A and Task C, Task B can only start in 10 days and will complete on day 13. The earliest that Task D can start is in 2 days time, after Task A completed. With this in mind, the earliest that the project can complete is in 13 days time.</p>
<p>Next, we need to do a <strong>backward pass</strong> on the same network to calculate the <em>Late Start</em> and <em>Late Finish</em> values. This gives us the latest date at which an activity must start and complete without delaying the end date of the project. The late finish date for the project is the same as the early finish date.</p>
<h2><a href="http://thirdshelf.files.wordpress.com/2011/09/backwardpass.png"><img class="alignnone size-full wp-image-719" title="BackwardPass" src="http://thirdshelf.files.wordpress.com/2011/09/backwardpass.png?w=720" alt=""   /></a></h2>
<p>In this example, we see that the project will complete in 13 days. So, we work from the end date backwards. Starting at 13 days, we can see that Task B will take 3 days to complete and so the latest start date is 10 days (13-3). Task D also needs to finish on day 13.  This task takes 4 days to complete and so the latest date to start this task is in 9 days time (13-4). Task C on the other hand must finish within 10 days and has to start immediately (10-10). Since Task A will take 2 days to complete and we know that the latest finish date is only in 9 days time, we only have to start this task on day 7 (9-2).</p>
<p>To find the critical path in the graph, we find the sequence of tasks that will move the end date, if there is a delay in <em>any </em>of its activities.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/09/criticalpath.png"><img class="alignnone size-full wp-image-722" title="CriticalPath" src="http://thirdshelf.files.wordpress.com/2011/09/criticalpath.png?w=720" alt=""   /></a></p>
<p>If there is a delay in Task C so that it only completes on day 11, it will delay Task B and ultimately the end date. We have to pay special attention to the critical path throughout the project so that we can handle any delays as soon as possible. The critical path sets the <em>activity span. </em>That is, the shortest time in which we can complete the project. If we want to shorten the time of the project, we have to cut the time of the activities in the critical path.</p>
<h2>Activity-on-arrow</h2>
<p>In activity-on-arrow networks, the arrows, or links, represent the activities. The nodes represent <em>events of activities</em> starting or finishing. Just like the activity-on-node graph, so too activity-on-arrow graphs have rules when it comes to drawing the network graph. They are:</p>
<ul>
<li><em>only</em> one starting node;</li>
<li><em>only</em> one ending node;</li>
<li>duration is on the link;</li>
<li>nodes have no duration;</li>
<li>time moves from left to right;</li>
<li>nodes are numbered sequentially;</li>
<li>graph may not contain any loops;</li>
<li>graph may not contain any dangles.</li>
</ul>
<div><a href="http://thirdshelf.files.wordpress.com/2011/09/activityonarrow.png"><img class="alignnone size-full wp-image-725" title="ActivityOnArrow" src="http://thirdshelf.files.wordpress.com/2011/09/activityonarrow.png?w=720" alt=""   /></a></div>
<div>We label the events (nodes) with a different convention than that of activity-on-node. It looks like this:</div>
<div><a href="http://thirdshelf.files.wordpress.com/2011/09/activityonarrowlabel.png"><img class="alignnone size-full wp-image-726" title="ActivityOnArrowLabel" src="http://thirdshelf.files.wordpress.com/2011/09/activityonarrowlabel.png?w=720" alt=""   /></a></div>
<h3>Critical Path applied to Activity-on-arrow</h3>
<p>Before we can find the critical path in an Activity-on-arrow graph, we need to do a <strong>forward pass</strong>. It follows the same principles as activity-on-node. The only exception is that in activity-on-arrow we use the events and not the activity start and end dates.</p>
<p>Let&#8217;s look at an example (Hughes and Cotterell, 2009):</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/09/forwardpassaoa1.png"><img class="alignnone size-full wp-image-730" title="ForwardPassAoA" src="http://thirdshelf.files.wordpress.com/2011/09/forwardpassaoa1.png?w=720" alt=""   /></a></p>
<p>The earliest date when an event can start is the date when all the events that it depends on is complete. In the example above, activities A, B and F can start immediately. So, the earliest date for event 1 is zero. Since activity A takes 6 weeks to complete, we can only start activity 2 in 6 weeks time at the earliest. Activity B takes 4 weeks to complete and so event 3 can only be achieved in week 4. Activity F is dependent on the ending date of activity E and so we only know that activity F will complete in 10 weeks. Activity E can start in 4 weeks time and will take 3 weeks to complete. From that we know that activity E will only end in 7 weeks time. We then take the longer of the two ending dates (between E and F) and find that event 5 will only be achieved in 10 weeks time. Event 4 can only start in week 9 (6 + 3) &gt; (4 + 4).  We now see that the project will only finish at the end of week 13, at the earliest.</p>
<p>Next, we do a <strong>backward pass</strong> on the same graph to calculate the latest date at which each event should be achieved. It follows the same principles as the backward pass for activity-on-node.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/01/backwardpassaoa.png"><img class="alignnone size-full wp-image-734" title="BackwardPassAoA" src="http://thirdshelf.files.wordpress.com/2011/01/backwardpassaoa.png?w=720" alt=""   /></a></p>
<p>To find the critical path, we make use of <em>slack</em>. Slack is the difference between the earliest date and latest date. It tells us how late an event can be without affecting the end date of the project. The critical path is that path with all the nodes having a zero slack.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/01/criticalpathaoa.png"><img class="alignnone size-full wp-image-735" title="CriticalPathAoA" src="http://thirdshelf.files.wordpress.com/2011/01/criticalpathaoa.png?w=720" alt=""   /></a></p>
<p><strong>References</strong></p>
<ol>
<li>Hughes, B. &amp; Cotterell, M. 2009. <em>Software Project Management, 5e</em>. Berkshire: McGraw-Hill Education.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/699/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=699&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2011/09/11/project-scheduling-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/projectschedulegraph.png" medium="image">
			<media:title type="html">Project Schedule Graph</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/activityonnode.png" medium="image">
			<media:title type="html">ActivityOnNode</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/bs4335activitylabel.png" medium="image">
			<media:title type="html">BS4335ActivityLabel</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/forwardpass.png" medium="image">
			<media:title type="html">ForwardPass</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/backwardpass.png" medium="image">
			<media:title type="html">BackwardPass</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/criticalpath.png" medium="image">
			<media:title type="html">CriticalPath</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/activityonarrow.png" medium="image">
			<media:title type="html">ActivityOnArrow</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/activityonarrowlabel.png" medium="image">
			<media:title type="html">ActivityOnArrowLabel</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/09/forwardpassaoa1.png" medium="image">
			<media:title type="html">ForwardPassAoA</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/01/backwardpassaoa.png" medium="image">
			<media:title type="html">BackwardPassAoA</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/01/criticalpathaoa.png" medium="image">
			<media:title type="html">CriticalPathAoA</media:title>
		</media:content>
	</item>
		<item>
		<title>Estimating Software Effort</title>
		<link>http://thirdshelf.com/2011/08/28/estimating-software-effort/</link>
		<comments>http://thirdshelf.com/2011/08/28/estimating-software-effort/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 22:54:37 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[Barry Boehm]]></category>
		<category><![CDATA[Cost estimation in software engineering]]></category>
		<category><![CDATA[Estimating]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Fred Brooks]]></category>
		<category><![CDATA[Mythical Man-Month]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Source lines of code]]></category>

		<guid isPermaLink="false">http://thirdshelf.com/?p=653</guid>
		<description><![CDATA[Estimating the effort it takes to produce a software product is a fairly difficult process. There are a couple of reasons why. They range from management politics to subjective guesses of how long  programming tasks will take. How then do you estimate the effort of a project with such uncertainties? At the start of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=653&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estimating the effort it takes to produce a software product is a fairly difficult process. There are a couple of reasons why. They range from management politics to subjective guesses of how long  programming tasks will take.</p>
<p>How then do you estimate the effort of a project with such uncertainties?</p>
<p>At the start of the project we should be able to get some idea of what the end-product will look like. From that, we can start estimating how long the bits and pieces will take to develop. Now that seems easy, but <a href="http://en.wikipedia.org/wiki/Hofstadter%27s_law">estimating how long the bits and pieces will take</a> is not as simple as it seems.</p>
<h2><strong>Over- and under-estimating effort</strong></h2>
<p>Let&#8217;s look at <a href="http://en.wikipedia.org/wiki/Parkinson%27s_Law" target="_blank">Parkinson&#8217;s Law</a>. It says that &#8220;<em>Work expands so as to fill the time available for its completion.</em>&#8221; If the task ends up being easy, then we will waste time and work less hard.</p>
<p>On the other hand, under-estimating effort will result in an unreliable and poor quality system. This is a manifestation of <a href="http://dustyvolumes.com/archives/536" target="_blank">Weinberg’s Zeroth Law of Unreliability</a> which says that &#8220;If a system doesn&#8217;t have to be reliable, it can meet any other objective.&#8221; Many people will make this sacrifice simply to complete the product before the deadline.</p>
<p>When a project starts falling behind, project managers will typically add more people to the project. <a href="http://en.wikipedia.org/wiki/Brooke%27s_Law" target="_blank">Brook&#8217;s Law</a> explains that &#8220;<em>Putting more people on a late job makes it later.</em>&#8221; Why is that?</p>
<p>Let&#8217;s look at an example. In a team of three members we have 3 &#8220;communication channels&#8221;. Add two more people and we have a team of five. This means that we now have 10 &#8220;communication channels&#8221; between people. We calculate it using [n * (n - 1)] / 2 where n is the number of people. Frederick P. Brooks covers this in his book <a href="http://www.amazon.com/gp/product/0201835959/ref=as_li_ss_tl?ie=UTF8&amp;tag=thethishe-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0201835959">The Mythical Man-Month</a><img src="http://www.assoc-amazon.com/e/ir?t=&amp;l=as2&amp;o=1&amp;a=0201835959&amp;camp=217145&amp;creative=399369" alt="" width="1" height="1" border="0" />.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/08/communicationchannels.png"><img class="size-full wp-image-657 alignnone" style="border-color:initial;border-style:initial;" title="Communication Channels in a Team" src="http://thirdshelf.files.wordpress.com/2011/08/communicationchannels.png?w=720" alt=""   /></a></p>
<p><span class="Apple-style-span" style="font-size:20px;font-weight:bold;"><strong>Estimation techniques</strong></span></p>
<p>In his book <a href="http://www.amazon.com/s?ie=UTF8&amp;x=0&amp;ref_=nb_sb_noss&amp;y=0&amp;field-keywords=0138221227&amp;url=search-alias%3Daps#?_encoding=UTF8&amp;tag=thethishe-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">Software Engineering Economics</a><img style="border:none!important;margin:0!important;" src="https://www.assoc-amazon.com/e/ir?t=thethishe-20&amp;l=ur2&amp;o=1" alt="" width="1" height="1" border="0" /> by <a href="http://en.wikipedia.org/wiki/Barry_Boehm" target="_blank">Barry Boehm</a> he suggests a <a href="http://en.wikipedia.org/wiki/Estimation_in_software_engineering" target="_blank">few ways in which effort estimates can be derived</a>.</p>
<p><strong>Bottom-up</strong> breaks the project into it&#8217;s components and those components into it&#8217;s components and so on. Take each of the components and estimate the lines of code and multiply this with some factor that adds fat for complexity. Based on that number, calculate the number of days it will take using a ratio between lines of code and effort. <em>[It is called bottom-up because the effort accumulates upward.]</em></p>
<p><strong>Top-down</strong> is based on two parameters, size and productivity. Effort is then calculated as e<em>ffort = size * productivity</em>. Where size is an estimate of the number of lines of code and productivity is the time spent by the developer doing the work. The productivity parameter is scaled according the developers experience. There is a more advanced calculation. It uses the <a href="http://en.wikipedia.org/wiki/Least_squares_regression" target="_blank">least squares regression</a> model which is calculated as e<em>ffort = constant1 + (size * constant2)</em>.</p>
<p><strong>Expert judgement</strong> relies on the knowledge and experience of someone who is already involved in the project. This estimation doesn&#8217;t only rely on the person but also takes into account similar projects and supplemented by the bottom-up approach.</p>
<p><strong>Case-based reasoning</strong> finds the differences and similarities between completed projects, or source cases, with the new project, the target case. Take the similarities and differences and adjust the source cases so that you get an estimate for the target case. There&#8217;s a fancy way of doing this by using the <a href="http://en.wikipedia.org/wiki/Euclidean_distance" target="_blank">Euclidean distance</a> between the cases. This technique is also called estimation by analogy.</p>
<p><strong>Function point analysis</strong> assigns a complexity value to each instance for each of the following components, which is then summed to get the function point processing size:</p>
<ul>
<li>External input types &#8211; inputs that change the internal data;</li>
<li>External output types &#8211; outputs from the system, such as reports;</li>
<li>External inquiry types &#8211; inputs that point the system to information without modifying it;</li>
<li>Logical internal file types &#8211; the information system&#8217;s data store;</li>
<li>External interface file types &#8211; input and output exchanged by the information system.</li>
</ul>
<p><strong>Function points MarkII</strong> is an improvement on the original Allan Albrecht function point analysis technique<em>.</em> Create three weightings, one for input (Wi=0.58), one for entity types (We=1.66) and one for output (Wo=0.26). Then, multiply the weightings with the number of elements corresponding to each of the weightings and calculate the proportions of effort. <em>[The values for the variables Wi, We and Wo have been set based on industry averages.]</em></p>
<p><strong>COSMIC full function points</strong> is used for sizing real-time and embedded systems. Typically, these systems are made up of component layers which may communicate with each other. Assign a value to each data group and sum the counts to calculate the functional size units.</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/08/datagroups.png"><img class="alignnone size-full wp-image-668" title="DataGroups" src="http://thirdshelf.files.wordpress.com/2011/08/datagroups.png?w=720" alt=""   /></a></p>
<p>There are four data groups which are the  inputs and outputs of these components:</p>
<ul>
<li>Entries &#8211; moves the data group into the component;</li>
<li>Exits &#8211; moved the data group from the component;</li>
<li>Reads &#8211; moves data from storage into the component;</li>
<li>Writes &#8211; moves data to storage from the component.</li>
</ul>
<p><strong>COCOMO II</strong> is a constructive cost model where effort is calculated as person-months based on 152 hours and it&#8217;s size is measured in lines of code. Effort is calculated using the formula effort = c(size) ^ k where the constants c and k are dependent on the nature of the product and the development environment:</p>
<ul>
<li>Organic mode (small system developed in-house) [c=2.4, k=1 .05];</li>
<li>Embedded mode (tight constraints, expensive to change) [c=3.0, k=1.12];</li>
<li>Semi-detached mode (hybrid of organic and embedded) [c=3.6, k=1.20].</li>
</ul>
<p>The way in which we calculate the effort is dependent on where we are in the development process. During<em> application composition (user interface design)</em> we use the number of physical features of the product such as screens, reports and so on. This is known as object points.</p>
<p>At the <em>early design stage (architecture)</em> we use function points to estimate the size of the system. There is a neat little trick here to convert the function points to the equivalent number of lines of code. To do that, we multiply the function points by a factor for the programming language used.</p>
<p>After we have gathered all the data we can now calculate the effort in person-months using the formula pm = 2.94(size) ^ (sf) * (e1) *&#8230;* (en)† where size is the number of lines of code in thousands (<em>kdsi)</em> and sf is the scale factor which is calculated by sf = 0.91 + 0.01 * Σ(exponent driver ratings)†. Exponent driver ratings are there so that we can compensate for the loss of productivity on large projects.</p>
<p>Determine the scale factor (sf) by assigning points from the table below to each of the following exponent drivers:</p>
<ul>
<li>Precedentedness - how novel is the system? The more novel, the more uncertainty, the higher the exponent;</li>
<li>Development flexibility &#8211; how easy is it to meet the requirements? If it&#8217;s tough assign a higher exponent value;</li>
<li>Architecture/risk resolution &#8211; how likely are the requirements to change? Very likely, up the exponent;</li>
<li>Team cohesion &#8211; are your team members friends? If not, up the exponent;</li>
<li>Process maturity &#8211; do you know what you are doing? If you do, go low on the exponent.</li>
</ul>
<p>Here&#8217;s a table to help you out on the exponent driver values:</p>
<p><a href="http://thirdshelf.files.wordpress.com/2011/08/driverexponents.png"><img class="alignnone size-full wp-image-685" title="DriverExponents" src="http://thirdshelf.files.wordpress.com/2011/08/driverexponents.png?w=720" alt=""   /></a></p>
<p>†Pssst&#8230; I changed the formula&#8217;s a little. There are variables which have been set for many years and so the formulas should really be pm = A(size) ^ (sf) * (e1)*&#8230;*(en) and sf = B + 0.01 * Σ(exponent driver ratings).<br />
<strong> References</strong></p>
<ol>
<li>Hughes, B. &amp; Cotterell, M. 2009. <em>Software Project Management, 5e</em>. Berkshire: McGraw-Hill Education.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/653/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=653&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2011/08/28/estimating-software-effort/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=&#38;l=as2&#38;o=1&#38;a=0201835959&#38;camp=217145&#38;creative=399369" medium="image" />

		<media:content url="http://thirdshelf.files.wordpress.com/2011/08/communicationchannels.png" medium="image">
			<media:title type="html">Communication Channels in a Team</media:title>
		</media:content>

		<media:content url="https://www.assoc-amazon.com/e/ir?t=thethishe-20&#38;l=ur2&#38;o=1" medium="image" />

		<media:content url="http://thirdshelf.files.wordpress.com/2011/08/datagroups.png" medium="image">
			<media:title type="html">DataGroups</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2011/08/driverexponents.png" medium="image">
			<media:title type="html">DriverExponents</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming pragmatically</title>
		<link>http://thirdshelf.com/2010/06/13/programming-pragmatically/</link>
		<comments>http://thirdshelf.com/2010/06/13/programming-pragmatically/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 16:29:48 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[dont-program-if]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://thirdshelf.com/?p=382</guid>
		<description><![CDATA[Don&#8217;t program if&#8230; you have not yet read The Pragmatic Programmer: From Journeyman to Master by Andy Hunt and David Thomas. I never understood what all the fuss was about and here I am making a fuss about it. pragmatic 1540s, from M.Fr. pragmatique , from L. pragmaticus  &#8221;skilled in business or law,&#8221; from Gk. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=382&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t program if&#8230; you have not yet read <a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;tag=thethishe-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=020161622X">The Pragmatic Programmer: From Journeyman to Master</a> by <a href="http://blog.toolshed.com">Andy Hunt</a> and <a href="http://pragdave.pragprog.com/">David Thomas</a>. I never understood what all the fuss was about and here I am making a fuss about it.</p>
<blockquote><p><strong>pragmatic</strong> 1540s,  from  M.Fr.  pragmatique  , from  L.  pragmaticus   &#8221;skilled  in  business  or  law,&#8221;  from  Gk.  pragmatikos   &#8221;versed  in  business,&#8221;  from  pragma   (gen.  pragmatos  ) &#8220;civil  business,  deed,  act,&#8221;  from  prassein   &#8221;to  do,  act,  perform.&#8221; (1)</p></blockquote>
<p><strong>Pragmatic programmer</strong></p>
<p>So, what makes a pragmatic programmer? A pragmatic programmer is someone who exhibits certain attitudes and practices when thinking, writing, testing and deploying software. This includes being an early adopter or fast adapter, being inquisitive and thinking critically. It also means being realistic and being <a href="http://thelimberlambda.com/2010/05/25/the-skill-to-learn/">anything-ready</a>. And to be anything -ready one must learn continuously.</p>
<p>One of the major philosophies is to always place the problem and the solution in a larger context. This means to always think beyond the immediate problem and see the bigger picture. Why? Simply, so that you can make <em>informed decisions</em> such as deciding where to comprise and where to apply the <a href="http://en.wikipedia.org/wiki/80-20_rule">Pareto principle</a>.</p>
<p>A pragmatic programmer takes responsibility for everything they do. They don&#8217;t just sit there and watch the code rot. A pragmatic programmer will always endeavor to keep the code pristine.</p>
<p>Instigating change is another important skill that a pragmatic programmer must learn to apply. People are naturally opposed to change and in order to be a pragmatic in a software project, it is sometimes necessary to break the &#8220;we have always done it like this&#8221; mentality.</p>
<p><strong>Skills and Tools</strong></p>
<p>Using the appropriate tools is one of the best ways to amplify your productivity. Try <a href="http://www.hanselman.com/tools">various tools</a> and pick the ones that work for you. Then, learn them extremely well. Mold them to the shape of your hand. Consider the following categories of tools:</p>
<ul>
<li>Source control</li>
<li>Text manipulation</li>
<li>Debugging</li>
</ul>
<p>Another important tool is to be able to <a href="http://www.codinghorror.com/blog/2008/11/we-are-typists-first-programmers-second.html">touch type</a>. This is a worthwhile skill to<a href="http://www.keybr.com"> learn</a>, so be prepared to put in a lot of time.</p>
<p><strong>Life as a pragmatic programmer</strong></p>
<p>Being a pragmatic programmer does not make you write perfect programs. Accept it. Things will go wrong and when they do, we should ensure that the data always remain consistent. As the book says &#8220;dead programs tell no lies&#8221; and sometimes it is best to just simply kill it.</p>
<p>As long as there are people, software will change, continuously. That&#8217;s life. Pragmatic programmers guard themselves against the impact of these changes by observing the <a href="http://en.wikipedia.org/wiki/Law_Of_Demeter">Law of Demeter</a> (<a href="http://haacked.com/archive/2009/07/14/law-of-demeter-dot-counting.aspx">it&#8217;s not a dot counting exercise</a>) and decoupling dependencies. Keep separate concepts separate.</p>
<p>Coding is not just a matter of transcribing requirements into source code. It is a continuous process of making decisions. Decisions that will either pave your way or cause you grief later on. The choice is yours. Think critically about every line of code and remember to refactor continuously. Test, test and test some more.</p>
<p>While building software, there are two important principles that a  pragmatic programmer always observes. These are avoiding duplication at  all costs and avoid splitting a piece of knowledge across multiple  components. Failing to observe these two principles will invariably  bring you headaches in the future as the source code spirals out of  control.</p>
<p>This is the way of the pragmatic programmer.</p>
<p>By the way, there are loads of <a href="http://www.codinghorror.com/blog/files/Pragmatic%20Quick%20Reference.htm">tips</a> in the book that will not only benefit you now, but for as long you write   code.</p>
<p>(1) Dictionary.com, &#8220;pragmatic,&#8221; in <em>Online Etymology Dictionary</em>.  Source location: Douglas Harper, Historian. <a href="http://dictionary.reference.com/browse/pragmatic" target="_parent">http://dictionary.reference.com/browse/pragmatic</a>.  Available: <a href="http://dictionary.reference.com/" target="_parent">http://dictionary.reference.com</a>.  Accessed: June 13, 2010.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/382/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=382&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2010/06/13/programming-pragmatically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>
	</item>
		<item>
		<title>Personal Knowledge Management with a Wiki</title>
		<link>http://thirdshelf.com/2009/04/07/personal-knowledge-management-with-a-wiki/</link>
		<comments>http://thirdshelf.com/2009/04/07/personal-knowledge-management-with-a-wiki/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 17:35:39 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://thirdshelf.wordpress.com/?p=208</guid>
		<description><![CDATA[In the excellent book Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers) by Andy Hunt, he suggests that every programmer should have a personal wiki in order to manage knowledge effectively. A sort of exocortex. A place where you can keep ideas, thoughts and nearly anything you want outside your brain. Ever received one of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=208&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the excellent book <a href="http://www.amazon.com/gp/product/1934356050?ie=UTF8&amp;tag=thethishe-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1934356050">Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)</a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.com/e/ir?t=thethishe-20&amp;l=as2&amp;o=1&amp;a=1934356050" border="0" alt="" width="1" height="1" /> by <a href="http://blog.toolshed.com/">Andy Hunt</a>, he suggests that every programmer should have a <a href="http://en.wikipedia.org/wiki/Personal_Wiki">personal wiki</a> in order to manage knowledge effectively. A sort of exocortex. A place where you can keep ideas, thoughts and nearly anything you want outside your brain.</p>
<p>Ever received one of those emails that you just have to keep somewhere? That snippet of source code that might come in handy? That chocolate muffin recipe? Why not put all of it into your wiki?</p>
<p>My personal choice of this kind of wiki is <a href="http://www.tiddlywiki.com/">TiddlyWiki</a>. Simply because all of the content is in a single HTML file. Fan of <a href="http://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done</a>? TiddlyWiki can easily be configured to support the Getting Things Done methodology. Have a look at <a href="http://www.dcubed.ca/Welcome_to_d-cubed.html">d-cubed</a> for example.</p>
<p>Bear in mind that it has a learning curve to it, but if you are willing to stick to it you will surely reap the benefits.</p>
<p>Some of the features include:</p>
<ul>
<li>Tagging</li>
<li>Searching</li>
<li>Text formatting, including support for monospace</li>
<li>Highlighting</li>
<li>Block quotes</li>
<li>Tables</li>
<li>Headers</li>
<li>Save with backups</li>
<li>RSS feeds</li>
</ul>
<p>I would suggest the following plugins to really spice-up TiddlyWiki:</p>
<ul>
<li><a href="http://tiddlywiki.abego-software.de/#YourSearchPlugin">YourSearch</a></li>
<li><a href="http://www.tiddlytools.com/#CheckboxPlugin">CheckBox</a></li>
<li><a href="http://www.TiddlyTools.com/#AttachFilePlugin">AttachFile</a></li>
<li><a href="http://www.tiddlytools.com/#CalendarPlugin">Calendar</a></li>
</ul>
<p>Check out <a href="http://www.tiddlytools.com">TiddlyTools</a> and <a href="http://tiddlyvault.tiddlyspot.com/">TiddlyVault</a> for other plugins. It supports themes, which can be downloaded from <a href="http://tiddlythemes.com/">TiddlyThemes</a>. There is also a great <a href="http://jamwiki.org/files/2007/8/tiddlywiki_cheatsheet-22040121.pdf">cheat sheat</a> available.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=208&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2009/04/07/personal-knowledge-management-with-a-wiki/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=thethishe-20&#38;l=as2&#38;o=1&#38;a=1934356050" medium="image" />
	</item>
		<item>
		<title>Workplace Morale</title>
		<link>http://thirdshelf.com/2008/12/27/workplace-morale/</link>
		<comments>http://thirdshelf.com/2008/12/27/workplace-morale/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 09:37:19 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://thirdshelf.com/?p=179</guid>
		<description><![CDATA[Lately I&#8217;ve been thinking on morale in the workplace. What is morale? According to Alexander H. Leighton, &#8220;morale is the capacity of a group of people to pull together persistently and consistently in pursuit of a common purpose&#8220;. From this quote, it is evident that if morale decreases, people will no longer pull together in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=179&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been thinking on morale in the workplace. What is morale? According to <a href="http://en.wikipedia.org/wiki/Alexander_H._Leighton">Alexander H. Leighton</a>, &#8220;<em>morale is the capacity of a group of people to pull together persistently and consistently in pursuit of a common purpose</em>&#8220;.</p>
<p>From this quote, it is evident that if morale decreases, people will no longer pull together in pursuit of the common purpose. Following from that, we can then say that morale is the glue that keeps people united and focused on the given task.</p>
<p>Sustaining a healthy level of morale in the workplace should be one of the primary concerns of managers. I&#8217;d like to think that every workplace has a set of morale pumps that help to maintain a certain level of morale, whether it be great coffee, job security or an energizing work culture, which contribute to keeping employees focused and united.</p>
<p>In the current economic environment where most businesses have to consider cutting costs on most levels, be careful when cutting costs on the morale pumps. Consider the cost of reducing and taking away that which maintains this level of morale. I think investing into keeping morale high is probably more needed now than ever before.</p>
<p>Here are some factors that influence morale in the workplace, either positively or negatively :</p>
<ul>
<li>Job security;</li>
<li>Management style;</li>
<li>Staff feeling that their contribution is valued by their employer;</li>
<li> Realistic opportunities for merit-based promotion;</li>
<li>Team composition;</li>
<li> The work culture;</li>
<li>Compensation;</li>
<li>Recognition and rewards;</li>
<li>Work that isn&#8217;t challenging;</li>
<li>Limited growth opportunities;</li>
<li>Fun environment to work in</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=179&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2008/12/27/workplace-morale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>
	</item>
		<item>
		<title>OneNote 2008</title>
		<link>http://thirdshelf.com/2008/08/30/onenote-2008/</link>
		<comments>http://thirdshelf.com/2008/08/30/onenote-2008/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 18:35:40 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[gtd]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://thirdshelf.wordpress.com/?p=136</guid>
		<description><![CDATA[One more favourite tool that I have come to like a great deal is OneNote 2008. Straight from the box I got used to the ease and the flexibility that it provides to capture and layout my notes. It is almost easier than a notebook. Currently I am designing a website and the way that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=136&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;"><a href="http://thirdshelf.files.wordpress.com/2008/08/onenote2008.png"><img class="size-medium wp-image-138 alignleft" style="border:0 none;" src="http://thirdshelf.files.wordpress.com/2008/08/onenote2008.png?w=300&#038;h=191" alt="" width="300" height="191" /></a></p>
<p style="text-align:left;">One more favourite tool that I have come to like a great deal is <a href="http://office.microsoft.com/en-us/onenote/default.aspx">OneNote 2008</a>. Straight from the box I got used to the ease and the flexibility that it provides to capture and layout my notes. It is almost easier than a notebook.</p>
<p style="text-align:left;">Currently I am designing a website and the way that OneNote helped me organize the research is amazing. Not only that, it has a very handy screen capturing utility that can be invoked at any time using the Windows Key + S.</p>
<p style="text-align:left;">
<p style="text-align:left;"><a href="http://thirdshelf.files.wordpress.com/2008/08/onenote2008sidenote.png"><img class="alignright size-medium wp-image-140" src="http://thirdshelf.files.wordpress.com/2008/08/onenote2008sidenote.png?w=300&#038;h=222" alt="" width="300" height="222" /></a></p>
<p style="text-align:left;">It also allows you to capture side notes at any point in time by pressing Windows Key + N. Very handy stuff indeed.</p>
<p style="text-align:left;">Some features of OneNote 2008 includes:</p>
<ul style="text-align:left;">
<li><span class="ui">Gathering your notes and information in one place;</span></li>
<li><span class="ui">Automatic saving of your notebooks;<br />
</span></li>
<li><span class="ui">Organize information in the manner that you want with complete freedom;</span></li>
<li><span class="ui">Prioritization and management of your tasks and your to-do list more efficiently;</span></li>
<li><span class="ui">Themed notebook pages;</span></li>
<li><span class="ui">Sharing of your notebooks;</span></li>
<li><span class="ui">Text highlighting;</span></li>
<li><span class="ui">Using pens on the note surface;</span></li>
<li><span class="ui">Automatic source linking when pasting information;<br />
</span></li>
<li><span class="ui">etc&#8230;<br />
</span></li>
</ul>
<p style="text-align:left;">I think I might have abondoned my <a href="http://en.wikipedia.org/wiki/Moleskine">Moleskine</a> for good after discovering OneNote.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thirdshelf.wordpress.com/136/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thirdshelf.wordpress.com/136/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=136&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2008/08/30/onenote-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2008/08/onenote2008.png?w=300" medium="image" />

		<media:content url="http://thirdshelf.files.wordpress.com/2008/08/onenote2008sidenote.png?w=300" medium="image" />
	</item>
		<item>
		<title>Remember the Milk</title>
		<link>http://thirdshelf.com/2008/08/22/remember-the-milk/</link>
		<comments>http://thirdshelf.com/2008/08/22/remember-the-milk/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 19:14:59 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[gtd]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://thirdshelf.wordpress.com/?p=109</guid>
		<description><![CDATA[Most of the time I find myself running around like a mad thing and inevitably will forget fairly important things. Things that can land me in a fair bit of trouble, if forgotten. Out hunting for a decent task and time management application (I&#8217;m sorry todo.txt), I finally found and settled on one, RememberTheMilk. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=109&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-117" src="http://thirdshelf.files.wordpress.com/2008/08/rtmlogo.png?w=720" alt=""   />Most of the time I find myself running around like a mad thing and inevitably will forget fairly important things. Things that can land me in a fair bit of trouble, if forgotten. Out hunting for a decent task and time management application (I&#8217;m sorry todo.txt), I finally found and settled on one, <a href="http://www.rememberthemilk.com" target="_blank">RememberTheMilk</a>.</p>
<p>The feature list and flexibility of this web application is outstanding. For starters, it integrates smoothly with the concepts of <a href="http://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done</a>. Here is a <a href="http://blog.rememberthemilk.com/2008/05/guest-post-advanced-gtd-with-remember.html">post</a> on how to set it up for GTD.</p>
<p>You can add tasks from almost anywhere, be it mobile, Launchy, e-mail or even their own website. There are also a couple of ways to interact with your task lists, such as:</p>
<ul>
<li><a href="http://www.pijnappel.de/blog/PermaLink,guid,8252f941-2e8b-4a3b-8a43-7a26d3468460.aspx">Remember the Milk Tool</a> &#8211; Lets you add tasks rapidly from the system tray</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/7125">RememberTheMilk provider for Thunderbird</a> &#8211; Lets you access tasks from within <a href="http://en.wikipedia.org/wiki/Mozilla_Thunderbird">Thunderbird</a></li>
<li><a href="http://sheenonline.biz/2008/07/remember-the-milk-posting-directly-from-your-desktop/">Add tasks with Launchy</a> &#8211; Lets you add tasks directly from <a href="http://www.launchy.net">Launchy</a></li>
<li><a href="http://thirderror.com/your-remember-the-milk-to-do-list-on-the-desktop/">Embedding tasks on your desktop</a> &#8211; View your tasks embedded into your desktop</li>
<li>Or, write your own, with their extensive <a href="http://www.rememberthemilk.com/services/api/">API</a></li>
</ul>
<p>For offline access it uses <a href="http://www.google.co.za/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fgears.google.com%2F&amp;ei=-w2vSK7RN4ai0gWD7fHcDw&amp;usg=AFQjCNF1EE-eBHTVgvKzR61vWO6IQVSkWQ&amp;sig2=3W_Tsvjj-rOFB0pvhXs4yw">Google Gears</a>, so that you can continue to work with your tasks offline, and then synchronize when you are online again!</p>
<p>Some of the features that just make it that much better, is that it supports:</p>
<ul>
<li>SMS reminders</li>
<li>E-mail reminders</li>
<li>Recurring tasks</li>
<li>Multiple lists</li>
<li>Tags for tasks</li>
<li>Weekly planners</li>
<li>Locations integrated with Google Maps</li>
<li>Synchronize to BlackBerry and Windows Mobile</li>
<li>Notes on tasks</li>
<li>Contacts with whom tasks can be shared</li>
<li>etc&#8230;</li>
</ul>
<p>Well done to the Australian Team!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thirdshelf.wordpress.com/109/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thirdshelf.wordpress.com/109/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=109&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2008/08/22/remember-the-milk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2008/08/rtmlogo.png" medium="image" />
	</item>
		<item>
		<title>Productivity heatmap</title>
		<link>http://thirdshelf.com/2008/03/30/productivity-heatmap/</link>
		<comments>http://thirdshelf.com/2008/03/30/productivity-heatmap/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:45:48 +0000</pubDate>
		<dc:creator>Sydney du Plooy</dc:creator>
				<category><![CDATA[gtd]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://thirdshelf.wordpress.com/?p=6</guid>
		<description><![CDATA[On Productive Flourishing I found another useful tool. A productivity heat map. A really intuitive way of discovering your optimal productivity times. How it works: It&#8217;s simply a circle with the hours of the day marked on the outside and divided into into slices. Time slices if you want. The idea is to colour in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=6&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><img src="http://thirdshelf.files.wordpress.com/2008/03/heatmap.thumbnail.png?w=720" alt="Heatmap" align="left" />On <a href="http://www.productiveflourishing.com/how-heatmapping-your-productivity-can-make-you-more-productive/" target="_blank">Productive Flourishing</a> I found another useful tool. A productivity heat map. A really intuitive way of discovering your optimal productivity times.</div>
<div>How it works: It&#8217;s simply a circle with the hours of the day marked on the outside and divided into into slices. Time slices if you want. The idea is to colour in the time slices or partial time slices with colours that indicate the level of your productivity for a given 24-hour period.</div>
<div>The author suggests the following four colours, from most productive to sleep:<strong> </strong>red, orange, yellow, green and gray. I unfortunately did not have that many highlighters at hand, so I had to make use of only three. Here, is how I used them:</div>
<div><strong>Green</strong>: The time where I was surfing the net, reading blogs and drinking coffee or eating lunch.</div>
<div><strong>Yellow</strong>: Period where I was concentrating on certain tasks but not sold out to a specific task.</div>
<div><strong>Orange</strong>: In the zone and totally lost and focused on the task at hand. For me, this lasts around 2 hours.</div>
<div>I found the results rather interesting and now know when to schedule mundane tasks and when to sit down and wipe out a task. So, go ahead and download the <a href="http://www.academicppd.com/download/Blank%20Daily%20Productivity%20Heatmap">blank heatmap</a> template.</div>
<p align="left">
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thirdshelf.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thirdshelf.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thirdshelf.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thirdshelf.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thirdshelf.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thirdshelf.com&amp;blog=3179385&amp;post=6&amp;subd=thirdshelf&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thirdshelf.com/2008/03/30/productivity-heatmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Sydney</media:title>
		</media:content>

		<media:content url="http://thirdshelf.files.wordpress.com/2008/03/heatmap.thumbnail.png" medium="image">
			<media:title type="html">Heatmap</media:title>
		</media:content>
	</item>
	</channel>
</rss>
