Questions tagged [technical-debt]

The term "technical debt" was coined by Ward Cunningham to describe the obligation that a software organization incurs when it chooses a design or construction approach that's expedient in the short term but that increases complexity and is more costly in the long term.

51 questions
23
votes
10 answers

Do you actively manage technical debt?

Do you actively manage technical debt debt on your software development projects and if so, how do you do it?
John Channing
  • 6,303
  • 6
  • 39
  • 56
18
votes
7 answers

How do you estimate a ROI for clearing technical debt?

I'm currently working with a fairly old product that's been saddled with a lot of technical debt from poor programmers and poor development practices in the past. We are starting to get better and the creation of technical debt has slowed…
StevenWilkins
  • 1,245
  • 8
  • 18
17
votes
3 answers

class inherits unrelated defaults for spliterator() from types java.util.Set and java.util.List

I have class that implements Set and List. Programs works fine in Java6 and Java7 public class SetList implements Set, List { .... } With Java 8 , this does not compile. Error is java: class trials.SetList inherits unrelated defaults…
Jayan
  • 16,628
  • 12
  • 79
  • 131
13
votes
5 answers

How to convince a manager to let you pay down technical debt?

While the most recent Coding Horror blog entry is not the first time I had heard of the concept, as I was reading it I couldn't help but apply the it in my mind to my own project. The code base I'm working on is an ongoing project at about the 3…
shsteimer
  • 26,798
  • 29
  • 74
  • 95
10
votes
10 answers

How do you avoid Technical Debt while still keep true to Agile, i.e.: avoiding violation of YAGNI and avoiding BDUF?

Technical Debt via Martin Fowler, via Steve McConnell YAGNI (You Ain't Gonna Need It) via Wikipedia BDUF (Big Design Up Front) via Wikipedia UPDATE: To clarify the question, I think I can also state it this way and keep my meaning: "In what ways do…
Troy DeMonbreun
  • 3,814
  • 3
  • 23
  • 35
10
votes
3 answers

Can I dynamically calculate technical debt?

I have a large number of individual, unrelated Java programs in a "Programs" folder, and I'd really like to be able to calculate a technical debt score automatically for each individual program. I understand that SonarQube can allow you to do this…
mdoc-2011
  • 1,945
  • 3
  • 17
  • 36
10
votes
1 answer

Will excessive commenting of code slow execution?

Possible Duplicate: Do comments slow down an interpreted language? Will there be noticeable performance degradation in the execution of a large .py file if more than 75% of the lines of code are properly commented?
thegrandchavez
  • 1,662
  • 2
  • 12
  • 20
9
votes
2 answers

Where do you record Technical Debt in TFS?

I'd like to find a way to record the Technical Debt we incur in TFS. I need to record each item outside of a specific iteration to ensure that it is visible and easily-reported all the time. I've considered creating a separate Area for technical…
Phil.Wheeler
  • 16,458
  • 9
  • 95
  • 151
7
votes
1 answer

What are the crucial key items in recording technical debt?

I'm setting up a technical debt register at The Office and want to make it a fairly comprehensive tool. What are the key pieces of information that we should be recording?
Phil.Wheeler
  • 16,458
  • 9
  • 95
  • 151
7
votes
4 answers

How do you effectively track technical debt?

In your practice, how do you effectively track and manage technical debt? Is there a specific metric, like SLOC, that you use? How do you visually display your results to stakeholders and management? What benefits have you seen in the process?
user290
6
votes
11 answers

Are there specific "technical debts" that are not worth incurring?

There are (at least) two ways that technical debts make their way into projects. The first is by conscious decision. Some problems just are not worth tackling up front, so they are consciously allowed to accumulate as technical debt. The second is…
Brandon DuRette
  • 4,670
  • 4
  • 23
  • 30
5
votes
3 answers

Should a 'Refactoring' Product Backlog Item count towards velocity?

Assuming a refactoring is needed (too big to be incorporated as part of an existing User Story) - is it okay to have a Refactoring 'story' on the Product Backlog? The purpose of refactoring is not to change the behaviour of the system - so by…
AndyM
  • 3,374
  • 5
  • 36
  • 44
4
votes
0 answers

How to Properly Short-Circuit Middleware in Django?

CONTEXT: I am working on a Django 1.10/Python2.7 app with legacy stuff, and I am preparing part of it to pay some tech debt in near future. For that I need to put some logic on the chain of middleware used in the app to by-pass a whole set of layers…
Rui Carvalho
  • 3,006
  • 1
  • 15
  • 18
4
votes
4 answers

Do you employ any tools for managing technical debt?

The site I work with on a day-to-day basis has its share of shortcomings and we often make design decisions to "get us by right now" with the intention of fixing those up later. I've found that making the time to actually go back and fix them, let…
Phil.Wheeler
  • 16,458
  • 9
  • 95
  • 151
3
votes
7 answers

When to upgrade to a new version of a language or framework?

When a new version of a framework or language appears (e.g. .NET 3.5, SQL2008), what approach do people take to when to adopt/upgrade? Generally developers will say as soon as possible (they want it on their CV and from a management perspective…
Jon Hopkins
  • 2,214
  • 25
  • 28
1
2 3 4