<?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/"
		>
<channel>
	<title>Comments on: Culture of Failure</title>
	<atom:link href="http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/</link>
	<description>Connecting ideas to code</description>
	<lastBuildDate>Mon, 21 Apr 2008 02:21:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: link[rel=&#8217;developer&#8217;] &#187; The Art of the Exit</title>
		<link>http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/comment-page-1/#comment-39</link>
		<dc:creator>link[rel=&#8217;developer&#8217;] &#187; The Art of the Exit</dc:creator>
		<pubDate>Fri, 31 Aug 2007 01:07:07 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/#comment-39</guid>
		<description>[...] on August 30th, 2007 by Jeff      So you&#8217;re discovered that the company you work for has a culture of failure, and there&#8217;s no light at the end of the tunnel. You&#8217;ve finally realized that [...]</description>
		<content:encoded><![CDATA[<p>[...] on August 30th, 2007 by Jeff      So you&#8217;re discovered that the company you work for has a culture of failure, and there&#8217;s no light at the end of the tunnel. You&#8217;ve finally realized that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/comment-page-1/#comment-38</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Wed, 29 Aug 2007 14:01:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/#comment-38</guid>
		<description>Hi Jeff,

Great article!  I tend to use a pyramid, with the axis of features (scope), time, and quality. I tend to lump the current team, their abilities and their tools together and just call it the team.  The team is able to slice a plane through the pyramid. The area they can cover is their combined abilities (tools, talent, and cohesiveness).

Management can tilt the slice anyway they want, but the area of the intersection cannot be changed.  But that&#039;s just the way I think of the work pyramid.

Good ideas!

Take care,
mike</description>
		<content:encoded><![CDATA[<p>Hi Jeff,</p>
<p>Great article!  I tend to use a pyramid, with the axis of features (scope), time, and quality. I tend to lump the current team, their abilities and their tools together and just call it the team.  The team is able to slice a plane through the pyramid. The area they can cover is their combined abilities (tools, talent, and cohesiveness).</p>
<p>Management can tilt the slice anyway they want, but the area of the intersection cannot be changed.  But that&#8217;s just the way I think of the work pyramid.</p>
<p>Good ideas!</p>
<p>Take care,<br />
mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff</title>
		<link>http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/comment-page-1/#comment-37</link>
		<dc:creator>Jeff</dc:creator>
		<pubDate>Mon, 27 Aug 2007 01:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/#comment-37</guid>
		<description>Thanks for the comment, Rod. You make some good points but I need to point out that while Sales wants more Features in Less TIme but at a high Quality; the only way that cam be accomplished is by adding Resources.

I&#039;ve also  worked with many developers who just want a paycheck, and only care as much as they have to. These people are the bane of good engineers everywhere.

The Bullet Hole methodology you propose for creating a roadmap is solved, at most companies by &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_walk&quot; rel=&quot;nofollow&quot;&gt;Drunkard&#039;s Walk&lt;/a&gt; because the &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot; rel=&quot;nofollow&quot;&gt;Travelling Salesman&lt;/a&gt; is just too damn &lt;b&gt;NP-Hard&lt;/b&gt;!.</description>
		<content:encoded><![CDATA[<p>Thanks for the comment, Rod. You make some good points but I need to point out that while Sales wants more Features in Less TIme but at a high Quality; the only way that cam be accomplished is by adding Resources.</p>
<p>I&#8217;ve also  worked with many developers who just want a paycheck, and only care as much as they have to. These people are the bane of good engineers everywhere.</p>
<p>The Bullet Hole methodology you propose for creating a roadmap is solved, at most companies by <a href="http://en.wikipedia.org/wiki/Random_walk" rel="nofollow">Drunkard&#8217;s Walk</a> because the <a href="http://en.wikipedia.org/wiki/Travelling_salesman_problem" rel="nofollow">Travelling Salesman</a> is just too damn <b>NP-Hard</b>!.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rod</title>
		<link>http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/comment-page-1/#comment-36</link>
		<dc:creator>Rod</dc:creator>
		<pubDate>Fri, 24 Aug 2007 20:07:51 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.snowmoonsoftware.com/editorial/culture-of-failure/#comment-36</guid>
		<description>Great article Jeff. I’ve been thinking about this lately since you mentioned it and I have one more thing to add to the list and that is the internal battleground that I perceive as existing within a company over the triangle. For my example I’m going to deviate slightly from your model and use the Triangle of Features, Time, and Quality.
The internal battle I’m referring to is waged between groups in a company and even between management and their staff. It is my opinion that developers leans towards Features and Quality. Most want to develop good code by taking the correct steps towards fixing a broken system and then implement interesting new features on top of a better off code base. However if we move over to Sales you’ll see that they’d rather have more Features in less Time. These two forces will always be in conflict with each other and that’s where we come up with the schedule. I don’t argue that schedules are a bad thing, heck if developers don’t stop to say it’s in a state we can ship and be happy we’d never ship anything because there’s always more work (so long as there’s a roadmap.. but I’ll get to this in a second.) The big problem in this conflict is in which direction is it skewed and on which side is the management in charge of engineering. When the engineering managers are on the side of Quality, they will fight tooth and nail against any unreasonable release dates and rather push them out than insult a costumer with poor quality. When the managers are fighting for Sales, they have now become the person who looks for a way to sweep something under the rug and to ‘bring things in’. Often you hear the phrase “Is it really going to take that long,” “Do we really need to do that,” “Customers won’t do that,” “That isn’t a typical use case,” or even worse, an admission of failure, “We’ll fix that in a service release.” We you hear these phrases from your managers and you’re in engineering, you’ve just been set up for failure. Management in engineering should /never/ be given incentives to ship on time above having a product of the highest quality and they should be willing to fight for this.
Now on a tangent, I’ve thought a bit lately about what a Roadmap means. I’m sure this has come to many already but a new developer must pause to think about why it is called a Roadmap. A Roadmap isn’t just a list of things you need to do or plan to do. It is that list of things in a two dimensional list, your map, and their distance from each other represents how related they are in the code and feature set. Now, often companies elicit feedback from their customers which will prioritize these features. If you were to superimpose this onto your map by using circles and those with a higher priority are darker and have a larger radius, you can start to see what customers are calling for and what all the features in the vicinity affected by the demands are. The goal of product management, as I see it now given what I view a roadmap as, is to play the traveling salesman. They should look at the map and start around the highest priority item and then figure out what is the shortest distance they need to travel to get all of these things implemented? By minimizing distance he will save development time because this helps to group like features together which means less context switching on the part of development. There is no later ‘coming’ back to figure out how something worked again. This reduction of context switching will also lead to better quality since all the gotchas a developer discovered while in the code the first time will still be fresh in their mind as they move to the next related feature. Another nice thing about this view of the Roadmap is you can see the hot areas and when you implement all the things in a hot area you haven’t just released a feature, you’ve released a feature set which will more serve the customer in what they were trying to to. So perhaps an example of what I’m saying here is a feature to send messages to customers is in high demand. A related feature around this is that you have a notification system in your product but it really isn’t that good, maybe bug ridden or just flakey. These two would be on the roadmap and somewhat close together and while customers are not calling for fixing your current notification system the overlap of the demand for messaging will dragged notification in as a necessity.
Anyways, this is my brain dump for now. I think I might have exceeded my quota for thinking today.
~ Rod</description>
		<content:encoded><![CDATA[<p>Great article Jeff. I’ve been thinking about this lately since you mentioned it and I have one more thing to add to the list and that is the internal battleground that I perceive as existing within a company over the triangle. For my example I’m going to deviate slightly from your model and use the Triangle of Features, Time, and Quality.<br />
The internal battle I’m referring to is waged between groups in a company and even between management and their staff. It is my opinion that developers leans towards Features and Quality. Most want to develop good code by taking the correct steps towards fixing a broken system and then implement interesting new features on top of a better off code base. However if we move over to Sales you’ll see that they’d rather have more Features in less Time. These two forces will always be in conflict with each other and that’s where we come up with the schedule. I don’t argue that schedules are a bad thing, heck if developers don’t stop to say it’s in a state we can ship and be happy we’d never ship anything because there’s always more work (so long as there’s a roadmap.. but I’ll get to this in a second.) The big problem in this conflict is in which direction is it skewed and on which side is the management in charge of engineering. When the engineering managers are on the side of Quality, they will fight tooth and nail against any unreasonable release dates and rather push them out than insult a costumer with poor quality. When the managers are fighting for Sales, they have now become the person who looks for a way to sweep something under the rug and to ‘bring things in’. Often you hear the phrase “Is it really going to take that long,” “Do we really need to do that,” “Customers won’t do that,” “That isn’t a typical use case,” or even worse, an admission of failure, “We’ll fix that in a service release.” We you hear these phrases from your managers and you’re in engineering, you’ve just been set up for failure. Management in engineering should /never/ be given incentives to ship on time above having a product of the highest quality and they should be willing to fight for this.<br />
Now on a tangent, I’ve thought a bit lately about what a Roadmap means. I’m sure this has come to many already but a new developer must pause to think about why it is called a Roadmap. A Roadmap isn’t just a list of things you need to do or plan to do. It is that list of things in a two dimensional list, your map, and their distance from each other represents how related they are in the code and feature set. Now, often companies elicit feedback from their customers which will prioritize these features. If you were to superimpose this onto your map by using circles and those with a higher priority are darker and have a larger radius, you can start to see what customers are calling for and what all the features in the vicinity affected by the demands are. The goal of product management, as I see it now given what I view a roadmap as, is to play the traveling salesman. They should look at the map and start around the highest priority item and then figure out what is the shortest distance they need to travel to get all of these things implemented? By minimizing distance he will save development time because this helps to group like features together which means less context switching on the part of development. There is no later ‘coming’ back to figure out how something worked again. This reduction of context switching will also lead to better quality since all the gotchas a developer discovered while in the code the first time will still be fresh in their mind as they move to the next related feature. Another nice thing about this view of the Roadmap is you can see the hot areas and when you implement all the things in a hot area you haven’t just released a feature, you’ve released a feature set which will more serve the customer in what they were trying to to. So perhaps an example of what I’m saying here is a feature to send messages to customers is in high demand. A related feature around this is that you have a notification system in your product but it really isn’t that good, maybe bug ridden or just flakey. These two would be on the roadmap and somewhat close together and while customers are not calling for fixing your current notification system the overlap of the demand for messaging will dragged notification in as a necessity.<br />
Anyways, this is my brain dump for now. I think I might have exceeded my quota for thinking today.<br />
~ Rod</p>
]]></content:encoded>
	</item>
</channel>
</rss>
