On 01/17/2010 02:55 AM, Karl Fogel wrote:
> I'm *totally* trolling now, and I'll own up to it... While I actually
> agree with a lot of what you've written in this thread, I think this
> conflation of bugs with tech debt is a mistake. They're not the same
> thing at all. I almost wrote that in a reply, but then realized that
> I'd seen this often enough that -- help me, I have truly gone to the
> dark side -- I thought it might be worth a blog post. So:
>
> http://www.rants.org/2010/01/10/bugs-users-and-tech-debt/
>
> It would only be proper to flame me there, I suppose :-).
>
> Seriously: I don't think the SVN project, or any other project, should
> treat the bug list as tech debt. It's not.
>
Lots of good points in there, but I think the underlying different in
perspective comes from our definitions of a bug.
You suggest that a bug might include new features or enhancements, or
that it might include anything that behaves differently from how the
designer expects it to behave.
A good and well resourced designer should already understand how a
particular piece of implementation will behave in each possible code
path or use case. In the case that they do not, this means they skipped
a step, or incurred technical debt, in a means to deal with some other
imperfect situation such as lack of resources or lack of full
understanding of what they were changing.
Another argument could be that the technical debt has no impact on the
users, and there is no intent to pay it back. I think this could be a
design decision that was made to limit the capabilities of a feature
from the start with no intent to ever extend the capability. This is a
bit fuzzy as the users may not agree with the design decision - but
"bugs" to extend the capability should probably be closed immediately
with "No intent to fix", meaning that they do not fill the product back log.
There are other sorts of bugs that are so low priority that they will
never be attacked. These also should be closed as soon as it can be
decided with "No intent to fix." They introduce noise in the product
back log and prevent reviewers from being able to rank the issues
effectively. In a corporate policy we had once, any defects that were
not going to be scheduled for the next release, or the next release + 1,
could be closed as "No intent to fix".
To contrast your conclusion that more bugs means more users which can be
good, I'd like to point out that having more users means that each bug
has the potential to affect more users. More users means existing
technical debt has more impact, and is more desirable to be addressed.
In any case, on a issue by issue basis, we could probably say "100%
technical debt" vs "100% new development request" vs anywhere in between
- but my intent in mentioning it was to point out that:
1) If a project becomes overwhelmed with technical debt (however
defined), it can and will stifle new development. The designer resources
available are split between working on old and new instead of being able
to work together on new.
2) If new development is introducing defects faster than they are
being fixed, this is a recipe for product failure.
I also think that "more bugs" only means "more users" in the sense that
they are more use cases which are exposing *already existing* bugs.
Assuming it is truly a bug, and not a design limitation or feature
request (unexpected vs expected behaviour perhaps), then the technical
debt already existed. The user base was just too small to expose it before.
All said, I think you and I might agree more than disagree, if we were
to actually identify on an issue by issue basis, which "bugs" are
technical debt vs design limitation or feature request. It seems to me
that terminology is thekey difference over a subject which does deserve
discussion in every project which is serious about ensuring customer
satisfaction.
Cheers,
mark
--
Mark Mielke<mark_at_mielke.cc>
Received on 2010-01-17 16:32:29 CET