On the duality of the value of source code

On the duality of the value of source code

Over the last couple of days, I have been deleting quite a lot of source code from a web application. As always it feels really good to delete code. I will go as far as saying that it is one of my favorite tasks.

You have properly heard this one before:

Your source code is a liability

If that is the case then what is your asset? Some suggest that it is your product. I might buy into that explanation in case you are working for a software company that sells a software solution in some way to its customers. But what if you work for a company where the software that you build is used to run the business. Can you then call the software solution a product? At best it feels like a rather abstract product.

In the excellent article Programming as Theory Building by Peter Naur, Naur writes:

programming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts.

To me, this suggests that your asset is the collective knowledge of your team about your software solution. The team is here meant in a broader context than just your fellow software developer colleagues. The team also includes designers, business, QA, etc.

This suggestion seems to be aligned with the advice given in the book Team Topologies

Restrict team responsibilities to match team cognitive load

where the cognitive load is defined by psychologist John Sweller as

the total amount of mental effort being used in the working memory

I would like to hear your opinion. How do you think about the asset of source code?

References: Peter Naur, Programming as theory building, Microprocessing and Microprogramming, Volume 15, Issue 5, 1985, Pages 253-261, ISSN 0165-6074, https://doi.org/10.1016/0165-6074(85)90032-8

Matthews Skelton and Manuel Pais, Team Topologies, IT Revolution Press, 2019, ISBN: 978-1942788812, https://itrevolution.com/team-topologies/


Please create issues at the Github repo Twitter.

Edit page on GitHub. Please help me to improve the blog by fixing mistakes on GitHub. This link will take you directly to this page in our GitHub repository.

There are more posts on the front page.

Creative Commons License
Content of this blog by Carsten Jørgensen is licensed under a Creative Commons Attribution 4.0 International License.