INGENO

View Original

How do we find good software?

People are often critical of the software they use, work on, or audit. I have issues with such comments as they mostly target technical aspects. I see it somewhat differently.

I continuously review shady software architectures, weird designs, and unmaintainable test suites during Technical Due Diligence. I navigate code landscapes where nobody is fighting entropy. I reverse engineer software components that can no longer evolve. What do I find?

Many condemn such legacy and are quick to blame past programmers for the current spaghetti mess they have on their hands.

Another interpretation is to recognize that people with limited technical knowledge, understaffed, and with only love money, have been able to create businesses almost out of thin air with that less than good software. This crappy PHP application launched and drove the business for 10 years or more before reaching its end of life. It probably took 1 person/year to build and has been amortized many times over.

The only fault I can report in those instances is that companies usually wait too long before planning a transition. Identifying the moment when a progressive rewrite is necessary is key to future business growth.

I suggest you also score the new application you are about to write on non-technical criteria and its ability to stand the test of time.