|
|
|
|
|
by carlmr
658 days ago
|
|
>Only software development seems to believe that anything, anywhere reaches a magic state of "done" and will never need to be touched again. The problem is the mental model. There is a state of "done" for a lot of software. But it subsequently becomes "undone" due to outside factors. There's no bearings, gaskets and lubricants that need maintenance. The software stays the same. So why would the software need maintenance. Maintenance in software is because software runs on hardware. Hardware gets updates, and then the software needs updates to match. Maintenance in software is because software runs on a changing OS. Maintenance in software is because software interacts with other software that changes. I think it's this lack of mental model of _why_ software needs maintenance, that it's not planned for. |
|
(The other thing that this framing calls to mind is that a company doesn't usually send a civil or mechanical engineer to do the general maintenance checks, they first send a cheaper mechanic or other equivalent laborer. This is both where the analogy partly falls apart because not all software maintenance tasks in these 6 month timeframes are "easy"/"trivial" and sometimes need massive software engineering work, and also where we again maybe see hints that in some ways the software industry still maybe needs more of a better defined engineer/mechanic split than it has today.)