Skip to main content
134 votes
Accepted

Is DRY the enemy of software project management?

You seem to assume the primary objective of project management is to produce exact estimates. This is not the case. The primary objective of project management is the same as for developers: To ...
JacquesB's user avatar
  • 59.8k
101 votes
Accepted

Is technical debt management problem more of a culture issue or insight issue

Anecdotally I am a consultant developer. I have been hired on several occasions specifically to "fix the development issues". Some customers are aware of issues in their development process, whereas ...
Flater's user avatar
  • 52.5k
81 votes

How can I favor quick (and dirty) over clean (and slow) in practice?

Use the 80:20 rule (Pareto Principle) And a "TODO" notation. Or, as given here, "80% of the task is completed by 20% coding". A large amount, ~80% of your code, can probably be ...
user949300's user avatar
  • 8,859
74 votes

Should non-priority technical debt tickets be pruned from backlog?

You are considering deleting the records of genuine problems with the codebase because the product owner wants a shorter backlog? For me, the only reason to delete (close) an item in the backlog is ...
Dan Saunders's user avatar
53 votes
Accepted

Un-ticketed work, how much is too much?

If you work in a company that doesn't place any value in paying down technical debt, you may have no choice but to do unticketed work. Stakeholders are generally not qualified to make decisions about ...
Robert Harvey's user avatar
50 votes

How can I favor quick (and dirty) over clean (and slow) in practice?

Whether one works clean or dirty is more a question of developer attitude and abilities, and the same holds for coding speed - this is rarely a deliberate decision people make. Of course, there are ...
Doc Brown's user avatar
  • 209k
39 votes

Is DRY the enemy of software project management?

You are right - copy-paste works great, and DRY has no point when your task is to produce a program for which either the copied template or the copy will not have to be maintained or evolved in the ...
Doc Brown's user avatar
  • 209k
36 votes

Should non-priority technical debt tickets be pruned from backlog?

I agree with Dan Saunders's answer, but I'm going to go one step further. I agree that the only reason to close a request for a new feature or a modification to an existing feature is if the change ...
Thomas Owens's user avatar
  • 83.3k
31 votes

Un-ticketed work, how much is too much?

In a few safety-critical industries, you need approval for every bit of code that goes into a product. Most people are not in that situation, and those that are, accept that condition. In normal ...
Karl Bielefeldt's user avatar
31 votes

How can I favor quick (and dirty) over clean (and slow) in practice?

I am looking for methodologies which can be followed in order to optimize speed, even at the expense of code-quality, and the accumulation of technical debt. Sure, here's the list of all the stuff ...
Heinzi's user avatar
  • 9,798
23 votes

Is technical debt management problem more of a culture issue or insight issue

Usually, it is neither. Usually it is mainly a problem of communication. What many fail to realize is that technical debt is not a big problem for a company, precicely like financial debt is not. ...
Guran's user avatar
  • 545
19 votes

Is DRY the enemy of software project management?

So from a project management perspective, it is great to solve a task by copying some existing code 100 times and make some minor adaptations to each copy, as required. At all times, you know exactly ...
Telastyn's user avatar
  • 109k
14 votes

Un-ticketed work, how much is too much?

should all work no matter how small be ticketed and go through sprint planning rather than be done as and when by developers if it is small? There's certainly a point where the answer is no, right? ...
Telastyn's user avatar
  • 109k
12 votes

Is DRY the enemy of software project management?

Cut-and-paste programming eventually leads to abandoned software. I was a contractor on a system for ordering wireline services from a very large phone company. The system was cut-and-pasted ad ...
kevin cline's user avatar
  • 33.7k
12 votes

Documenting and planning for technical debt?

The best way that I've found to track technical debt is by tracking it in the issue tracker, along with new features/development and bugs. Depending on the tooling you are using, there may be various ...
Thomas Owens's user avatar
  • 83.3k
11 votes
Accepted

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

You are taking on technical debt. The more you justify sloppy code with deadlines the more deadlines will see you achieving less and less. Understand that you can completely get away with this. No ...
candied_orange's user avatar
11 votes

How can I favor quick (and dirty) over clean (and slow) in practice?

There is no technical guidance, best practice or "secret sauce" to code "quick and dirty." There certainly is no tool available to ... I guess I'm not sure what a tool could do in ...
Greg Burghardt's user avatar
10 votes

Is DRY the enemy of software project management?

An oft forgotten maxim that applies here is the rule of 3. This states, that it is OK to copy code once, but beyond that it should be replaced by generic code. 3 might seem like an arbitrary number ...
Robbie Dee's user avatar
  • 9,815
10 votes
Accepted

Should non-priority technical debt tickets be pruned from backlog?

I would say that there isn't a single best answer for this problem. You've got a few overall strategies, you would probably be best doing all of them. But the information should never be deleted, but ...
Mattisdada's user avatar
9 votes

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

It takes longer and longer to implement anything new. This is your justification. 'fess up, eat some crow, and explain why things are taking longer and that you need to spend a little time ...
Jen's user avatar
  • 693
9 votes

Is technical debt management problem more of a culture issue or insight issue

We already had such a report available in our issue tracker (Jira). When the introduction vs cleanup graph started getting out of hand, management indeed devoted more resources to fixing it. I think ...
Karl Bielefeldt's user avatar
8 votes

Is DRY the enemy of software project management?

In your question, you only list three functions of project management - estimate, schedule, and control. Project management is about achieving goals within the constraints of the project. The methods ...
Thomas Owens's user avatar
  • 83.3k
8 votes
Accepted

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

Short answer: paying down technical debt is a chore. You're not delivering new functionality for end users, so it doesn't get pointed. Official answer: Bugs and chores aren’t estimable by default ...
jonrsharpe's user avatar
  • 1,303
8 votes
Accepted

Does every choice incur technical debt?

Technical debt means you are in debt. If you complete your task (for example Admins/Users) and it works and is secure and easy to maintain, then there is no technical debt. Not being able to foresee ...
nvoigt's user avatar
  • 8,114
8 votes

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

The roadblock you're running into is there by design, and you're running into it for the correct reasons. User stories are things the user cares about. That's why it's written from the point of view ...
Flater's user avatar
  • 52.5k
7 votes

Is technical debt management problem more of a culture issue or insight issue

The SCRUM canonical answer is that the team owns the tech debt. The team builds the sprint backlog. The team thus controls the rate tech debt is reduced. In practice, angry managers will appear if ...
Martin K's user avatar
  • 2,917
7 votes
Accepted

Errors that don't make code behave wrong from user's point of view - how would you call them?

Since there's no unexpected or incorrect behavior, I'd consider it technical debt. It's unclear why the code is the way it is, and this unclear structure can slow down the ability to maintain the ...
Thomas Owens's user avatar
  • 83.3k
7 votes

How can I favor quick (and dirty) over clean (and slow) in practice?

TL:DR just read the second paragraph. Quick and dirty coding is hopefully mostly applied to an existing code base. These days there are too many tools and techniques and methodologies for people to ...
Sinc's user avatar
  • 219
6 votes

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. That is not what ...
Jörg W Mittag's user avatar
6 votes

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

In teams I've worked on, we've always created a special person for that, called The Developer. This way, there's an Identity using the story at some point. So, for example, we've got a story in the ...
Adam Wells's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible