<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Endlessly Curious &#187; planning</title>
	<atom:link href="http://www.endlesslycurious.com/tag/planning/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.endlesslycurious.com</link>
	<description>Programming, Productivity &#38; Software Development.</description>
	<lastBuildDate>Mon, 09 Jan 2012 09:00:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reaction versus anticipation</title>
		<link>http://www.endlesslycurious.com/2008/11/21/reaction-versus-anticipation/</link>
		<comments>http://www.endlesslycurious.com/2008/11/21/reaction-versus-anticipation/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 09:00:38 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Lists]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://www.endlesslycurious.com/?p=812</guid>
		<description><![CDATA[It is not enough to react quickly to meet your customers feedback as a software engineer, if you truely want to be an excellent engineer you need to anticipate their needs (to an extent).   This does not mean creating applications that are so generic that they can meet any user need: as such systems [...]]]></description>
			<content:encoded><![CDATA[<p>It is not enough to react quickly to meet your customers feedback as a software engineer, if you truely want to be an excellent engineer you need to anticipate their needs (to an extent).   This does not mean creating applications that are so generic that they can meet any user need: as such systems usually suffer from feature overkill, take too long to develop and are overly complicated to use or maintain.</p>
<p>Anticipation takes many forms and covers many areas of software development:</p>
<ul>
<li><strong>Anticipating Questions: </strong>
<ul>
<li>Have you described your software in terms the customer can understand?</li>
<li>Do they still want the software now they understand what you are proposing?</li>
<li>Have you been precise with your description?  Vague descriptions can lead to confusion and user disinterest or down right resistance to your software (if they think it is something it is not).</li>
<li>Do you have design documentation you can show the customer?</li>
<li>Is your design documentation actually understandable (by the user) and is it user focused e.g. work flows, user interfaces etc?  High quality, readable and concise design documents are an excellent way of allowing the customer to soak in the design in their own time.</li>
</ul>
</li>
<li><strong>Anticipating deployment: </strong>
<ul>
<li>How is the user going to run your software?</li>
<li>Have you test run your software on the customer&#8217;s platform with a similar environment configuration before you attempt to roll it out?</li>
<li>What other dependencies will need to be installed to support your software?</li>
<li>How do you plan to push out those dependencies?</li>
<li>What sort of configuration management (CM) system is your customer using and can you harness it?</li>
<li>How will you install and configure your software?</li>
</ul>
</li>
<li><strong>Anticipating integration:</strong>
<ul>
<li>How will your software integrate with the customers current work flow and application stack?</li>
<li>Does your software have dependencies are shared with other applications that could require those other applications to be upgraded too?  What extra cost would this introduce?</li>
<li>Does your application have specific operating system configuration requirements that could cause side effects for other application?</li>
</ul>
</li>
<li><strong>Anticipating support:</strong>
<ul>
<li>How will you support your software post roll out?</li>
<li>How will diagnose problems on customers computers when you don&#8217;t have your development environment available?</li>
<li>Have you built any logging, metrics or error reporting tools built into your software?</li>
<li>Is there a help system integrated into the software and is that help system&#8217;s content usable and understandable by the target users?</li>
<li>How do you intend to upgrade your software or its dependencies in the future?</li>
<li>What sort of testing do you have in place to prevent upgrades breaking existing functionality?</li>
</ul>
</li>
<li><strong>Anticipating retirement:</strong>
<ul>
<li>How easy would it be to remove your software from the customers application stack?</li>
<li>Do you have some sort of uninstallation script?</li>
<li>What about your applications dependencies: will any dependencies be orphaned and how will you remove them?</li>
<li>How tightly coupled is your software to the other systems it interacts with?  Can it be easily and gracefully decoupled?</li>
</ul>
</li>
</ul>
<p>You don&#8217;t need to answer all of the above questions but spending some time thinking about them and jotting down even single senence answer will help you anticipate potential problems.  It is never fun to have to tell a customer &#8220;I hadn&#8217;t thought about that.&#8221; after some show stopping problem emerges&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.endlesslycurious.com/2008/11/21/reaction-versus-anticipation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Estimation and self delusion</title>
		<link>http://www.endlesslycurious.com/2008/09/12/estimation-and-self-delusion/</link>
		<comments>http://www.endlesslycurious.com/2008/09/12/estimation-and-self-delusion/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 08:00:08 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.endlesslycurious.com/?p=139</guid>
		<description><![CDATA[Here is an interesting exercise for you to try next time your estimating something e.g, task duration. Write down your initial off the cuff estimation, without thinking about the estimation in any detail. Think some more about the task and how long it could take if everything went wrong (within reason e.g, discounting riots, natural [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an interesting exercise for you to try next time your estimating something e.g, task duration.</p>
<ol>
<li>Write down your initial<em> off the cuff</em> estimation, without thinking about the estimation in any detail.</li>
<li>Think some more about the task and how long it could take if everything went wrong (within reason e.g, discounting riots, natural disasters, coups etc) then write down your new <em>worst case</em> estimation.</li>
<li>Think about how long it could take to do if everything went <em>right</em> and write down your <em>best case </em>estimation.</li>
</ol>
<p>Since I first started performing the exercise on myself and team members when estimating I have noticed the following:</p>
<ul>
<li>That answer one and three are almost always nearly identical and that answer two is usually <em>significantly</em> <em>different</em> on average from answers one or three.</li>
<li>Those planning based on estimates prefer accurate estimates to an immediate answer: especially as the immediate answer is usually significantly inaccurate.</li>
<li>I don&#8217;t like causing myself massive stress by making inaccurate estimates that I then have to try and meet and I&#8217;ve met few people who enjoy self inflicted stress.</li>
<li>It is acceptable to ask for some time to think about estimates, even if it feels awkward at first.</li>
<li>Thinking about similar tasks you have done in the past can be a very useful tool to help contextualise your estimation, if you don&#8217;t think about previous experiences you can walk into the same miscalculation again and again&#8230;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.endlesslycurious.com/2008/09/12/estimation-and-self-delusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

