The Joel Test & The MindValley Way

Joel created “The Joel Test,” which is way to measure of how good a software team is. The test is simple. Just answer yes or no to a set of 12 questions. According to Joel, if you do not score close to 12, then you have a lot of work left to do.

So, obviously we wanted to put MindValley to the test and before we share the detailed score with you, I will need to point out some important points regarding “The Joel Test.”

First, “The Joel Test” is about software development and a web development environment is a little bit different and so some of the points need to be tweaked.

Second, here at MindValley, we follow an agile development process. As we go through the Joel Test, you will see that it is a great starting point for a good web development environment but it is just a starting point if you want to have a truly agile development process. In other words, the Joel Test just scratches the surface to determine if a work environment is sufficient for agile development.

The Joel Test - Test Results

1. Do you use source control? YES (1)

Of course. Anyone not using source control must be insane. It is a must in any web development environment. Our weapon of choice is SVN.

2. Can you make a build in one step? YES (1)

Yes. We mostly use PHP and Ruby on Rails. To speed things up, we also have an “auto-update script” to automatically push all of the latest code that was submitted live to site in one click.

3. Do you make daily builds? YES (1)

Daily builds are too infrequent. Agile teams should commit code at least several times per day. Our report-fix-retest loop is also really tight. When / where applicable, we use unit testing to ensure everything works bug free.

4. Do you have a bug database? YES (1)

Yes, even agile teams have bugs.

Every bug is reported with:

  • steps to reproduce the bug
  • expected behavior
  • observed (buggy) behavior
  • who it’s assigned to
  • whether or not its been fixed

5. Do you fix bugs before writing new code? It Depends (1)

We believe in delivering bug free web applications. However, what we work on depends on what the key priorities are at the moment.

6. Do you have an up-to-date schedule? YES (1)

We follow the scrum agile development process and everything is broken out clearly into each sprint backlog. Not only that, we even developed our own productivity / scrum application to help us get things done faster. This is called “The MindValley Way”

7. Do you have a spec? YES (1)

Since we use Scrum, our spec is the current Sprint Backlogs along with the overall Product Backlog. However, agile development also means that specs are often moving targets and get refined and tweaked over time.

8. Do programmers have quiet working conditions? YES (0.5)

If you mean do they work in cubicles the answer is no and we are proud of it. We do not believe in cubicles! Having an open and collaborative work environment is far more engaging and creates a far more energetic and vibrant work environment and culture.

We do everything in teams and there is a huge advantage in having groups of 2-3 developers sit next to each other. It dramatically accelerates knowledge sharing.

Having said that, our office is generally very quiet.

9. Do you use the best tools money can buy? YES (0.5)

Recent examples:

1) We just upgraded the monitors to 22″ inch flat screens for everyone in the office.

2) We just pgraded our Internet to make it even faster and more reliable.

I believe in always asking our developers what tools / resources could help them boost their productivity and quality of their work environment.

As a bonus, we also have free snacks and drinks in the office to keep everyone well nourished. :-)

However, we do take pride in always having been a very profitable company and will not buy the latest and greatest toys if there is no business need that justifies the expense.

10) Do you have testers? YES (1)

Since we believe in agile development and unit testing, we do not need many manual testers. We develop many small web apps where the developers take full ownership of the product, which means that they are also responsible for testing and ensuring that everything works well.

11) Do new candidates write code during their interview? YES (1)

A coding test is part of the interviewing process and depending n the quality of the results of the initial test we may ask for even more sample work.

12) Do you do hallway usability testing? YES (1)

This is easy because we have lots of people in the office that are ot working intimiately on the project and so it is easy to just ask hem to take a look and see how they use / interact with the tools e are developing.

We also believe these questions are extremely important:

Are programmers given specs or part of determining the future look and feel and functionality of the application?

At MindValley, every person that is part of a project is expected to contribute their ideas and suggestions on how to keep improving the applications we are developing. We do not believe in spoon serving “specs” to a team of developers. On the contrary, we pride ourselves on assembling very diverse teams (we have people from over 8 countries at MindValley) and get everyone to work closely together to help us develop breakthrough applications.

I hope the above information gave you a little better glimpse into the development environment that we are creating at MindValley.

Leave a Reply