Live data from Hacker News

We sound like idiots when we talk about technical debt

cyclic.sh

171–180 of 198 posts

Re: We sound like idiots when we talk about technical debt

#171

Earlier quoted context omitted.

There is no purely logical reason to ever actually do anything. It all starts with what you want and what you don't want. You may of course derive logically sound paths to get what you want or avoid what you don't want, but that's something else. If you explain these logical steps to someone else, what you're doing is showing them that they too will likely be affected by what you're suffering, that is, showing them t…

We are getting into the weeds here. Unless you are trying to tell me that there is no logical reason to trying to meet the bottom few tiers of Maslow's Hierarchy of Needs, in which case, while you may be right in a very strict sense ("nothing and nobody matters"), it's an extremely nit-picking position.

That is actually exactly what I'm saying.

A message's ability to provoke some form of action is entirely dependent on its ability to create some form of emotion, be it fear and indignation or hope and optimism. The most effective rhetoricians are exactly those that are very good at producing those feelings. From Hitler on one side as the archetypal rabble-rouser; to MLK on the other end of the spectrum, who created profound optimism and hope. It isn't because of their syllogisms that they were convincing rhetoricians.

Merely knowing a fact is rarely sufficient to provoke action, unless that knowledge itself creates an emotion (an idea can have aesthetic value, for example).

Re: We sound like idiots when we talk about technical debt

#172

IMO: software engineers have a professional responsibility to mitigate technical debt (among other things). Accountants do not _ask permission_ to reconcile the books with the bank account. Mechanical engineers do not _ask permission_ to replace a part that is in danger of failure + could cause injury. Electricians do not _ask permission_ to use the right size of wire for a circuit. Software engineers should not _ask…

Part of the problem is that the job of an accountant, lawyer, electrician (and presumably a mechanic) has that responsibility and duty of care imposed by law. If a client is pushing you to cut corners that are illegal to cut, you point them at the law book and tell them to piss off with their meddling. And because it's illegal, everyone in your jurisdiction will have to do the same thing, thereby assuring that the ou…

Without legally imposed duty of care, the only thing that can be done to draw a line in the sand is to commit (collectively) to maintaining a reasonable level of professional practice.

Simply do not entertain probing and meddling. "It's going to take a little longer because the software is complex and it takes some time to untangle it" is all you need to say. Whether you refactor/test/document it in the process of understanding it is irrelevant.

Re: We sound like idiots when we talk about technical debt

#173
If you have a car, and drive it 100 miles every day, and keep driving it for years, it will seem like everything is fine. Until one day the engine seizes up and it unexpectedly costs you $5,000 to fix, because you never changed the oil or did any other maintenance. There was never any apparent, obvious reason that maintenance was required. But no regular maintenance does lead to unexpected high costs.

It is critical that technical people have data to back up their claims that maintenance is needed. We need to identify exactly what each piece of tech debt is, how much work is needed to remediate it, and what the business cost of not remediating it is. Otherwise the business has literally zero idea what it will cost them not to do maintenance. This is an expected part of professional software engineering in a business. If you are not gathering this data and presenting it to leadership, do not expect them to take you seriously. It is up to you to prove your case.

Re: We sound like idiots when we talk about technical debt

#174

I get the using "debt" is an attempt to make it understandable to financial-oriented people, but I think it is a double-edged sword. You have to pay off financial debt, you don't have to pay off technical debt. I think using "technical friction" is a better approach. You are increasing the cost of future projects. "Cutting corners on that will increase the cost of all future efforts by 10%". That is more impactful an…

I'm with you, I agree we gotta drop the "D" word. There's no bank to go to to extend the loan. The "interest" isn't necessarily low or negotiable or even predictable. Way too misleading.

But I'm wondering if we shouldn't be saying "preventative maintenance" and sometimes just "repair" (for example if there's already an error rate, as in the article's last example.)

Of course, then ya gotta answer the question "to prevent what?" To which the answer is "SNAFUs" or "gremlins" (pardon the WWII terms) such as ones that will make all coding work more expensive later on or will horrify customers by their effects. Or just kill the business outright. I've seen that happen, after having been firmly refused permission to do preventive maintainance on my code. (I'm a worse coder but a better salesman now, so that probably wouldn't happen, now.)

Does this stretch the word repair? No, I think if you're replacing disc brake pads on an old car after X amount of miles, that's repair even if you can still stop the car.

In other words, maybe this has been solved in other ordinary economic contexts, and we should just be brave enough to use them thar words.

Re: We sound like idiots when we talk about technical debt

#175
My experience dealing with product managers is you have to phrase it one of 2 ways.

If you know your taking technical debt, explain to them that its like a credit card, but instead of money its time, and we can go ahead and swipe it, but you will eventually have to pay it with interest, and the cost you are paying is every future story is gonna be a little bit slower until things that should be able to get done in a week take a month. ( I have seen this happen personally with a project and the whole thing had to get completely rewritten)

