<?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: Management Debt, Technical Debt, and Decision-Making</title>
	<atom:link href="http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/feed" rel="self" type="application/rss+xml" />
	<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html</link>
	<description>Management, especially good management, is hard to do. This blog is for people who want to think about how they manage people, projects, and risk.</description>
	<lastBuildDate>Tue, 16 Mar 2010 19:31:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: www.webbiru.com</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-63591</link>
		<dc:creator>www.webbiru.com</dc:creator>
		<pubDate>Tue, 15 Dec 2009 20:55:39 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-63591</guid>
		<description>&lt;strong&gt;Managing Product Development » Management Debt, Technical Debt, and Decision-Making...&lt;/strong&gt;

Managing Product Development » Management Debt, Technical Debt, and Decision-Making...</description>
		<content:encoded><![CDATA[<p><strong>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</strong></p>
<p>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-63590</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 15 Dec 2009 20:52:36 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-63590</guid>
		<description>&lt;strong&gt;Managing Product Development » Management Debt, Technical Debt, and Decision-Making...&lt;/strong&gt;

Managing Product Development » Management Debt, Technical Debt, and Decision-Making...</description>
		<content:encoded><![CDATA[<p><strong>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</strong></p>
<p>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yentit.com</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-63339</link>
		<dc:creator>yentit.com</dc:creator>
		<pubDate>Sat, 12 Dec 2009 18:47:48 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-63339</guid>
		<description>&lt;strong&gt;Managing Product Development » Management Debt, Technical Debt, and Decision-Making...&lt;/strong&gt;

Managing Product Development » Management Debt, Technical Debt, and Decision-Making...</description>
		<content:encoded><![CDATA[<p><strong>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</strong></p>
<p>Managing Product Development » Management Debt, Technical Debt, and Decision-Making&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jon hagar</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-61999</link>
		<dc:creator>jon hagar</dc:creator>
		<pubDate>Wed, 25 Nov 2009 13:53:17 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-61999</guid>
		<description>I have started to think there is a difference for many of us in the &quot;agile&quot; world between Agile and lean projects.  Where by the lean has a little more formality, specialists, heavier processes, etc., and therefore might have more debt and heavier decission making.  I release many Agile people might argue with me, but, for example, in lifecritical complex systems being a lot more careful, formal, specialize, and even in some cases slower (backlog) is often in order.</description>
		<content:encoded><![CDATA[<p>I have started to think there is a difference for many of us in the &#8220;agile&#8221; world between Agile and lean projects.  Where by the lean has a little more formality, specialists, heavier processes, etc., and therefore might have more debt and heavier decission making.  I release many Agile people might argue with me, but, for example, in lifecritical complex systems being a lot more careful, formal, specialize, and even in some cases slower (backlog) is often in order.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Murphy</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-61749</link>
		<dc:creator>Neil Murphy</dc:creator>
		<pubDate>Sun, 22 Nov 2009 01:02:10 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-61749</guid>
		<description>&quot;Turns out being able to list a technical debt in a backlog or a comment is a crutch that prevents us from just fixing it in the first place.&quot;

Yes, one of the dangers of processes is they become a shelter for people to hide behind - as in &quot;I did it the way the book said I should and it didn&#039;t work - not my fault guv&quot;.   Sometimes just fixing something is beneficial, and can buy some breathing space.

I also agree with dave &quot;The role “product owner” is defined by the process framework, Scrum. It is not a generic “agile” role. You don’t need a “product owner” to be doing “real agile.”&quot;  By getting hung up on a concept of product owner or any other term, you are losing sight of agile, you are replacing it with another formal process driven method and hiding behind the terminology &quot;sorry mate, no product owner, no agile and hence no product&quot;.</description>
		<content:encoded><![CDATA[<p>&#8220;Turns out being able to list a technical debt in a backlog or a comment is a crutch that prevents us from just fixing it in the first place.&#8221;</p>
<p>Yes, one of the dangers of processes is they become a shelter for people to hide behind &#8211; as in &#8220;I did it the way the book said I should and it didn&#8217;t work &#8211; not my fault guv&#8221;.   Sometimes just fixing something is beneficial, and can buy some breathing space.</p>
<p>I also agree with dave &#8220;The role “product owner” is defined by the process framework, Scrum. It is not a generic “agile” role. You don’t need a “product owner” to be doing “real agile.”&#8221;  By getting hung up on a concept of product owner or any other term, you are losing sight of agile, you are replacing it with another formal process driven method and hiding behind the terminology &#8220;sorry mate, no product owner, no agile and hence no product&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Nicolette</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-61648</link>
		<dc:creator>Dave Nicolette</dc:creator>
		<pubDate>Sat, 21 Nov 2009 00:35:06 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-61648</guid>
		<description>Johanna,

With all due respect, the way you describe the approach to the situation in this post really sounds reactionary - scrambling to deal with a mountain of tactical issues all falling on your heads at once. I&#039;ve been in similar situations and I can appreciate the difficulties, especially the difficulty of taking a deep breath and a step back to try and see a way out of the status quo. It can be very tough, but it need not be insurmountable.

Sometimes one of the hardest things for client management to understand is that the only way to get off the treadmill is to just get the hell off the treadmill. As long as they&#039;re running at full speed to try and cope with everything as fast as possible, they will never be able to fix the root causes of their problems. If there really are, literally, /thousands/ of reported defects, then it is a near-certainty that most of them can safely be ignored. Otherwise, the applications wouldn&#039;t be viable at all. Really. Been there, done that. The trick is to recognize which defects to ignore. AFAIK no one can do that while they&#039;re sprinting as fast as they can, hearts pounding, out of breath, and going nowhere because they&#039;re on a treadmill.

Quite often, the attitude of &quot;We have so much to do, we can never finish it&quot; happens when people believe they have more to do than they really have to do. It&#039;s just that no one quite knows how to tell which things they have to do and which things they don&#039;t.

Something that may or may not help could be to broaden the range of alternatives you&#039;re considering. I&#039;m reading between the lines here, and please forgive me if that leads me to faulty assumptions, but I&#039;m going to stick my neck out and toss out a couple of ideas.

You&#039;ve used the terms &quot;product owner&quot; and &quot;timebox,&quot; and also the term &quot;real agile.&quot; 

Agile doesn&#039;t say anything about timeboxes. Count the number of times the word &quot;iteration&quot; appears in the Manifesto. It&#039;s a nice, round number. Until recently, all the popular agile methodologies have been based on timeboxed iterations, but &quot;agile&quot; as such doesn&#039;t call for that, necessarily. The key thing we&#039;re after is to deliver value incrementally and regularly. The mechanism for that can be, but doesn&#039;t have to be, timeboxes. Maybe in the case you&#039;re describing, a timebox-based approach isn&#039;t a good fit.

The role &quot;product owner&quot; is defined by the process framework, Scrum. It is not a generic &quot;agile&quot; role. You don&#039;t need a &quot;product owner&quot; to be doing &quot;real agile.&quot; In a situation such as you describe, who in their right mind is going to volunteer to be the &quot;single wringable neck?&quot; Not I. Not you, either, I&#039;ll wager. David Schmaltz&#039;s concept of the &quot;project community&quot; may offer value in that situation. It brings a spirit of collaboration and a sense of collective ownership that are very consistent with agile principles, and often more practical than the &quot;product owner&quot; role. 

Besides that, you may find that lean thinking offers a gradual approach to change that may be easier for an organization in the condition you describe to consume and act upon than textbook &quot;agile.&quot; It starts with getting to a clear definition of &quot;value,&quot; then using Theory of Constraints tools to improve continuous flow, and thirdly removing waste from the process when and as feasible. Agile is really about software development; lean is about end-to-end process improvement, which sounds more like the nature of the problems you&#039;re coping with. 

The software development piece is...well, it&#039;s just a piece. It&#039;s not the whole problem. You&#039;re talking about ongoing maintenance and support activities, not discrete software development &quot;projects.&quot; If the place is like most IT organizations, they&#039;re spending about 80% of their time and effort on ongoing maintenance and support rather than discrete development projects. That may be one of the reasons it&#039;s been hard to get the &quot;product owner&quot; role up and running smoothly, and hard to know which items to include in each timeboxed iteration. The iterative model doesn&#039;t quite fit the need...if my between-the-lines reading is accurate, that is.

If this is a current situation and if you think a fresh pair of eyes might add value, please contact me off list about it. As bizarre as it may sound, I love situations like that.

Amber,

I don&#039;t know you but I like the way you think, I think.

&quot;...after awhile, we stopped doing that, in favor of just fixing something right then and there.&quot;

I recognize this as a generally-accepted good practice known as &quot;fixing broken windows.&quot; Good for you!

Cheers,
Dave</description>
		<content:encoded><![CDATA[<p>Johanna,</p>
<p>With all due respect, the way you describe the approach to the situation in this post really sounds reactionary &#8211; scrambling to deal with a mountain of tactical issues all falling on your heads at once. I&#8217;ve been in similar situations and I can appreciate the difficulties, especially the difficulty of taking a deep breath and a step back to try and see a way out of the status quo. It can be very tough, but it need not be insurmountable.</p>
<p>Sometimes one of the hardest things for client management to understand is that the only way to get off the treadmill is to just get the hell off the treadmill. As long as they&#8217;re running at full speed to try and cope with everything as fast as possible, they will never be able to fix the root causes of their problems. If there really are, literally, /thousands/ of reported defects, then it is a near-certainty that most of them can safely be ignored. Otherwise, the applications wouldn&#8217;t be viable at all. Really. Been there, done that. The trick is to recognize which defects to ignore. AFAIK no one can do that while they&#8217;re sprinting as fast as they can, hearts pounding, out of breath, and going nowhere because they&#8217;re on a treadmill.</p>
<p>Quite often, the attitude of &#8220;We have so much to do, we can never finish it&#8221; happens when people believe they have more to do than they really have to do. It&#8217;s just that no one quite knows how to tell which things they have to do and which things they don&#8217;t.</p>
<p>Something that may or may not help could be to broaden the range of alternatives you&#8217;re considering. I&#8217;m reading between the lines here, and please forgive me if that leads me to faulty assumptions, but I&#8217;m going to stick my neck out and toss out a couple of ideas.</p>
<p>You&#8217;ve used the terms &#8220;product owner&#8221; and &#8220;timebox,&#8221; and also the term &#8220;real agile.&#8221; </p>
<p>Agile doesn&#8217;t say anything about timeboxes. Count the number of times the word &#8220;iteration&#8221; appears in the Manifesto. It&#8217;s a nice, round number. Until recently, all the popular agile methodologies have been based on timeboxed iterations, but &#8220;agile&#8221; as such doesn&#8217;t call for that, necessarily. The key thing we&#8217;re after is to deliver value incrementally and regularly. The mechanism for that can be, but doesn&#8217;t have to be, timeboxes. Maybe in the case you&#8217;re describing, a timebox-based approach isn&#8217;t a good fit.</p>
<p>The role &#8220;product owner&#8221; is defined by the process framework, Scrum. It is not a generic &#8220;agile&#8221; role. You don&#8217;t need a &#8220;product owner&#8221; to be doing &#8220;real agile.&#8221; In a situation such as you describe, who in their right mind is going to volunteer to be the &#8220;single wringable neck?&#8221; Not I. Not you, either, I&#8217;ll wager. David Schmaltz&#8217;s concept of the &#8220;project community&#8221; may offer value in that situation. It brings a spirit of collaboration and a sense of collective ownership that are very consistent with agile principles, and often more practical than the &#8220;product owner&#8221; role. </p>
<p>Besides that, you may find that lean thinking offers a gradual approach to change that may be easier for an organization in the condition you describe to consume and act upon than textbook &#8220;agile.&#8221; It starts with getting to a clear definition of &#8220;value,&#8221; then using Theory of Constraints tools to improve continuous flow, and thirdly removing waste from the process when and as feasible. Agile is really about software development; lean is about end-to-end process improvement, which sounds more like the nature of the problems you&#8217;re coping with. </p>
<p>The software development piece is&#8230;well, it&#8217;s just a piece. It&#8217;s not the whole problem. You&#8217;re talking about ongoing maintenance and support activities, not discrete software development &#8220;projects.&#8221; If the place is like most IT organizations, they&#8217;re spending about 80% of their time and effort on ongoing maintenance and support rather than discrete development projects. That may be one of the reasons it&#8217;s been hard to get the &#8220;product owner&#8221; role up and running smoothly, and hard to know which items to include in each timeboxed iteration. The iterative model doesn&#8217;t quite fit the need&#8230;if my between-the-lines reading is accurate, that is.</p>
<p>If this is a current situation and if you think a fresh pair of eyes might add value, please contact me off list about it. As bizarre as it may sound, I love situations like that.</p>
<p>Amber,</p>
<p>I don&#8217;t know you but I like the way you think, I think.</p>
<p>&#8220;&#8230;after awhile, we stopped doing that, in favor of just fixing something right then and there.&#8221;</p>
<p>I recognize this as a generally-accepted good practice known as &#8220;fixing broken windows.&#8221; Good for you!</p>
<p>Cheers,<br />
Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amber</title>
		<link>http://jrothman.com/blog/mpd/2009/11/management-debt-technical-debt-and-decision-making.html/comment-page-1#comment-61631</link>
		<dc:creator>Amber</dc:creator>
		<pubDate>Fri, 20 Nov 2009 22:11:04 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8907#comment-61631</guid>
		<description>My experience with the label of &#039;Bug/Defect&#039; and &#039;New Feature&#039; has been that it is highly charged, mostly semantic and ultimately a useless debate.  So that&#039;s why I would not want to split backlogs based on these labels.  At the end of the day, what is the benefit if doing X story points of defects, if the customers don&#039;t really care about them (ie. low priority) but are really clamoring for some new feature (ie. high priority).  Splitting the backlog distract from the primary purpose of adding value.

Then we get to the &#039;Technical Debt&#039; label.  As people had said in comments to the afformentioned post, all user stories need to be tied into a specific and -visible- benefit to the user.  I have tried putting technical debt as user stories and it has always been useless.  Sure it would get done, and sure it would explain the X amount of story hours spent.  But it was more of a placeholder.  It wasn&#039;t tested in the same way.  It wasn&#039;t &quot;released&quot; as a benefit to the users.  The project owner had no way of telling priorities.

As for a solution, I think that agile empowers customers in a way that tradiaional processes doesn&#039;t and that&#039;s part of what&#039;s so great about it.  But I think that developer&#039;s do a disservice when we relinquish too much power.  The entire point is to let them manipulate priorities on -features- they want, NOT technical impementations.  

So assuming you never make a user story for a technical debt - how will it ever get fixed?  It will get fixed whenever the developers get so fed up with it that they change it.  Yes, that does require having good developers and it also requires putting trust in them.  But how is it better to trust a -technical- debt in the hands of a non-technical person?

So as not to -throw away- the list of technical debt, one thing we used to do was comment //TODO: blah when we noticed a technical debt.  But after awhile, we stopped doing that, in favor of just fixing something right then and there.  Turns out being able to list a technical debt in a backlog or a comment is a crutch that prevents us from just fixing it in the first place.

What will be the effect of doing this, particularly for projects with large pieces of technical debt?  A very unsteady velocity.  One week, they may get X story points and they another week way way less, since they&#039;re spending their time on a piece of technical debt.  Normally that&#039;s a bad thing, but the technical debt IS a bad thing, so it&#039;s appropriate.  Once more of the big pieces of debt is gone, the velocity will stabilize.  Padding the velocity with technical debt stories just artificially stabilizes the velocity which is not helpful for estimation.</description>
		<content:encoded><![CDATA[<p>My experience with the label of &#8216;Bug/Defect&#8217; and &#8216;New Feature&#8217; has been that it is highly charged, mostly semantic and ultimately a useless debate.  So that&#8217;s why I would not want to split backlogs based on these labels.  At the end of the day, what is the benefit if doing X story points of defects, if the customers don&#8217;t really care about them (ie. low priority) but are really clamoring for some new feature (ie. high priority).  Splitting the backlog distract from the primary purpose of adding value.</p>
<p>Then we get to the &#8216;Technical Debt&#8217; label.  As people had said in comments to the afformentioned post, all user stories need to be tied into a specific and -visible- benefit to the user.  I have tried putting technical debt as user stories and it has always been useless.  Sure it would get done, and sure it would explain the X amount of story hours spent.  But it was more of a placeholder.  It wasn&#8217;t tested in the same way.  It wasn&#8217;t &#8220;released&#8221; as a benefit to the users.  The project owner had no way of telling priorities.</p>
<p>As for a solution, I think that agile empowers customers in a way that tradiaional processes doesn&#8217;t and that&#8217;s part of what&#8217;s so great about it.  But I think that developer&#8217;s do a disservice when we relinquish too much power.  The entire point is to let them manipulate priorities on -features- they want, NOT technical impementations.  </p>
<p>So assuming you never make a user story for a technical debt &#8211; how will it ever get fixed?  It will get fixed whenever the developers get so fed up with it that they change it.  Yes, that does require having good developers and it also requires putting trust in them.  But how is it better to trust a -technical- debt in the hands of a non-technical person?</p>
<p>So as not to -throw away- the list of technical debt, one thing we used to do was comment //TODO: blah when we noticed a technical debt.  But after awhile, we stopped doing that, in favor of just fixing something right then and there.  Turns out being able to list a technical debt in a backlog or a comment is a crutch that prevents us from just fixing it in the first place.</p>
<p>What will be the effect of doing this, particularly for projects with large pieces of technical debt?  A very unsteady velocity.  One week, they may get X story points and they another week way way less, since they&#8217;re spending their time on a piece of technical debt.  Normally that&#8217;s a bad thing, but the technical debt IS a bad thing, so it&#8217;s appropriate.  Once more of the big pieces of debt is gone, the velocity will stabilize.  Padding the velocity with technical debt stories just artificially stabilizes the velocity which is not helpful for estimation.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
