Are best practices really "best"?

Tanmay Vora
Posted on

Earlier in by career, when I handled a lot of processes (based on industry best practices), I thought of best practices as a solution to day to day software issues from poor requirements to testing. I used to “go by books” when it came to implementing these best practices.

Gradually, as I advanced in my area of work, I realized that software projects “can” go wrong even after implementing available best practices for each stage of software lifecycle. Best practices are nothing but lessons people have learnt over a period of time and can be a useful reference – but not an off-the-shelf solution.

Wikipedia defines best practice as “a term which refers to the best possible way of doing something; it is commonly used in the fields of business management, software engineering, and medicine, and increasingly in government.”

Each software project is unique, in terms of client requirements and in terms of project requirements. A lot of things in software projects are contextual. By definition, best practice is a “possible” best way of doing something.

So, while its important to keep best practices as reference, more importance has to be given to the project requirements. Before we go ahead and implement a best practice, asking following questions might help:

  • Will the implementation of this best practice really help us in gaining efficiency and addressing anticipated issues without compromising on project timeline, in context of project at hand?
  • If yes, will this best practice be implemented as it is? (Though a rare chance!)
  • If no, what parts/portions of a best practice can be implemented in this project to ensure that the anticipated issues are addressed and stakeholder / project requirements are fulfilled.

Answer to these questions might lead to effective customization of a given best practice. It might also lead to something new altogether.

The point is – best practices are processes that have been successful for some people in a given context. Hence they have to be related to the current project context and benefits have to be closely evaluated.

Also read: James Bach’s blog where he says No to Best Practices.