Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [technical-debt]

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

8
votes
2answers
257 views

In Agile development, how does one account for tasks that are invisible to users? [duplicate]

I've worked in Agile environments for many years. However, one of the things that I've always felt uncomfortable about is the idea that each story should map to an end-user request.....i.e., an ...
2
votes
1answer
155 views

Is there a recommended format for writing a technical debt story?

Our team is starting to refine a set of stories that cover components and UI as part of an upgrade to a newer version of Angular. These components will then be used to recreate screens in an existing ...
1
vote
3answers
183 views

how would you plan monthly refactoring days to eliminate technical debt in your team?

My team (yet) did not do much to work on technical debt and our code base includes huge amount of TODO code, unused code, 'could get better' code, @Ignore unitests and more. I am about to start ...
3
votes
2answers
121 views

Code quality on backports branch with limitted lifespan

JuliaLang just hit version 1.0 the other week I and many other package maintainers have thus updated out packages to work with julia 0.7 (the transitional release) and 1.0. In doing so, we've often ...
3
votes
2answers
178 views

Persuading management that good software engineering is worth the effort [duplicate]

Background: I work for a small company which does not have a set of established best practices for designing software. I was hired to work on a project which gathers data from a stream, does some ...
4
votes
2answers
282 views

How does one find out if there is a technical debt on the project? How to measure its volume? [duplicate]

Lets say i'm a new guy coming to the project, how do I clearly determine if there is a debt on the project? What will show it to me? Lets say a certain amount of TD exists at any project. So the next ...
1
vote
0answers
157 views

Types of technical debt that will surely backfire? [closed]

Are there types of technical debt that when incurred one can confidently say that will slow development down in the long term? It would be interesting to see also personal experiences.
6
votes
3answers
361 views

Does every choice incur technical debt?

I'm familiar with the concept of technical debt as the cost of effort (through maintenance, support, rework etc.) incurred when choosing an expedient solution over a complete one. What I am wondering ...
7
votes
2answers
607 views

Should technical debt/technology upgrade be scheduled as a feature (given points) or a chore (given no points)?

What should we do for user stories for technical debt in Pivotal Tracker? Should we consider these as features (giving points) or as chores (giving no points, thus lowering velocity)? I am confused ...
14
votes
3answers
849 views

I'm losing track of the flow of my PHP web app, it's becoming hard to work with

I've been programming for a few years, and have become very familiar with C# and JavaScript over time. I have some larger C# and JavaScript projects that I have no trouble navigating around. I ...
4
votes
4answers
250 views

What is the standard terminology for the scenario of the agile iterative cliff?

Sometimes you get into a scenario where a software team is iterating quickly and delivering lots of software. Over time, failure to do housework and paying off technical debt leads to productivity ...
1
vote
0answers
42 views

How to handle an api with severe technical debt? [duplicate]

Our company uses another companys api. This api is written using IBM domino. This api is horrifically inconsistent and outdated. E.g. sometimes returning JSON, sometimes html. Inconsistent naming and ...
83
votes
11answers
15k views

Is DRY the enemy of software project management?

One of the most basic and widely accepted principles of software development is DRY (don't repeat yourself). It is also clear that most software projects require some kind of management. Now what are ...
8
votes
2answers
493 views

How can I make a boss (or colleague) be more careful when estimating the complexity of a task/project?

I am a software developer, and I work in a small web development company. It seems to be a recurring theme that a middle-manager will ask me how long something will take, and when I give them my ...
3
votes
3answers
10k views

Writing new code in async but calling sync

I am writing some new code and would like to write it using async and await, but the calling code does not currently support async. Is it right to write the new code in async and call it sync until ...
6
votes
2answers
1k views

How to balance quality vs. speed during the development process [closed]

I've been in the professional software development world for over 5 years now. An intense frustration that I've had over the years is when a software product that I'm working on turns out unstable, ...
2
votes
1answer
432 views

How to approach legacy code? Desperate case [duplicate]

I have a methodological question. I am faced with a reasonably large legacy system (Java Enterprise). I am new to its codebase -as everybody in the team- since it's a product we had in outsourcing ...
4
votes
3answers
1k views

Should points of tech debt be counted in a team's velocity?

Tech debt doesn't have a direct business value until the improvements are seen against other stories being delivered quicker. Achieving or failing sprints affects morale and delivery in the long run ...
45
votes
7answers
4k views

How to measure the potential value of refactoring

On an old, large project with technical debt how can you reliably estimate or measure the benefit of refactoring code? For example, say you have some components within a software stack solution ...
3
votes
1answer
723 views

How to work with a messy codebase and client [duplicate]

A client came to me with some features he wanted implementing. Easy enough to do what he asked. He paid me, I agreed to start on the start date and finish in 3 weeks. The code base is a disaster. It ...
2
votes
6answers
1k views

Why sacrificing good software engineering practices is typically the first choice for software development projects assuming “good enough” quality [duplicate]

I have observed a correlation between a customer ordering software of "good enough" quality and the same customer not willing to pay for good engineering practices (unit testing, code reviews and the ...
0
votes
1answer
193 views

How to deal with product owner who refuses to follow UI design rules

We develop Android application. We base on old version of similar application developed in our company. This old application was designed by some noobs which didn't follow UI Android design rules. ...
32
votes
9answers
5k views

Why are deadlines always so short? [duplicate]

I'm a junior developer in a small company (in a team of 2 developers). Everytime we are asked to implement a new feature: the deadline is set so that we just have time to do the development: there is ...
240
votes
16answers
19k views

Project is nearly done, but procedural spaghetti code. Do I rewrite or just keep trying to ship it? [closed]

I'm a beginner web developer (one year of experience). A couple of weeks after graduating, I got offered a job to build a web application for a company whose owner is not much of a tech guy. He ...
4
votes
1answer
195 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 ...
20
votes
5answers
2k 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 system....
0
votes
3answers
2k 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
159 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 ...
27
votes
2answers
2k views

Is there a named 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 ...
2
votes
1answer
812 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 ...
12
votes
3answers
736 views

How do I stress the importance of unit tests to my manager [duplicate]

I've recently started a new job and I've been tasked with completing a feature that another developer didn't finish before he left the company. The existing tests are out of date (i.e useless)... ...
2
votes
4answers
655 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
1k 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 ...
44
votes
6answers
5k 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
1k 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 ...
3
votes
3answers
977 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
416 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 ...
3
votes
1answer
208 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 ...
10
votes
2answers
1k views

How to deal with too much pragmatism in the project? [duplicate]

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 ...
12
votes
8answers
2k 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. (...
9
votes
2answers
4k 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 would ...
11
votes
6answers
4k 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 PHP ...
12
votes
2answers
648 views

How to deal with ad-hoc mindsets?

I joined a dev team of six two month ago. People are nice, all is good. But more and more I observe an ad-hoc mindset. Stuff gets quick fixed, at the cost of future usability, there is little testing ...
20
votes
6answers
3k 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 middle-...
7
votes
3answers
970 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 ...
65
votes
10answers
17k 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 ...
12
votes
6answers
593 views

How can I communicate the risks of altering vendor software?

We have a major problem where I work, and it's name is "customization". We have an old (10+ years) vendor software system that our IT and accounting departments previously loved to customize. ...
90
votes
19answers
4k 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. ...
8
votes
5answers
588 views

How to introduce a new pattern into an existing codebase? [duplicate]

In my quest to better my development skills I learn new design patterns. In sample projects or personal projects it's really easy to adapt new patterns into my code. However at work I have a large ...
3
votes
1answer
254 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 ...