Cranky Grumpy Angry

How should we think about building software

Software evolves. It shape shifts. It is a living thing.

It starts small like all of us, then it grows as it eats more features.

It suffers from multiple health crises in its lifetime like a security hack or corrupted data or a bad deployment. These minor issues need ongoing fixes.

After a period of time, with the constant feeding of features and with not a lot of time to exercise away the growing technical debt that accumulates, an open core surgery could be required to prevent a collapse.

This requires the attention of extremely experienced and competent maintainers to perform or else this can happen.

This is how I think about software. A living human or a pet dog. Same difference.

There are many who use the analogy of a house or a bridge to describe the process of building and maintaining software. Whatever works for you. This is mine.