<?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, 07 Sep 2010 19:19:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Mark W. Schumann</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-275</link>
		<dc:creator>Mark W. Schumann</dc:creator>
		<pubDate>Mon, 17 May 2010 18:43:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-275</guid>
		<description>@Dick (&quot;not a perfect plan...&quot;): Right, because you&#039;re still up against the idea that software time is malleable and compressible. By breaking your part into chunks you give yourself wiggle room to negotiate things away, but the boss or client can still bicker with those smaller individual task estimates the same way they wanted to manipulate the overall estimate to begin with.

But you&#039;re right, it can be an effective technique.

You know, right now I&#039;m thinking of a rhetorical possibility. What if you (or I) said to the project owner something like this:

&lt;blockquote&gt;I&#039;m telling you it takes three months &lt;em&gt;because it takes three months.&lt;/em&gt; If I back down now and say it&#039;s six weeks, what will you do when we&#039;re eight weeks in, it&#039;s not done, and the stakeholders want an explanation?&lt;/blockquote&gt;

Basically, I&#039;m making the transparency argument. If you lead with balderdash, how can you effectively explain the (inevitable) problems later?</description>
		<content:encoded><![CDATA[<p>@Dick (&#8220;not a perfect plan&#8230;&#8221;): Right, because you&#8217;re still up against the idea that software time is malleable and compressible. By breaking your part into chunks you give yourself wiggle room to negotiate things away, but the boss or client can still bicker with those smaller individual task estimates the same way they wanted to manipulate the overall estimate to begin with.</p>
<p>But you&#8217;re right, it can be an effective technique.</p>
<p>You know, right now I&#8217;m thinking of a rhetorical possibility. What if you (or I) said to the project owner something like this:</p>
<blockquote><p>I&#8217;m telling you it takes three months <em>because it takes three months.</em> If I back down now and say it&#8217;s six weeks, what will you do when we&#8217;re eight weeks in, it&#8217;s not done, and the stakeholders want an explanation?</p></blockquote>
<p>Basically, I&#8217;m making the transparency argument. If you lead with balderdash, how can you effectively explain the (inevitable) problems later?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dick Carlson</title>
		<link>http://blog.criticalresults.com/2009/11/04/optimism-death-march/#comment-270</link>
		<dc:creator>Dick Carlson</dc:creator>
		<pubDate>Sat, 01 May 2010 11:55:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.criticalresults.com/?p=99#comment-270</guid>
		<description>While I don&#039;t manage software projects, I often manage projects that involve software developers.  (Technical training/learning for software products.)  You&#039;ve identified a key issue here, in the idea that those of us who aren&#039;t unloading crates with forklifts are the ones to take it in the shorts when someone wants to tighten up their little Gant Chart.

One of my tricks is to define my little part of the world in terms of components, rather than one big rock.  On the software side, you might think of this as features or compatibility or speed.

Then, when a pointy-haired boss tells me he wants it done in half the time, I just draw a big red &quot;X&quot; through half of the components and ship it back to him for a confirming signature.  (No, I&#039;m not seriously saying I want you to build software that&#039;s only compatible with half the hardware -- it&#039;s a negotiating tool.)

This often opens a meaningful dialogue about how many hamsters we have, how fast their little treadmills go, and the fact that decisions must be made.  Or, at the worst, I&#039;m able to limit the scope of work and be seen as having met my commitments -- even if the product won&#039;t run on the C-64 as they originally wanted.

Not a perfect plan, but it kept my reviews clean and (now that I&#039;m a contractor) it really keeps my client relationships MUCH more professional.</description>
		<content:encoded><![CDATA[<p>While I don&#8217;t manage software projects, I often manage projects that involve software developers.  (Technical training/learning for software products.)  You&#8217;ve identified a key issue here, in the idea that those of us who aren&#8217;t unloading crates with forklifts are the ones to take it in the shorts when someone wants to tighten up their little Gant Chart.</p>
<p>One of my tricks is to define my little part of the world in terms of components, rather than one big rock.  On the software side, you might think of this as features or compatibility or speed.</p>
<p>Then, when a pointy-haired boss tells me he wants it done in half the time, I just draw a big red &#8220;X&#8221; through half of the components and ship it back to him for a confirming signature.  (No, I&#8217;m not seriously saying I want you to build software that&#8217;s only compatible with half the hardware &#8212; it&#8217;s a negotiating tool.)</p>
<p>This often opens a meaningful dialogue about how many hamsters we have, how fast their little treadmills go, and the fact that decisions must be made.  Or, at the worst, I&#8217;m able to limit the scope of work and be seen as having met my commitments &#8212; even if the product won&#8217;t run on the C-64 as they originally wanted.</p>
<p>Not a perfect plan, but it kept my reviews clean and (now that I&#8217;m a contractor) it really keeps my client relationships MUCH more professional.</p>
]]></content:encoded>
	</item>
	<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>
