technical-debt

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? ...

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 you, as an Agile practioner, find the right balance between "quick and dirty" (uninten...

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? ...

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 by ignorance. The people working on the project don't know or don't realize that they are i...

What (if any) technical debt am I incurring with Ruby on Rails?

I'm a big fan of ruby on rails, and it seems to incorporate many of the 'greatest hits' of web application programming techniques. Convention over configuration in particular is a big win to my mind. However I also have the feeling that some of the convenience I am getting is coming at the expense of technical debt that will need to be ...

Effective technique to reduce and eliminate warnings in a large code base?

I have been involved in the development of large code bases that grew to millions lines of code over the course of multiple years and where the amount of warnings grew out of control because it was not a concern for the initial developers. Technical debt accumulated and now, I would like to pay it back. Do you know of any process, metho...

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 year mark now, and large portions of the code in the early stages of the project were writ...

What factors make technical debt give way to the need for technical bankruptcy?

I was having a discussion about technical debt with a coworker yesterday. I said something to the effect of "well, maybe what you need to do is declare 'technical bankruptcy'". In other words the amount of technical debt in the project has gotten so out of hand (we're talking 10+ years of a variety of developers and managers working on o...

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 giving them what they want provides a motivation boost) but commercially there is often littl...

What is technical debt?

Can someone give me a good definition of what they mean by the phrase "Technical Debt"? ...

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 alone remembering what the full list of to-do items is can be challenging at best. Can yo...

what is the best way to visualize technical investment for the business

we have a number of functional deliverable planned for 2010 but we also have a technology agenda (architectural refactorings, consolidation, upgrade a platform). any suggestions on the best way to include these in a roadmap to help the business understand why they are important. one option is just saying trust us as this is the right t...

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 considerably. I've identified the areas of the application that are in bad shape and I can estimat...

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 debt, but am unsure how well-suited that field actually is. What are some common approache...

Possible to host ASP.NET MVC controllers+views within a webforms project...?

We have a legacy ASP.NET webforms application that we're engaged in stabilising and removing technical debt from. Is it possible to take a hybrid approach - ie, can ASP.NET MVC coexist with webforms within the same web-project? Are there any gotchas for that? If it is possible, I assume one just has to initialise the routes table, reg...

using a Singleton to pass credentials in a multi-tenant application a code smell?

I'm currently working on a multi-tenant application that employs Shared DB/Shared Schema approach. IOW, we enforce tenant data segregation by defining a TenantID column on all tables. By convention, all SQL reads/writes must include a Where TenantID = '?' clause. Not an ideal solution, but hindsight is 20/20. Anyway, since virtually e...

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? ...