Live data from Hacker News

Ask HN: Have you ever worked on a product that was killed by technical debt?

news.ycombinator.com

51–60 of 331 posts

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#51
post #2

I've worked in the industry as a developer for 12 years and I can't remember any. I do remember a competitor dying of not releasing their big refactored next version soon enough, and running out of cash. Spolski tells it better than me: https://www.joelonsoftware.com/2000/04/06/things-you-should-...

Dear deity, why do that read like the development history of everything Linux bar the kernel itself?!

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#52
The last place I worked at will die because it will take them years to migrate from Oracle to postgres due to "technical debt" (the codebase is coupled with the database to a hilarious degree; business logic in triggers, huge plsql packages, plain sql queries in the java codebase, halfassed homerolled ORM). They're not getting as many new customers as they could because, for various reasons, the Oracle licensing terms are now unacceptable for the new customers they have been in contact with over the last two years.

That's the most concrete reason I can come up with why the technical debt will kill them, but there's plenty of vaguer reasons why it's been killing them for the past 5 years and will finish them off over the next 5. The attrition rate have been around 20% a year since I joined. For most of the time I worked there they compensated somewhat by hiring new people. Word has gotten around though, and they've run out of qualified candidates willing to work on their mess. Hell, we even had a couple of gifted hires leave after a month or two while shaking their heads.

My current workplaces main product is using the same tech, is the same size (loc) and has the same functionality of the other company, but serving a different market. They did the oracle to postgres migration in 2 months. 2 MAN months, one guy.

New workplace: 15ish developers, serving the same amount of customers, doing similar revenue, making stable releases every week

Old workplace: 80 developers at its peak, doing non-hotfix releases around every 3 months. Just a mess in every way. Mostly stemmed from the codebase and the architectural choices that had been made along the way.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#53

Technical debt is not a thing that kills products. Shit-ass management kills products. Technical debt may or may not be a symptom of shit-ass management.

Agreed. I feel like technical debt is more of a locus of control issue among developers than a real business concern. The only thing we look at all day is code; therefore, if the project fails, it must be because of the code.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#54
Sort-of. I worked on a product that was a rewrite of an older product, and suffered second system syndrome.

The problem was that the original programmers didn't understand how to program with a database, and management was unwilling to address the core design flaws.

As a result, upper management told us we missed our market window and the project was killed. In reality, it was the technical debt from not understanding how to correctly write a data access layer that made us move too slowly to meet our market window.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#55
post #22

Earlier quoted context omitted.

The Firefox rewrite was a success by all measures. Spolsky is wrong on this one, at least with the claims of generality.

Except for one measure: Netscape died as a company. The huge rewrite contributed to killing it. If you don't ship a product (for like 4-6 years?) you're gonna die. Mozilla originally chose the name phoenix, (then firebird to avoid trademark problems, then finally firefox) was chosen because it was a phoenix rising from Netscape's ashes. Its major innovation: It was 'blazing fast' when compared to ie 5.5 / 6. Tabbed b…

Also, Servo is just the engine. And modern web render engines are themselves highly modular. I think the Gecko engine powering Firefox have had its javascript interpreter replaced 2-3 times.

So when it comes to it, the most likely outcome will be a kind of "my grandfather's axe" scenario where over time parts of Servo replace Gecko within Firefox until Servo has completely replaced Gecko.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#56
post #27

I have seen a product getting killed by trying to resolve technical debt. The refactor took nine months and in the end didn't work better. I am a big fan of constant refactoring on a small scale but I am very skeptical of large refactoring of a whole project. You may end up with something that's just different but not really better.

I've had the opposite happen every time the team I've been on decided to refactor a large portion (or even the entire code base). Every time, what was a source of constant bugs (i.e., X bugs per week, every week, never lessening), became tractable and moved to stable post the rewrite (X bugs first week, .7x bugs second week, etc, until finally we're encountering the odd bug only once every few months, if at all). I'm…

I was talking about enterprise projects that had had years of development, always changing personnel and had to follow complex and changing business rules. These tend to be ugly and difficult to work with after a few years of development. In my view the only way to deal with these is to break them down into smaller components and then refactor. But that turns then into a political issue because the managers (and a lot of developers) don't see the need.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#57
post #33

Knight Capital lost $465 million in 45 minutes caused (at least in part) by technical debt and poor development practices. Summary: http://pythonsweetness.tumblr.com/post/64740079543/how-to-lo...

> During the deployment of the new code, however, one of Knight’s technicians did not copy the new code to one of the eight SMARS computer servers.

Was the issue technical debt or a sloppy deployment?

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#58
post #22

Earlier quoted context omitted.

The Firefox rewrite was a success by all measures. Spolsky is wrong on this one, at least with the claims of generality.

Except for one measure: Netscape died as a company. The huge rewrite contributed to killing it. If you don't ship a product (for like 4-6 years?) you're gonna die. Mozilla originally chose the name phoenix, (then firebird to avoid trademark problems, then finally firefox) was chosen because it was a phoenix rising from Netscape's ashes. Its major innovation: It was 'blazing fast' when compared to ie 5.5 / 6. Tabbed b…

Sorry, but I emphatically disagree. Servo entailed creating a new programming language, building a community around that language and using the project as playground for feature validation. This might work for an non-commercial entity but it is not a good example of a rewrite.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#59

Yes and no. The project wasn't killed specifically because "you have technical debt". It was killed because there was no way for anyone to be effective with the combination of poor undocumented code. "We need to change the email message that goes out when someone registers". This took a team of (4?) people 5 calendar days to change. As a contractor, I had to vpn in to one system, then remote desktop over another vpn…

This has been my experience. Since technical debt is hard to measure, it's more a case of a series of unwise technical decisions leading to a lack of productivity. Due to tight schedules, short-cuts are taken which lead to more unwise technical decisions, and you have a death-spiral.

Re: Ask HN: Have you ever worked on a product that was killed by technical debt?

#60
Projects rarely die because of technical debt. Instead, it becomes ridiculously expensive and difficult to add new features. But the software itself can remain in use for decades, gradually decaying and rarely adapting to changes in the business environment. Eventually either the software gets thrown out and replaced with something new, or the company is no longer able to compete.

I've seen this play out probably close to a dozen times now, at different employers and consulting clients.

Post reply on HN