29 ms·
A company's codebase is a liability, not an asset - it needs to be maintained, and as you point out, it needs money spent on tooling and infrastructure to be mo
by codebje 6y ago
A company's codebase is a liability, not an asset - it needs to be maintained, and as you point out, it needs money spent on tooling and infrastructure to be most effective.
Unless you happen to be one of the very rare companies that sells source code and not built artefacts, your asset is the built artefact and your code is the expense you take on to get it.
Having less code to get the business outcome only makes sense when you see the code as a cost, not a thing of value itself.
- zepearl 6y ago> A company's codebase is a liability, not an asset... > your asset is the built artefact Therefore, summarized, you mean that the sourcecode needed to generate the resulting <app/service/whatever> is a liability, but that the result can be an asset (if it does generate external revenue, or internally lowers costs ,etc..)? I personally never thought about this kind of separation - interesting.
- codebje 6y agoI mean that source code comes with costs, often substantial, but has no direct benefits. It's easy for us as developers to think that source code is valuable - but this leads to problems like never removing code "in case it's needed", or with an in-house dev team developing systems you could get off the shelf. If code is an asset, then it makes a lot more sense to write stuff yourself: you not only get the artefact, you also get the source. If it's a liability, then it makes a lot more sense to let someone else bear the costs of that liability, especially if they have economies of scale, except where you can't get your desired outcome other than writing code. This is of course technically incorrect. It's perhaps more accurate to say that source code requires upkeep and is expensive to maintain. That tends to draw less interest and discussion, because it's "obvious." Except as an industry we're overall pretty lousy at paying the required upkeep on code.
- ignoramous 6y agoI think you have a point. But essentially what you're saying boils down to unmaintainable, untestable, unrefactorable, obsolete code being a liability. I don't think anyone disagrees with that and I personally have been involved with a (semi-popular public cloud) service deprecation myself precisely because it was legacy and simply had to be rewritten to be moved to a shiny new home that used new-age systems owned by another team that was doing a stellar job at upkeeping and innovating on those (though one could easily classify their "innovation" as NIH). The code that they wrote wasn't a liability at all, but in fact, it kept seeing active investment from all engineering and product management angles.
- krab 6y agoThink about a machine in a factory. You have to maintain it and it doesn't generate revenue by itself. It generates the product you then have to sell. The machine is still an asset.
- cloudhead 6y agoThis is misleading and pretty much wrong. It’s like saying the hen is a liability, the only asset is the egg. Or like saying your team is a liability and the only asset is the work they produce..
- sudhirj 6y agoBut these are both true. The problem is only if you assign a derogatory meaning to the word liability. If the company could provide the solution it does without a team, or with a smaller team, it would - the purpose of the company is to provide the solution, not feed team members. If we could get eggs without taking care of hens, we would - they're a pain to take care of and feed. The moment you want to minimize something while still achieving your goals you know it's a liability. Do you want the same profits or solutions with a smaller team? Then the team is a liability. If team were an asset you'd be trying to hire a bigger team without any work for them to do. If you had the chance to double egg production with constant demand, you'd eat or kill half your hens. They're a liability.
- robertlagrant 6y ago> The problem is only if you assign a derogatory meaning to the word liability That's only true if you assign an appropriate meaning to the word derogatory.
- iainmerrick 6y agoA company's codebase is a liability, not an asset Why not just throw it away, then?
- codebje 6y agoIf you can, you should. If you can't, it's (IMO) because you're stuck with the burden of having to write and maintain that code. If it's an asset, why not just write more?
- Eikon 6y ago> If it's an asset, why not just write more? Companies do write more.
- deleted 6y ago[deleted]
- goodside 6y agoIt’s a liability in the sense that a rusty drain pipe covered in duct tape is a liability. You think of it as the source of your problems, but throwing it away would be worse.
- robertlagrant 6y ago> It’s a liability in the sense that a rusty drain pipe covered in duct tape is a liability. You think of it as the source of your problems, but throwing it away would be worse. So in your analogy, what's the software equivalent of replacing the drain pipe?
- dragonwriter 6y ago> A company's codebase is a liability, not an asset Its an asset. Like many (virtually all, other than pure financial) assets, it has associated expenses; maintenance, depreciation, and similar expenses are the norm for non-financial assets. > Unless you happen to be one of the very rare companies that sells source code and not built artefacts, your asset is the built artefact and your code is the expense you take on to get it. No, things that are instrumental to producing product are still assets, not just the things that you sell. That's true if its machines on your factory floor, if its the actual real estate of the factory, or vehicles that you use to deliver goods. And all of these assets, like a codebase, have associated expenses. The whole "code is a liability, not an asset" line is something from people who might understand code, but definitely don't understand assets and liabilities.
- nullsense 6y agoFrom a pure accounting perspective, yes, but the whole "code is a liability, not an asset" crowd aren't using the strict definition of it by any means. Its more just a mental footnote that the contract with the customer is what is valuable, and the code is either supporting that value or destroying it. So if you can have the same contract with the customer for less code that's the outcome to strive for.
- altcognito 6y agoI think this perspective comes from the opinion of folks that generally want to cut costs, not leverage their assets to their fullest. If your means of production is an asset that you understand how to leverage over your competitors your mindset won’t be “we really need to minimize this codebase”
- nullsense 6y agoNo, it comes from wanting to leverage your asset to the fullest. But that's hard to do if it's full of cruft and getting in the way of actually delivering value. More lines of code is not equal to better. What you need is better lines of code, which usually means less of them. Let a dev loose on a codebase and they could add value, but they could also be subtracting it. Hmm maybe developers are the liability.
- nkohari 6y agoIt's still an asset, it's just that most assets require maintenance.