Expand your SuiteScript skills in the Sustainable SuiteScript community for NetSuite developers.

Should Your SuiteScript Development Team Adopt Best Practices?

Created: February 18, 2021

One of my favorite newsletters is author James Clear's weekly 3-2-1 Thursday. As most remarkable writers are, Clear is direct and concise yet impactful. Recently, he struck a resonant chord with me:

"If you never copy best practices, you'll have to repeat all the mistakes yourself. If you only copy best practices, you'll always be one step behind the leaders."

James Clear

In the software world of late, we love to bluster and bristle against "best practices," lamenting them as the cause of all our woes and the roots of all evil. But the practices themselves are never actually the issue. The real problem usually lies in thoughtless acceptance and dogmatic implementation of someone else's ideas.

"Best practices" aren't magic. As with almost everything in life, what worked for others may or may not work for you; it's foolish to think otherwise. The same goes for your practices, which may or may not work for others; it's arrogant to think otherwise. The addition of any process, system, tool, or pattern - particularly in a team environment - requires open-minded investigation, critical thinking, and thoughtful debate by the people who will be using it.

But there are two sides to this coin. "Best practices" got to be best practices because they've most likely helped a large number of people either eliminate or avoid certain problems, and it's possible they can help your team avoid them, too. That's why I tend to think of "best practices" more as conventions or guidelines, never as rules. They make an excellent starting point to kick off that thoughtful debate. They do not make great proclamations from on high.

If you're considering implementing something new - whether "best practice" or not:

  1. involve your team in researching the pros and cons of the options,
  2. provide them time and space to consider that research,
  3. enable them to present their reflections and ideas in a safe and respectful place,
  4. then decide as a team how best to move forward.

Whether you end up adopting, adapting, or rejecting, you'll have what your team decided is best for getting work done; they are, after all, the ones closest to the work. Repeat the process as necessary to build your own set of team conventions. Celebrate and share what works; eliminate or evolve what doesn't.

You don't lead by copying; you lead by serving your team, trusting and enabling them to make the best decisions.