Toggle Menu

JavaScript Best Practices Workshopper

A self-paced command-line workshopper to learn the best practices of writing clean JavaScript code, featured on

In 2016, Excella’s JavaScript Capability Area created a self-paced CLI tool, so developers can learn some of the Agile Engineering best practices, critical for delivering a high-quality codebase, like SOLID principals using JavaScript.

Excellians Kevin Groat, Doguhan Uluca, Sam Blissard, Brendan Sawyer, Alex Hoffman, and Cameron Ivey, among others, created the initial English version. Since that time, community members have submitted bug fixes to improve it and added translations for Portuguese and Russian.


The goal of this workshopper is to help developers learn how to create a resilient codebase using best practices. The workshopper guides developers through exercises that make incremental improvements to a “bad” codebase. The exercises help developers learn how to keep code maintainable and avoid poor coding practices.


Developers begin by making changes to a vending machine app, primarily using a file called vendingMachine.js. In the next few exercises, developers break down the vending machine into a program that functions the same but is easier to maintain, test, and update.

Developers learn:

  • Separation of Concerns
  • Avoiding Switch Statements
  • Test-Driven Development
  • Fixing teammates’ mistakes


We welcome your issues, questions, ideas, and contributions on GitHub. We’d love for you to check out, star, or fork the project at:



Share This

Share on Twitter Share on Facebook Share on LinkedIn Share via email

You Might Also Like


Is SAFe Agile? The Case for SAFe

I’m new to Agile, relatively speaking. I first heard of it only five years ago....


BDD (Behavior-Driven Development), Is it for me?

Would you like to develop products in a way that helps you discover users’ real...


Improving Scrum Teams with Visual Backlog Refinement

Many Scrum teams focus on the established five scrum events that take place each sprint...