There is a common two word phrase that needs to be purged from our vocabulary.
Why do we need to get rid of the idea of Best Practice?
Best Practice implies that there is one true way that is superior to every other.
Best Practice implies that no further improvement is necessary.
Best Practice implies that no further improvement is possible.
Best Practice implies that we can make one big leap and stand at the pinnacle of our field.
Best Practice implies we can write up a bible that defines exactly what we should do in every situation.
None of these things are true. In fact, these statements are seductive traps that lead us into stagnation, that encourage arrogance, that actively work against us achieving the best that we can.
Instead, we should be talking about Better Practices.
Better because we should be constantly looking to improve. What we do now should be superior to what we did a year ago - and what we’re doing this time next year should be superior to what we do now.
Practices because there are many ways to improve, because there is no one true way. Techniques that deliver value in one industry (say, an internet start-up) might be catastrophic in another (say, medical equipment).
Improvement isn’t a one time thing, a special project to reengineer our entire process from the ground up. Rather, improvement should be an every time thing, a constant striving to make things a little bit better every time.
Our documentation shouldn’t be a set of statutes that constrict us into a specific mould - they should be guidelines that capture how we do it now, and that are constantly updated with new knowledge.
The Software Development field is very young, and is still growing at a remarkable rate. We are learning so much every year about how to be better at what we do that it would be premature for us to proclaim any ultimate truth.
Instead we should be confident in what we do know, aware of what we don’t know and eager to fill the gaps. We must go forth, and improve.