Printer Friendly
The Free Library
14,528,975 articles and books
Member login
User name  
Password 
 
Join us Forgot password?

THE JOEL TEST.


As a "pipsqueak pipsqueak
Noun

Informal an insignificant or contemptible person
" junior programmer (1) A hardware device used to customize a programmable logic chip such as a PAL, GAL, EPROM, etc. See PROM programmer.

(2) A person who designs the logic for and writes the lines of codes of a computer program.
 at Microsoft, Joel Spolsky Joel Spolsky (born 1965) is a software engineer and writer. He is the author of Joel on Software, a blog on software development targeted mainly at writers of Windows software.  saw a few death-march projects and occasionally locked horns with control-freak bosses. But most of the time, Spolsky says, Microsoft provided a supportive environment "where things are done at the lowest level and most managers act like their job is to run around the room, moving furniture out of the way, so people can concentrate on their work."

Spolsky now runs a well-respected contract programming firm, Fog Creek Software, so he spends much of his time on management issues like productivity, product quality, and recruiting. But he still believes the way to create first-class software is to build "a great place to work" and let programmers have the greatest possible control over their own projects.

Spolsky's notion of a "great place" isn't an unsupervised playground, though. In fact, he argues that the best development groups typically are run with considerable discipline and formal structure. As a way for managers and investors to measure this discipline, Spolsky has put together a dozen checklist questions called The Joel Test. "A score of 12 is perfect, 11 is tolerable tol·er·a·ble  
adj.
1. Capable of being tolerated; endurable.

2. Fairly good; passable. See Synonyms at average.



tol
, but 10 or lower and you've got serious problems," he warns. "The truth is that most software organizations are running with a score of 2 or 3, and they need serious help, because companies like Microsoft run at 12 full time."

n Do you use source control? "If you don't have source control, you're going to stress out trying to get programmers to work together," says Spolsky. "The other neat thing about source control systems is that the code itself is checked out on every programmer's hard drive--I've never heard of a project using source control that lost a lot of code."

n Can you make a build in one step? "If it takes 20 steps to compile the code, run the installation builder, etc., you're going to go crazy and you're going to make silly mistakes." Good teams typically create a single script that automates the whole build process, Spolsky says-- which is especially valuable when a product is almost ready to ship and programmers are racing to fix the "last" bug.

n Do you make daily builds? Simple mistakes--for instance, forgetting to add a source file to the code repository--often cause new builds to break, Spolsky notes, leaving the whole team in limbo limbo

In Roman Catholicism, a region between heaven and hell, the dwelling place of souls not condemned to punishment but deprived of the joy of existence with God in heaven. The concept probably developed in the Middle Ages.
 until the problem is fixed. "One good way to insure that breakages are fixed right away is to do the daily build every afternoon at, say, lunchtime. If the build failed, you fix it, but everybody can keep on working with the pre-build, unbroken version of the source."

n Do you have a bug database? "Lots or programmers think they can hold the bug list in their heads. Nonsense," says Spolsky. "A minimal useful bug database must include the following data--complete steps to reproduce the bug, expected behavior, observed (buggy Refers to software that contains many flaws. Many in the software industry swear that bugs are inevitable, and perhaps they are right. As long as we work in the competitive, pressure-cooker environment of our high-tech world, products will more often than not be developed too hastily and ) behavior, who it's assigned to, and whether it has been fixed or not."

n Do you fix bugs before writing new code? Fixing bugs immediately is "basically trivial," says Spolsky, but the cost and effort rise dramatically when bugs are fixed later in the development cycle. Since it's hard to predict how much time it takes to fix a bug, moreover, "a schedule with a lot of bugs remaining to be fixed is unreliable. If all that's left is new code, your schedule will be stunningly more accurate."

n Do you have an up-to-date schedule? "Programmers are notoriously crabby crab·by  
adj. crab·bi·er, crab·bi·est Informal
Grouchy; ill-tempered.



crabbi·ly adv.
 about making schedules," Spolsky notes. "OIt will be done when it's done (jargon) When It's Done - A manufacturer's non-answer to questions about product availability. This answer allows the manufacturer to pretend to communicate with their customers without setting themselves any deadlines or revealing how behind schedule the product really is. !' they scream at the business people." That's an unacceptable attitude, he argues: Programmers need to be shown how their progress affects decisions and time lines for the rest of the business. And if the schedule slips, it's usually best "to pick the least important features and cut them" rather than let the project run into overtime.

n Do you have a spec? "Writing specs (SPECificationS) The details of the components built into a device. See specification.  is like flossing flossing,
n the mechanical cleansing of interproximal tooth surfaces with stringlike, waxed or unwaxed dental floss or tape.

