Technical debt is a metaphor for the eventual consequences of poor software architecture and software development within a codebase.

learn more… | top users | synonyms

158
votes
16answers
12k views

Started wrong with a project, should I start over?

I'm a beginner web developer (one year of experience). Here's my situation: A couple of weeks after graduating, I got offered a job to build a web application for a company where the owner (boss) is ...
4
votes
1answer
128 views

Dealing with technical debt and nearing release

Say you have a project that is a tangled mess. No code structure and breaking one area breaks the entire thing. Fixing one area breaks another area. The closest you can fix things is writing the code ...
17
votes
5answers
1k views

Fighting technical debt as the “lowest developer”?

Let's say you work for a company and what you do is develop software for them. You have no idea of the big picture or maybe slight. What you do have are tasks assigned to you via issue tracking ...
0
votes
3answers
523 views

How can I explain this is an anti-pattern? [closed]

I recently started at a new job. The existing system works OK but is poorly designed and hard to maintain, and they are planning to rebuild it in MVC and I fear it will be much worse. (Not because ...
1
vote
1answer
97 views

Next steps for developing new product [duplicate]

I was hired about a year ago as the lead (well, really the only) developer on a new project/product we will call product "B". Product B was designed to pursue a new market for the company. This ...
20
votes
2answers
1k views

Is there an anti pattern for historically grown software? [closed]

Is there an anti pattern that describes a historically grown software system where multiple developers just added new features to the system but no one really kept an eye on the overall architecture ...
0
votes
1answer
175 views

Lean Startup MVP: Quality Code or Quick and Dirty [duplicate]

Hello some programmers might know about the lean philosophy, building a minimal viable product Lean Startup MVP. I ask myself (when building Webapps): "Should I put effort into writing good ...
2
votes
4answers
214 views

Considerations before rewriting a software component from scratch? [duplicate]

A piece of software is a patchwork of old and undocumented efforts. There are no comments, no documentation, and the code is hairy -- it involves Unix shell scripts that check for dummy files and then ...
7
votes
3answers
519 views

Disillusioned with agile; how do you prepare for life after release 1.1? [closed]

My company is going full steam with the agile process, with multiple agile projects in work. The first agile team, the proof of concept, carried the product through release and the first post ...
31
votes
6answers
1k views

Are bugs part of technical debt?

Our Scrum Master keeps referring to bugs as technical debt. Is he right, are bugs considered to be technical debt in the world of Agile?
1
vote
5answers
369 views

Is it sometimes reasonable to cut corners and expect to re-write software in a couple of years? [duplicate]

I work for an organization with one developer (me) and one DBA. When I started, the previous developer had developed applications that had bad architectural practices and it was getting and more time ...
2
votes
3answers
206 views

Refactor working code for reuse or duplicate?

I have always avoided duplicating code regardless of the circumstance. For example, if I have a working piece of functionality that needs to be re-used by different entities, I always refactor to ...
4
votes
2answers
345 views

Writing Large Portions Of Code Then Debugging?

Lately I have been writing a game engine, and I have been writing a lot of "foundation stuff" (standard interfaces, modules, a message system ect.), but I have noticed a pattern, a lot of the stuff is ...
2
votes
1answer
142 views

Agile: When to re-factor and when to extend while accruing technical debt? [duplicate]

Consider the following scenario. You currently have a feature set A you wish to extend to include feature set B. In the near feature there's a high possibility that you wish to extend this even ...
8
votes
2answers
501 views

How to deal with too much pragmatism in the project?

My team and I took over a medium sized codebase over a year ago when the previous tech lead left the company. Originating from the lack of man power I fear we favored pragmatic solutions over best ...
11
votes
8answers
1k views

Should I try to persuade my manager that code tidying should take priority over meeting deadlines? [duplicate]

My manager has tight deadlines to meet. The current project I am working on is currently on schedule, but I've noticed a couple of quite significant areas in the code that are really badly written. ...
8
votes
2answers
1k views

How is technical debt best measured? What metric(s) are most useful? [duplicate]

Possible Duplicate: How can I quantify the amount of technical debt that exists in a project? If I wanted to help a customer understand the degree of technical debt in his application, what ...
7
votes
6answers
1k views

What to do when you inherit an unmaintainable codebase? [duplicate]

Possible Duplicate: Techniques to re-factor garbage and maintain sanity? I've inherited 200K lines of spaghetti code — what now? I'm currently working at a company with 2 other ...
19
votes
6answers
2k views

How do “custom software companies” deal with technical debt?

What are "custom software companies"? By "custom software companies" I mean companies that make their money primarily from building custom, one off, bits of software. Example are agencies or ...
7
votes
3answers
415 views

Agile estimation with tech-debt

When estimating (story points) a story that consists on extending a current functionality with a known tech-debt, should we consider the effort that will be spent to refactor the current code or ...
36
votes
10answers
3k views

How can I quantify the amount of technical debt that exists in a project?

Does anyone know if there is some kind of tool to put a number on technical debt of a code base, as a kind of code metric? If not, is anyone aware of an algorithm or set of heuristics for it? If ...
79
votes
19answers
3k views

Dealing with management that does not see value in improvements that are not immediately visible to the user

I can understand schedule pressure. You want to please your users, as they are the lifeblood of the company. However, it is also true that certain changes will make everything easier down the road. ...
3
votes
1answer
221 views

Seperating business logic and layout in a highly interlocked project

My company is developing software that has a lot of technical debt that has existed for more than 20 years. It's a mix of C++ and C and consists of about 2M LOC. I would like to make some suggestions ...
41
votes
12answers
3k views

Develop fast and buggy, then correct errors or be slow, careful for each line of code? [duplicate]

Possible Duplicates: Frankly, do you prefer Cowboy coding? Prototyping vs. Clean Code at the early stages Good design: How much hackyness is acceptable? Does craftsmanship pay off? ...
9
votes
3answers
635 views

What is the best/ethical way to estimate code clean-up? [duplicate]

I have been working on a product line since my senior year of college for my current employer. Now several years out of college I am in a position where I am giving estimates for change requests on ...
102
votes
16answers
3k views

Does craftsmanship pay off? [duplicate]

Possible Duplicates: Prototyping vs. Clean Code at the early stages Frankly, do you prefer Cowboy coding? After working in a number of companies, I am starting to realize that my ...
18
votes
6answers
682 views

Is there any hope for writing good code atop a horribly designed database?

Here's my predicament. One of several programs I've recently inherited is built with a horrible database on the backend. The esteemed creators of it apparently did not appreciate relational concepts. ...
13
votes
4answers
944 views

Should technical debt be scheduled as a feature or a chore (or a bug)?

I've added a couple of user stories that address some technical debt to my Pivotal Tracker board. Should I consider them as features (keeping my velocity level) or as chores/bugs (lowering my ...
22
votes
13answers
2k views

How To Deal With Terrible Design Decisions [duplicate]

I'm a consultant at one company. There is another consultant who is a year older than me and has been here 3 months longer than I have, and a full time developer. The full-time developer is great. ...
11
votes
10answers
994 views

Sucking Less Every Year?

Sucking Less Every Year -Jeff Atwood I had come across this insightful article.Quoting directly from the post I've often thought that sucking less every year is how humble programmers ...
78
votes
13answers
5k views

How can I convince management to deal with technical debt?

This is a question that I often ask myself when working with developers. I've worked at four companies so far and I've become aware of a lack of attention to keeping code clean and dealing with ...
13
votes
6answers
408 views

How to get out of the support rut and start repaying the technical debt!

I have a "friend". Yes good start I know but honestly this isn't me! Basically he's been working on a successful project for about 4 years now, the difficulty is the technical debt has caught up and ...
26
votes
6answers
847 views

What payoffs have you seen from taking care of technical debt?

This article on technical debt has some good points, including: Working on the "technical matters" works best when it is driven by stories. The code base is probably in need of work everywhere, ...
13
votes
9answers
1k views

In the Aggregate: How Will We Maintain Legacy Systems? [closed]

NEW YORK - With a blast that made skyscrapers tremble, an 83-year-old steam pipe sent a powerful message that the miles of tubes, wires and iron beneath New York and other U.S. cities are ...