Don't be perfect, be useful

In a recent private coaching session with Jonathan Stark, he said, "Don't be perfect, be useful".

He meant it relating to giving a presentation, like a talk or workshop, but I thought about how the same quote applies to some of the software development topics I cover in these emails.

You don't need a perfect test suite with 100% coverage. One test is better than no tests, and some tests are better than one.

You don't need to run static analysis on all your code at the highest level. If you run it on some of your code, maybe the newer code or the most crucial parts of your application, that's better than not running it at all, and it will catch many issues even at the lower levels.

You don't need to know and implement all the design patterns within your code. The objective is to deliver working software for your customers and clients. Do this first and refactor later when needed.

You don't need always to be pair or mob programming. Do it when it works for the people and situation.

These tools and techniques are useful.

They don't need to be perfect.