The Joel Test is about to turn 18 this year. Folks have attempted to “update” it, but even after graduating high school, the test remains a good starting point for identifying a “good” team.

Mike was impressed to discover a PHP script which manages to fail a number of points on the Joel Test in only 8 lines.

user@devcomputer:~/codearchive$ head -8 check-tank-balOLD.php
<?
// ONLY ENABLE WHEN READY, THIS IS AN AUTOMATED BATCH SCRIPT, IT WILL, I REPEAT, WILL PROCESS REAL LIVE CUSTOMER
//
// DISABLE IS NEEDED BY CHANGING TO 0
$ENABLED=1;
// END OF SCRIPT STATUS VARIABLE
//$testing=1; // *******************************************************for testing.

Before we even look at the code, we know that they’re not using source control, at least not properly. check-tank-balOLD.php tells us that much. They can’t make a release in one step, as depending on the release mode, they’d need to change the $ENABLED flag (and from the comments, it’s impossible to know for sure what exactly I’m doing by setting those flags). This also means no usable daily builds are being made. No, no one’s fixed bugs before writing new code, and apparently old code just lingers around anyway. Are they using the best tools money can buy? Clearly not, and I’m not just saying that to pick on PHP. They don’t seem to be using any sort of meaningful tooling.

Do programmers have quiet working conditions? No, I don’t imagine so, because I imagine in this shop, there’s a constant stream of profanity being shouted.

In conclusion, allow me to propose the “Mike Test”, which is the number of statements or lines of code you need about an organization to know it’s definitely performing miserably on the Joel Test.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!