DevOps Zone is brought to you in partnership with:

Israel Gat ("agile_exec") is recognized as the architect of the agile transformation at BMC Software. Under his leadership, BMC software development increased Scrum users from zero to 1,000 in four years. Dr. Gat currently focuses on technical debt, large-scale implementations of lean software methods and devops. Israel is a DZone MVB and is not an employee of DZone and has posted 36 posts at DZone. You can read more from them at their website. View Full User Profile

What 108M Lines of Code do not Tell Us

  • submit to reddit

Source: Nemo

Coming on the heels of Gartner’s research note projecting $1 trillion in IT Debt by 2015, CAST’s study provided a more granular view of the debt, estimating an average of over $1 million in technical debt per application in a sample of 288 applications. Between these two studies, the situation examined at the micro-level seems to be quite consistent with the state of affairs estimated and projected at the macro-level.

My hunch is that the gravity of the situation from a software quality and maintenance perspective is actually masked by efforts of IT staffs to compensate for programming problems through operational excellence. For example, carefully staged deployment and quick rollback often enable coping with defects that could/should have been handled through higher test coverage, lesser complexity or a more acceptable level of code duplication.

Part of the reason that the masking effects of IT staffs are not always fully appreciated is that they are embedded in the business design of IT Outsourcing companies. The company to which you outsourced your IT is ‘making a bet’ it can run your IT better than you can. It often succeeds in so doing. The unresolved defects in your old code plus those that evolved over time through software decay have not necessarily been fixed. Rather, the manifestations of these defects are  handled operationally in a more efficient manner.

Think again if your visceral reaction to the technical debt situation described in the Gartner research note and the CAST study is of the “This can’t possibly be true” variety. It is what it is – just take a quick look at Nemo to see representative technical debt data with your own eyes. And, as indicated in this post, it might even be worse than what it looks. As Gartner puts it:

The results of such [IT Debt] an assessment will be, at best, unsettling and, at worst, truly shocking.

Published at DZone with permission of Israel Gat, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Stephane Vaucher replied on Sat, 2010/10/02 - 2:55pm

Honnestly, I'm not sure if I understand what you are trying to say. Any company maintaining a legacy system (i.e., any medium to large company) will be faced by significant amounts of technical debt. Sometimes, it is because the good practices that are now considered standard, did not exist at the time the systems were written. In any case, we have to accept that any large system contains lots of problems and is costly to change. That being said, if, as you hypothesize, IT teams/outsourcing team deal with these using techniques like staged development/roll-back, it is excellent news as these techniques add to the flexibility of the IT teams and permit them to actually modify the codebase to add value. Of course, the alternative, correcting problems, is impossible as it will blow away an IT team's budget.

Mitch Pronschinske replied on Mon, 2010/10/04 - 6:56am in response to: Stephane Vaucher

Read this article first:

Stephane Vaucher replied on Tue, 2010/10/05 - 12:35am in response to: Mitch Pronschinske

I already commented on the other article. My comment here is that I do not understand what the authors thinks the report does not say. Is the author's point simply that he feels that the situation is acceptable?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.