Tag: Technical Debt

elow is an updated set of slides from a webinar presented by IEEE Software and Boeing on how to identify and manage technical debt. The slides outline how business and product quality goals should affect the choice of approaches (and combinations of approaches) for managing technical debt. They also discuss a set of automated approaches based on static code analysis that are likely to spot problems in source code that have real impact on productivity and defect proneness.
Identifying and Measuring Technical Debt – IEEE Software & Boeing
The topic of technical debt or the down-stream costs of careless development is one of the fastest-growing software measurements. However, as most widely calculated technical debt is alarmingly incomplete. Pre-release quality costs are usually omitted from technical debt calculations. Even worse, the very high costs of projects that are cancelled and never delivered have zero technical debt.
The Errors and Hazards of Technical Debt

By definition, standards are supposed to be a set of bare minimum requirements for meeting levels of acceptability. In school, the students who took the “standard” level courses were those who were performing “at grade level” and just focused on graduating. Every April in the United States we need to decide whether we will take the “standard deduction” – the bare minimum we can claim for our life’s expenses – or do we have enough to itemize our living expenses and therefore deduce more from our base income before taxes.

Living Up to Standards

Over the past 10 years or so, it has been interesting to watch the metaphor of Technical Debt grow and evolve.  Like most topics or issues in software development, there aren’t many concepts or practices that are fully embraced by the industry without some debate or controversy.  Regardless of your personal thoughts on the topic, you must admit that the concept of Technical Debt seems to resonate strongly outside of development teams and has fueled the imagination of others to expound on the concept and include additional areas such as design debt or other metaphors.  There are now a spate of resources dedicated to the topic including the industry aggregation site:

Gartner Webinar: Get Smart about Technical Debt
How do you explain Software Debt to a non-software developer? Jason Roberts has put together a Technical Debt Simulator: some simple visualizations of the cost of software debt over time depending on the type of coding practices the developers are implementing, and some tables that give an example of this cost in “days of extra work”. Let’s say we develop low technical quality software in a large and highly complex system, with the technical debt interest rate at 21%, we would have 91 months of additional cost over the life of the system.
A Technical Debt Simulator

I hate Geometry.

Actually, I do not hate the concept of Geometry – I’m rather partial to shapes and appreciate the need to calculate the areas, perimeters, volumes, et al that they represent. What I hate about the subject – or should I say “hated” (past tense) since I haven’t had a Geometry class since the mid-1980’s – were the proofs I had to do in order to get full credit for my work.

Will the REAL Agile Please Stand Up?
Technical Debt exists in many forms. Perhaps the most common concerns software maintainability. Code that is difficult to maintain is more expensive to maintain, plus the development group can’t respond to the business as quickly. So, we can then conclude that code that is poorly-written or difficult-to-read costs the company money – directly or indirectly.
Part II: Practical Examples of Paying Down Technical Debt
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
Technical Debt vs. ROI: Your Code May Be Elegant…

I came across that old phrase, “Why buy the cow when you can get the milk for free?” the other day, in the context of marriage.  Why should people marry when they can just live together?  Well, you can imagine I came across a lot of opinions I won’t go into here.

An article by Naomi Bloom popped up, using the phrase in a technology context. She noted that vendors of traditional licensed/on-premise enterprise software had served themselves very well by forcing customers to buy both the apps as well as owning the data center and its operations, application management, upgrades, human resources, and more. This has provided traditional vendors considerable financial security and market power.

Getting SaaS-y about Technical Debt

One of the oldest conversations on record is the discussion of how to measure effective software development. One of the most used, most abused and least understood metric is “velocity.” Think Corvettes versus Volkswagens.

Just to keep terms straight, velocity is the sum of the estimates of delivered/accepted features per iteration. Velocity can be measured in the same units as feature estimates, whether this is story points, days, ideal days or hours.

The Speed of Diligence

As we all know, Sundays are for football, and this past Sunday brought some choice matchups. Although I am a devout fan of the New England Patriots, one of my favorite games paired the undefeated Green Bay Packers, led by quarterback Aaron Rodgers, and Eli Manning's New York Giants. Tied with less than two minutes to go in regulation, Rodgers did his best Tom Brady imitation, leading his team on a spectacularly engineered drive that preserved their as-yet unblemished record.

What the New York Giants Can Teach Us about Software Quality

What's the largest organ in the human body? You might be surprised to find out that the answer is the skin, which most people don’t think of as an organ. Not only is it the biggest it’s pretty important because it holds everything together.

Manage Quality or Quality will Manage You

Look around you. Microsoft says that if you’re among a group of people working on a PC, at least one of you has a machine infected with malware.

Based on statistics gathered by its free scanning tool, Microsoft Safety Scanner, Microsoft reported last month that 5% of computers – one out of every 20 – are infected with malware. The average number of malware applications on each infected machine? Nearly 3.5. With this much malware out there, it’s little wonder we’re seeing such a high number of security breaches at major corporations.

Microsoft Mulls Malware

As you may know from my bio here, I’m a big fan of Boston sports. So you can understand how thrilled I was a few weeks ago when “my” Boston Bruins won the Stanley Cup for the first time since I was my daughter’s age!

It wasn’t easy for them, though. Through the first round of the playoffs, they looked like they could be a “one-and-done” team and everybody – including some alleged diehard fans – were already calling for the dismissal of their head coach because of their anemic performance. Nevertheless, they made the necessary adjustments, got some stellar work out of key individuals, overcame a few adversities and in the end proved to be the best team in the National Hockey League this year.

In Defense of Agile

Sony, Sega, RSA, the International Monetary Fund, the Arizona Department of Public Safety, even the CIA. It seems no organization – private or public – is immune to hackers these days.

Hackers are Getting Smarter; are You?

One of my favorite reads among tech bloggers is Dion Hinchcliffe over at ZDNet. I’ve followed his blogs for much of the last five years and whether I agree with him or not, I almost invariably find his points compelling and his willingness not to mince words refreshing; he even makes the occasional light bulb go off in my head.

Structural Quality: The Invisible Hand

The rate at which security issues have plagued businesses lately is staggering. Every week we hear of multiple vulnerabilities, millions of personal data records being exposed and corporations watching profits dwindle as reparation costs for these breaches extend into millions and even billions of dollars.

Insecure Over Quality