flossing aids,
n.
: Everybody agrees that it's a good thing, but nobody does it," Spolsky quips. "Software that wasn't built from a spec usually winds up badly designed and the schedule gets out of control." Often, specs are overlooked because programmers are "reluctant writers" who'd rather express their ideas in code than create documents, he says. One solution is to persuade programmers to take writing courses; if that's impractical im·prac·ti·cal  
adj.
1. Unwise to implement or maintain in practice: Refloating the sunken ship proved impractical because of the great expense.

2.
, make spec writing part of the program manager's job. "In either case, you should enforce the simple rule, Ono code without spec.'"

n Do programmers have quiet working conditions? Giving programmers offices with walls and doors isn't just a luxury, Spolsky argues--it's an investment in productivity. "We all know that knowledge workers work best by getting Oin the zone,' where they are fully concentrated on their work and fully tuned out of their environment. This is when they get all of their productive work done," says Spolsky. "The trouble is, noise, phone calls, going out for lunch, having to drive five minutes to Starbucks for coffee, and interruptions by coworkers--especially interruptions by coworkers--all knock you out of the zone. If you're in a noisy bullpen environment like the type that caffeinated dotcoms love to create, your productivity will plunge."

n Do you use the best tools money can buy? "Top notch notch (noch) incisure; an indentation on the edge of a bone or other organ.

aortic notch  dicrotic n.

cardiac notch 
1.
 development teams don't torture their programmers. Even minor frustrations caused by using underpowered tools add up, making programmers grumpy grump·y  
adj. grump·i·er, grump·i·est
Surly and peevish; cranky.



grumpi·ly adv.
 and unhappy. And a grumpy programmer is an unproductive programmer."

n Do you have testers? "If your team doesn't have dedicated testers, at least one for every two or three programmers, you are either shipping buggy products or you're wasting money by having $100/hour programmers do work that can be done by $30/hour testers. Skimping 'skimping' Managed care The delaying or denial of services to members of a prepaid or 'capped' health plan, to control costs–because the monies received by the health plan remain constant, providing 'extra' services is more costly to the plan. See Skimming, Capitation.  on testers is such an outrageous false economy that I'm simply blown away that more people don't recognize it."

n Do new candidates write code during their interview? "Every day, programmers are hired on the basis of an impressive resume or because the interviewer enjoyed chatting with them. Or they are asked trivia questions which could be answered by looking at the documentation," says Spolsky. "Please, just stop doing this. Do whatever you want during interviews, but make the candidate write some code."

n Do you do hallway usability testing Usability testing is a means for measuring how well people can use some human-made object (such as a web page, a computer interface, a document, or a device) for its intended purpose, i.e. usability testing measures the usability of the object. ? "A hallway usability test is where you grab the next person who passes by and force them to try to use the code you just wrote. If you do this to five people, you'll learn about 95% of the usability problems in your code."

Joel Spolsky, founder, Fog Creek Software, 217 E. 31st St., New York New York, state, United States
New York, Middle Atlantic state of the United States. It is bordered by Vermont, Massachusetts, Connecticut, and the Atlantic Ocean (E), New Jersey and Pennsylvania (S), Lakes Erie and Ontario and the Canadian province of
, N.Y. 10016; 646/424-1712. E-mail: spolsky@fogcreek.com.
COPYRIGHT 2001 Soft-letter
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2001, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.

 Reader Opinion

Title:

Comment:



 

Article Details
Printer friendly Cite/link Email Feedback
Publication:Soft-Letter
Date:Apr 13, 2001
Words:1106
Previous Article:THE INTUIT WEB MAKEOVER.
Next Article:HOW TO RUN A POST-SHOW TRAINING SESSION.



Related Articles
Joel Isaacs and Caroline Banker have designs on the fashion retail market.(Brief Article)
Brokers Fern and Lubin join Binswanger/Klatskin group.(Brief Article)
INDUCTOTHERM.(induction furnaces for metal producers)(Brief Article)
GVA Williams has been appointed as the exclusive leasing agent for two warehouse/distribution buildings. (Agents).(Brief Article)
www.inductotherm.com. (Website Spotlight).(Brief Article)
FALSE NAME TIPPED POLICE TO CROOKED COP.(News)
JOEL AND JOHN: PIANO MEN ROCK THE FORUM.(L.A. Life)(Review)
HUBBY IN NEED OF A KIDNEY TAKES WIFE UP ON HER OFFER.(NEWS)
BMAR selects honorees.(Bronx Manhattan North Association of Realtors )(Brief Article)
www.inductotherm.com. (Website Spotlights).(services information)(Brief Article)

Terms of use | Copyright © 2009 Farlex, Inc. | Feedback | For webmasters | Submit articles