<?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>Schauderhaft &#187; estimate</title>
	<atom:link href="http://blog.schauderhaft.de/tag/estimate/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schauderhaft.de</link>
	<description>Softwaredevelopment, Projectmanagement, Qualitymanagement and all things &#34;schauderhaft&#34;</description>
	<lastBuildDate>Sun, 05 Feb 2012 20:46:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why you Should Estimate User Stories and Why 5 Reasons Against it are Bogus</title>
		<link>http://blog.schauderhaft.de/2011/04/11/why-you-should-estimate-user-stories-and-why-5-reasons-against-it-are-bogus/</link>
		<comments>http://blog.schauderhaft.de/2011/04/11/why-you-should-estimate-user-stories-and-why-5-reasons-against-it-are-bogus/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 18:53:44 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[estimate]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=753</guid>
		<description><![CDATA[I just came a cross 5 Reasons Why You Should Stop Estimating User Stories by Michael Dubakov. While I consider it an important practice to challenge everything I think this time the challenge is pretty weak and falls apart as soon as you start to analyse it. So lets do just that: You don&#8217;t waste [...]]]></description>
			<content:encoded><![CDATA[<p>I just came a cross <a href="http://www.targetprocess.com/blog/2011/04/5-reasons-why-you-should-stop-estimating-user-stories.html?utm_source=dlvr.it&#038;utm_medium=twitter&#038;utm_campaign=agilevangelists">5 Reasons Why You Should Stop Estimating User Stories</a> by Michael Dubakov. While I consider it an important practice  to challenge everything I think this time the challenge is pretty weak and falls apart as soon as you start to analyse it. So lets do just that:</p>
<ol>
<li><strong>You don&#8217;t waste time on estimation</strong> This one is valid to some extend. If you don&#8217;t gain anything by doing estimations you should stop NOW. But if you do it properly, you do get value out of an estimation. If you don&#8217;t estimate you don&#8217;t know how expensive a feature will be, so there is no reasonable way to decide if you want that feature or not. More importantly: real live has deadlines all over the place. You have to meet those. In order to do that you&#8217;ll have to throw out features. You won&#8217;t be able to react if you don&#8217;t know that you will miss the deadline before you actually crossed it.</li>
<li><strong>You shouldn’t explain to higher managers why it took soooo loooooooong</strong> This is only true if you have an extremely weak manager, going &#8220;Oh they don&#8217;t do estimates, so I guess I just wait here until they are done.&#8221; If you have a manager like that, look for a new job, you will need it pretty soon.</li>
<li><strong>You don’t give promises that are hard to keep</strong> an estimate is NOT A PROMISE! If you or anybody else takes an estimate and turns it into a deadline, somebody is asking for trouble. If you build a garage, you don&#8217;t measure (estimate) your car and make the door exactly that wide. You add some extra space so it actually fits through the door. Also making strong promises and making them happen is the way to success. Nobody gets any attention with &#8220;We might release some kind of software which might happen to be useful to somebody sometime when we are done&#8221; With this wimpy attitude you will get nowhere, not with your career and not with your product</li>
<li><strong>You don’t put additional pressure on development team</strong> This is the same argument with the same mistake. If somebody tries to turn your estimates into deadline, educate him on the difference, but don&#8217;t let somebody stupid dictate your development practices.</li>
<li><strong>You focus on really important things</strong> Here Michael makes the case that by estimating epics the team might get scared. I think the opposite is more likely. Who is more scared by lets say sharks or spiders or flying? The people knowing next to nothing about the subject? Or the people knowing a lot about it? People that know that sharks do have big, sharp teeth and a strong jaw to rip them through your flesh, but who also know that sharks seldomly attack people and how to avoid being considered prey? If you know how big an epic is and what parts of it make it big, you can make a decision about if, when and how to tackle it. So if anything this is an argument in favor for estimates.</li>
</ol>
<p>Do your estimates, but ensure two things: You get value out of them, by using them to stear your development. Don&#8217;t spend more time on it then necessary. Magic Estimation is in my experience a good way to do that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2011/04/11/why-you-should-estimate-user-stories-and-why-5-reasons-against-it-are-bogus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 Reasons why the Estimates are too low</title>
		<link>http://blog.schauderhaft.de/2010/01/17/reason-estimate-low/</link>
		<comments>http://blog.schauderhaft.de/2010/01/17/reason-estimate-low/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 12:50:51 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[estimate]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=376</guid>
		<description><![CDATA[One of the most difficult tasks in a software development project is estimating the size of the project. Unfortunatly very often  you have to do it at the very beginning of a project, when you have the least information. The result at the end is very often a large difference between the original estimate and [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_378" class="wp-caption alignleft" style="width: 210px"><a href="http://www.sxc.hu/photo/950850"><img class="size-medium wp-image-378" title="950850_27101514" src="http://blog.schauderhaft.de/wp-content/uploads/2010/01/950850_27101514-200x300.jpg" alt="Hourglass" width="200" height="300" /></a><p class="wp-caption-text">Hourglass</p></div>
<p>One of the most difficult tasks in a software development project is estimating the size of the project. Unfortunatly very often  you have to do it at the very beginning of a project, when you have the least information. The result at the end is very often a large difference between the original estimate and the actual time and money needed.</p>
<p>If the difference is positive as often as it is negative this is kind of OK. But in some teams estimates are too low almost all the time! The obvious strategy often employed is to add a certain percentage to the estimate. But of course that is just fixing the symptoms, because most of the  time nobody knows the reason. So in this article I am going to show a couple of possible reasons for bad estimates, how to identify these and also a possible fix.</p>
<p>These are the kinds of reasons I identified so far:</p>
<p><strong>Super Hero Estimates</strong>: Often estimates are done by a very experienced developer (Super Hero). When they estimate a task they imagine themselves doing it. But while the esimate might be correct for the Super Hero in the project more average developers work on the task. And since they aren&#8217;t Super Heros they need longer.</p>
<p>You can identify this kind of situation by letting different people do the estimates. Including average developers. If the estimate of the Super Hero is constantly below that of the others, the fix becomes obvious: Use the estimate of the other developers. Don&#8217;t exclude the Super Hero from estimating though. Experienced developers a good at identifying things others tend to forget.</p>
<p><strong>Wrong Team</strong>: This one is similar to the Super Hero Estimate, in that the estimate is correct for a team of good (possibly excellent) developers. It differs though, because in this scenario, this is the actual team that should do the project. But for one reason or the other the project gets staffed with a different team. Maybe developers that aren&#8217;t that good. Or maybe just a team that doesn&#8217;t no the domain, the framework or the programming language that well.</p>
<p>In order to identify this situation, talk to the people doing the estimates. Let them specifiy the assumption they had in mind when they made the estimate, and compare it to what actually happend in the project.</p>
<p>If this is actually the problem you have two choices: The first is: stop switching teams. This doesn&#8217;t work most of the time, since you don&#8217;t switch them just for fun, right? So you are stuck with the second option: Even when you plan to use your top team, make the estimates on the assumption that an average team will do the job. Be honest to yourself about what an average team is.</p>
<p><strong>Guessing in the dark</strong>: Often the information available about the project at hand is just not sufficient for a reliable estimate. There is only a vague description available.</p>
<p>In order to identify this as the underlying problem, break the project down into tasks, which you estimate. For each task put down the assumptions you are making: what technology are you using, how complex is the logic to implement. During the project check if your assumptions hold or if there are a lot of changes. This is also most of the solution to the problem. Make the description of your assumption part of your estimate. If the assumptions are wrong, the customer may correct those, resulting in a new more reliable estimate. I he changes his mind later on, you have a clean basis for a change management process, which ensures, that changes are possible, but that the one requesting the change is also paying for it.</p>
<p><strong>Forgetting stuff</strong>: This one looks very similiar to the previous. Stuff doesn&#8217;t get included in the estimate. But this time it&#8217;s not because the people doing the estimate don&#8217;t know about it, but because they forget about it.</p>
<p>Using the same strategy as for Guessing in the dark should make this kind of mistake obvious. As a remidy, let multiple people do estimates, and compare the results. You should do this based on the broken down tasks, so missing tasks in the different estimates become obvious.</p>
<p><strong>Ball of Mud Projects</strong>: When projects base on a specific code base take too long each and every time, a reason might be that tasks keep getting more complex then anticipated. A typical reason for that would be an overly complex and convoluted code base, where nobody really can predict the effects a given code change may have.</p>
<p>In such a project I&#8217;d expect a lot 80% syndrome, few test and many swearing developers. Do a code analysis of the code base, with a concentration on architecture and dependency management. If you find a lot of crap, there is just one solution: Clean it up and pay your technical debt. I.e. invest time and money to improve the architecture. I also recommend implementing tests, that prevent the architecture from starting to rot again.</p>
<p><strong>Multitasking</strong>: People are bad at multi tasking. So you can&#8217;t put your top developer for 20% in five different projects and expect her to work just as efficient as normal. Once you start thinking about it, it should be really obvious if you have the problem or not. And the same should be true for the solution.</p>
<p><strong>Mythical Man Month</strong>: Conceptional very similar is the Mythical Man Month effect. Check if your estimates get processed like this: &#8220;Frank says he would need 6 months. We need to get done within 1 month, so let&#8217;s put 6 developers in the project.&#8221; If this is the case you are missing on all the overhead that a bigger team causes. In order to get a handle on that kind of problem read the book <a href="http://www.amazon.com/gp/product/0201835959?ie=UTF8&amp;tag=schauderhaft-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0201835959">Mythical Man Month</a>. I do think that book is overrated, but the chapter about the actual mythical man month is right to the point.</p>
<p>This problem is almost guaranteed to hit you when you do a project that is a magnitude larger then your normal project. You will underestimate by a large amount, if you do not factor in the exponential behaviour of communication over head.</p>
<p><strong>Lazy Developer</strong>: Of course there is always the possibility that the developers just aren&#8217;t working hard enough. In my experience, most of the time, this isn&#8217;t a problem. But I guess is it does happen. Symptoms could be lots of open browser tabs, on sites that have no relation to the work at hand, acompanied by hectic wiondow/tab switching, when the boss drops by. If this is a problem with one developer, it might be that the developer has the power to change it. But if many developers spend their time procrastinating it is most probably a management problem. Procrastination is not fun. Getting stuff done is. So if everybody is procrastinating something in the environment is probably highly demotivating. Find out what it is and get it out of the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2010/01/17/reason-estimate-low/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

