<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: Programmer optimism, and the &#8220;Death March&#8221;</title>
	<atom:link href="http://blog.criticalresults.com/2009/11/04/optimism-death-march/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/</link>
	<description>get software done faster, sharpen your team, gain balance and control... and make your project NOT SUCK</description>
	<lastBuildDate>Tue, 16 Mar 2010 22:45:40 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mark W. Schumann</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-155</link>
		<dc:creator>Mark W. Schumann</dc:creator>
		<pubDate>Wed, 16 Dec 2009 17:27:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-155</guid>
		<description>Thank you for your comment, Matthias. I agree that estimating in one day is problematic, although it&#039;s not too crazy if you go with the Cone of Uncertainty model. That way you can keep adjusting as you learn more.

People keep forgetting that software development is &lt;em&gt;always uncertain&lt;/em&gt;, because the minute you have certainty you&#039;re no longer doing software development!

I like your idea of getting better estimates after some iterations. That must help a lot.</description>
		<content:encoded><![CDATA[<p>Thank you for your comment, Matthias. I agree that estimating in one day is problematic, although it&#8217;s not too crazy if you go with the Cone of Uncertainty model. That way you can keep adjusting as you learn more.</p>
<p>People keep forgetting that software development is <em>always uncertain</em>, because the minute you have certainty you&#8217;re no longer doing software development!</p>
<p>I like your idea of getting better estimates after some iterations. That must help a lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthias Marschall</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-154</link>
		<dc:creator>Matthias Marschall</dc:creator>
		<pubDate>Wed, 16 Dec 2009 16:19:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-154</guid>
		<description>If you really have to estimate the complete project within a day you&#039;re really screwed. What we try is to keep our teams together and try to assign work to teams (not teams to work). That way we have at least a known velocity and are up and running with a reasonable estimate after a few short iterations (2-4 weeks). But this is definitely not possible in all environments...</description>
		<content:encoded><![CDATA[<p>If you really have to estimate the complete project within a day you&#8217;re really screwed. What we try is to keep our teams together and try to assign work to teams (not teams to work). That way we have at least a known velocity and are up and running with a reasonable estimate after a few short iterations (2-4 weeks). But this is definitely not possible in all environments&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark W. Schumann</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-100</link>
		<dc:creator>Mark W. Schumann</dc:creator>
		<pubDate>Mon, 16 Nov 2009 19:22:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-100</guid>
		<description>Peter, I think I saw the Cone of Uncertainty, or something a lot like it, in some of Steve McConnell&#039;s work... maybe &lt;a href=&quot;http://www.stevemcconnell.com/rd.htm&quot; title=&quot;Rapid Development by Steve McConnell&quot; rel=&quot;nofollow&quot;&gt;Rapid Development&lt;/a&gt;, not sure. Same concept: you get better and better at predicting project outcomes the closer you are to the end.

John (jfbauer), I love the slightly Machiavellian way you calculate your estimates. An incredibly non-cynical interpretation, and a useful one, is that you &lt;em&gt;really do&lt;/em&gt; need to plan on those hard dependencies, and there&#039;s nothing wrong with that at all. For example, right at this moment I&#039;m held up a little bit on a software project because there are some issues I can only resolve by testing on certain hardware... that does not exist yet. I didn&#039;t plan on that! And now I&#039;m technically behind, although the client is being cool about it.

But the tactic you describe kind of reminds me of the way escape artists [are said to] flex their muscles and wrists to create a lot of wiggle room &lt;em&gt;after&lt;/em&gt; they&#039;re apparently tied up as tightly as possible. Sure, it &lt;em&gt;looks&lt;/em&gt; like you&#039;re on the most aggressive schedule that can be imagined, but you&#039;ve bought yourself that wiggle room. Good thinking! Slightly deceptive, but good. :-)

Bull, yes, you&#039;re exactly right. One of the things I like about Scrum is that it&#039;s really explicit about that: You get the best possible software, in a usable state, under the budget they give you. If the client thinks further development is worth the cost, you get more money or other resources. If not, hey, it&#039;s all good.

That avoids the problem that occurs when software is ostensibly 90% done, but useless, and there is no money to finish it. I just realized this is a case of software&#039;s infinite malleability being an &lt;em&gt;advantage&lt;/em&gt; in estimation, which it usually isn&#039;t.

Thank you all for your comments. I&#039;d love to discuss this further.</description>
		<content:encoded><![CDATA[<p>Peter, I think I saw the Cone of Uncertainty, or something a lot like it, in some of Steve McConnell&#8217;s work&#8230; maybe <a href="http://www.stevemcconnell.com/rd.htm" title="Rapid Development by Steve McConnell" rel="nofollow">Rapid Development</a>, not sure. Same concept: you get better and better at predicting project outcomes the closer you are to the end.</p>
<p>John (jfbauer), I love the slightly Machiavellian way you calculate your estimates. An incredibly non-cynical interpretation, and a useful one, is that you <em>really do</em> need to plan on those hard dependencies, and there&#8217;s nothing wrong with that at all. For example, right at this moment I&#8217;m held up a little bit on a software project because there are some issues I can only resolve by testing on certain hardware&#8230; that does not exist yet. I didn&#8217;t plan on that! And now I&#8217;m technically behind, although the client is being cool about it.</p>
<p>But the tactic you describe kind of reminds me of the way escape artists [are said to] flex their muscles and wrists to create a lot of wiggle room <em>after</em> they&#8217;re apparently tied up as tightly as possible. Sure, it <em>looks</em> like you&#8217;re on the most aggressive schedule that can be imagined, but you&#8217;ve bought yourself that wiggle room. Good thinking! Slightly deceptive, but good. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Bull, yes, you&#8217;re exactly right. One of the things I like about Scrum is that it&#8217;s really explicit about that: You get the best possible software, in a usable state, under the budget they give you. If the client thinks further development is worth the cost, you get more money or other resources. If not, hey, it&#8217;s all good.</p>
<p>That avoids the problem that occurs when software is ostensibly 90% done, but useless, and there is no money to finish it. I just realized this is a case of software&#8217;s infinite malleability being an <em>advantage</em> in estimation, which it usually isn&#8217;t.</p>
<p>Thank you all for your comments. I&#8217;d love to discuss this further.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: When you&#8217;re stuck &#171; Critical Results</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-90</link>
		<dc:creator>When you&#8217;re stuck &#171; Critical Results</dc:creator>
		<pubDate>Mon, 09 Nov 2009 17:28:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-90</guid>
		<description>[...] you work in a shop where obvious refactorings are &#8220;a waste of time&#8221;? Do they turn your best estimates to mush? Is it hard to do your best work because they won&#8217;t let you fnish things? I can&#8217;t [...]</description>
		<content:encoded><![CDATA[<p>[...] you work in a shop where obvious refactorings are &#8220;a waste of time&#8221;? Do they turn your best estimates to mush? Is it hard to do your best work because they won&#8217;t let you fnish things? I can&#8217;t [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Kretzman</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-81</link>
		<dc:creator>Peter Kretzman</dc:creator>
		<pubDate>Thu, 05 Nov 2009 05:39:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-81</guid>
		<description>Great post, Mark, and excellent comments from people so far as well.

This isn&#039;t a new problem and it will never go away either. I think it is the mettle of the mature and successful CIO/CTO that they constantly &quot;upward and sideways&quot; manage their peers and management in general to get them to understand realities here. I&#039;ve spent a good portion of my time on the job in these roles doing this kind of education and ongoing negotiation on &quot;rules of engagement&quot; etc.

I&#039;ve written about how estimating is, however, a necessary evil. (In other words, the approach that WON&#039;T work is to avoid giving estimates altogether).  You can find my post, &quot;Rock and a hard place: Why estimating turns into a squeeze play&quot;, at http://www.peterkretzman.com/2007/11/15/rock-and-a-hard-place-why-estimating-turns-into-a-squeeze-play/

A reference in that post is to Construx&#039; software&#039;s &quot;Cone of Uncertainty&quot;, which I literally keep framed on my wall, and point to it during meetings with key stakeholders as I evangelize these concepts. You can find that at http://www.construx.com/Page.aspx?hid=1648</description>
		<content:encoded><![CDATA[<p>Great post, Mark, and excellent comments from people so far as well.</p>
<p>This isn&#8217;t a new problem and it will never go away either. I think it is the mettle of the mature and successful CIO/CTO that they constantly &#8220;upward and sideways&#8221; manage their peers and management in general to get them to understand realities here. I&#8217;ve spent a good portion of my time on the job in these roles doing this kind of education and ongoing negotiation on &#8220;rules of engagement&#8221; etc.</p>
<p>I&#8217;ve written about how estimating is, however, a necessary evil. (In other words, the approach that WON&#8217;T work is to avoid giving estimates altogether).  You can find my post, &#8220;Rock and a hard place: Why estimating turns into a squeeze play&#8221;, at <a href="http://www.peterkretzman.com/2007/11/15/rock-and-a-hard-place-why-estimating-turns-into-a-squeeze-play/" rel="nofollow">http://www.peterkretzman.com/2007/11/15/rock-and-a-hard-place-why-estimating-turns-into-a-squeeze-play/</a></p>
<p>A reference in that post is to Construx&#8217; software&#8217;s &#8220;Cone of Uncertainty&#8221;, which I literally keep framed on my wall, and point to it during meetings with key stakeholders as I evangelize these concepts. You can find that at <a href="http://www.construx.com/Page.aspx?hid=1648" rel="nofollow">http://www.construx.com/Page.aspx?hid=1648</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bull</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-80</link>
		<dc:creator>bull</dc:creator>
		<pubDate>Wed, 04 Nov 2009 20:47:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-80</guid>
		<description>The stakeholder always wants to know how much the project is going to cost before you deliver it.  This is true with all complex manufacturing type projects whether it is skyscrapers, bridges, or software.   All an architect can do is give an estimate and make sure the stakeholder understands that if they want quality software that the estimate is just an educated guess that provides a budget range.  It is NOT a contract.

Stakeholders are required to take on some of the risk in complex projects.  To deliver quality software, the estimate may be exceeded and that is the risk the stakeholder assumes and it should be outlined in the estimate along with many assumptions about the project.  The better your estimate the more confidence there will be in your ability to estimate.  The better you deliver quality software on time, the less your estimate will matter.

The sales staff must work with the development staff to determine if we must meet the budget constraints or if it is more important to have quality software.  Some stakeholders want the Cadillac, and some want the Pinto.  Many times this can be determined by the nature of the project.  There is no perfect solution and that&#039;s what makes us valuable.

Assumptions and risks to go along with your estimate are key to controlling cost.  Along with a sane stakeholder.</description>
		<content:encoded><![CDATA[<p>The stakeholder always wants to know how much the project is going to cost before you deliver it.  This is true with all complex manufacturing type projects whether it is skyscrapers, bridges, or software.   All an architect can do is give an estimate and make sure the stakeholder understands that if they want quality software that the estimate is just an educated guess that provides a budget range.  It is NOT a contract.</p>
<p>Stakeholders are required to take on some of the risk in complex projects.  To deliver quality software, the estimate may be exceeded and that is the risk the stakeholder assumes and it should be outlined in the estimate along with many assumptions about the project.  The better your estimate the more confidence there will be in your ability to estimate.  The better you deliver quality software on time, the less your estimate will matter.</p>
<p>The sales staff must work with the development staff to determine if we must meet the budget constraints or if it is more important to have quality software.  Some stakeholders want the Cadillac, and some want the Pinto.  Many times this can be determined by the nature of the project.  There is no perfect solution and that&#8217;s what makes us valuable.</p>
<p>Assumptions and risks to go along with your estimate are key to controlling cost.  Along with a sane stakeholder.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfbauer</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-79</link>
		<dc:creator>jfbauer</dc:creator>
		<pubDate>Wed, 04 Nov 2009 18:19:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-79</guid>
		<description>Spot on with Agile inputs and waterfall outputs.  The only trick I&#039;ve used is to any degree of success is creating plausible &quot;pre-tasks&quot; that slow down the estimation time to completion to allow for some possible negotiation prior to estimates being cast in stone.   It doesn&#039;t work in the exact scenario described where the implementation date is already determined essentially before a work estimation is actually requested.  Published SLAs for commodity work do little to buy more excuse and &quot;I told you so&quot; arguments, but without SLAs you have nothing.  I&#039;ve written a little on this &quot;pre-task&quot; concept here: http://bit.ly/Sw8y8</description>
		<content:encoded><![CDATA[<p>Spot on with Agile inputs and waterfall outputs.  The only trick I&#8217;ve used is to any degree of success is creating plausible &#8220;pre-tasks&#8221; that slow down the estimation time to completion to allow for some possible negotiation prior to estimates being cast in stone.   It doesn&#8217;t work in the exact scenario described where the implementation date is already determined essentially before a work estimation is actually requested.  Published SLAs for commodity work do little to buy more excuse and &#8220;I told you so&#8221; arguments, but without SLAs you have nothing.  I&#8217;ve written a little on this &#8220;pre-task&#8221; concept here: <a href="http://bit.ly/Sw8y8" rel="nofollow">http://bit.ly/Sw8y8</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-78</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Wed, 04 Nov 2009 16:43:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-78</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by MarkWSchumann: &quot;Programmers are optimists&quot; is a cheap shot, and here&#039;s why. New blog post: http://bit.ly/A7eaa #agile...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by MarkWSchumann: &#8220;Programmers are optimists&#8221; is a cheap shot, and here&#8217;s why. New blog post: <a href="http://bit.ly/A7eaa" rel="nofollow">http://bit.ly/A7eaa</a> #agile&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