If its unforeseen technical debt, dont call it that. Call it foundational work. Tell them the foundations were not set in a way to support X or Y feature so we need to change/update the foundations to get them the feature they want. This seems to work best. Don't even tell them there is a hack or duct tape solution, bring up the foundational piece first. If business needs has a requirement that it gets out faster, then transition to the credit card analogy and explain they are now swiping the credit card and whenever they complain about velocity use this an example.

The biggest problem is that product managers typically move on or get promoted by the time the technical debt they incurred causes bankruptcy. And fixing that usually tends to involve a rewrite which will have new flavors of technical debt (especially when its in new language), with a new product manager selling their "V2 solution" as so much better. (and successful delivery of that seems to involve them getting promoted or moving to another place soon after)

Re: We sound like idiots when we talk about technical debt

#176

Perhaps technical debt is the wrong term to use with nontechnical people, who tend to startle that they aren't even meant to understand so soon as the "tech" part comes out of someone's mouth. If they understand financial debt on a balance sheet and they understand schedules and Gantt charts, perhaps we should call technical debt what it really is to the business: temporal debt. Explain that because we've taken short…

> perhaps we should call technical debt what it really is to the business: temporal debt

If they startle at the mention of "tech", how are they not going to be startled with "temporal"?

Re: We sound like idiots when we talk about technical debt

#177
If Big Corp co is paying per man-hour doing a thing in a week that could be done in a day is actually huge win from the point of view of a business person.

Everything should be done as slow as possible as long as client isn't annoyed enough to change providers.

Business people both at your company and at Big Corp co customer benefit from keeping things as they are for as long as possible. They keep getting paid for as long as the project lasts. But when the project finishes, a lot can go wrong. It might turn out that it was completely unnecessary or that it doesn't solve the problem it was supposed to solve or that any given business person no longer has any utility for the respective companies. Basically a lot of trouble. So technical debt might be something business people actually silently treasure.

Re: We sound like idiots when we talk about technical debt

#178

If the contractor finds asbestos, he's allowed to quote me more to do the work I hired him for. If my mechanic says my car has old parts not in inventory, they may cost more and take longer to replace or maybe they charge more to do the work. When the laws change, your lawyer gets billed to review and update your contracts. As new legal precedents are formed, new legalese is created and updated and contracts are rene…

About houses, we watch one of the "Love it or List it" TV show variants. The way it's shown, very often, when the old house is being renovated, the renovators find something that's against code and has to be fixed. Or they find something damaged. And it's always shown how the owners are disappointed and angry. Why didn't they investigate and find it out in the first place when buying the house? Why didn't they do maintenance?

Then a new house is also shown, but we are only shown mainly interiors and views, never an iota about how the foundation or technology of the house works. That bit you the last time. And the owners want to get rid of the old house because it left a bad taste in their mouth by having these "surprises". Yet they waltz right into the next one with no concern whatsoever. (The shows also never talk about costs of living.... it's just the buying price of the house.)

These things all have direct analogies in the software world. It very often feels like a lot of people in the business are interior decorators and if I try to converse them as a structural expert - it just doesn't work.

Re: We sound like idiots when we talk about technical debt

#179

Speculation ahead: One cost of accruing tech debt is the toll that it has on the mental health of developers. To me, it seems like common sense that over a certain threshold, unhappy developers will (1) work slower, (2) produce lower quality work, and (3) have a higher rate of turnover. I’m curious if there is any research on this effect (if it exists).

If dealing with technical debt has a toll on one’s mental health then maybe they should transition to a different profession. Dealing with technical debt is part of your job description. Most people don’t have the luxury of ignoring the hard parts of their job.

It’s not about luxury, it’s about increasing output efficiency through (human) resource management. I asked if there was any available research that measures the effect of tech debt on mental health and therefore output efficiency. TBH, I’m not really sure which part of my original comment you are addressing.

Edit: clarification.

Re: We sound like idiots when we talk about technical debt

#180
post #89

Controversial idea: Technical debt is something that 'business users' don't need to or want to care about. If you're having conversations about technical debt, you've messed up, and you will continue to have unsatisfactory outcomes until you stop doing so. You can't tell people; here is a dial, you can pick 'fast and you're screwed later' or 'slow and careful now'. You're setting yourself up for failure; they cannot…

One thing missing from your statement is that plenty of technical-debt comes from things that were done properly the first time , but since then assumptions have changed, or the business is different, or the customer's expectations have evolved, or a competitor has upped their game, etc. This makes the so called perfect solution then, imperfect now - i.e. technical debt. There are always trade-offs, and a good partne…

And this is why I call it technical tax. It permanently eats away at a % of your engineering capacity.
Post reply on HN