What?
Exoweb only scores 10/12 points on Joel on Software's test?
We have some issues with the Joel Test — they don't apply well to shops doing agile methodologies. To give a better view of what we have, we'd like to qualify each of our answers to Joel's 12 points — and add two additional points while we're at it!
Do you use source control?
Yes. We use Subversion everywhere.
Can you make a build in one step?
Yes. We mostly use Python so building is just running.
Do you make daily builds?
Yes — more often, in fact. Projects use unit and functional tests that are run by developers before checking in code, and the whole batteries of tests are run every night with emails sent out to developers. Some projects use continuous integration tools as well.
Do you have a bug database?
Yes. We use Trac both for this and for Backlog Items.
Do you fix bugs before writing new code?
We believe in reducing the number of "broken windows" , but we go by priority not just type of work when scheduling backlog items.
Do you have an up-to-date schedule?
Yes. Since we use Scrum our schedule is the Product Backlog and a set of Sprints with Sprint Backlogs.
Do you have a spec?
Yes. Since we use Scrum our spec is the Product Backlog. Backlog items are scoped out in detail before they become part of any Sprint Backlogs.
Do programmers have quiet working conditions?
As we use agile methodologies, all teams sit together to improve communication. We have a mix of a big, open loft office spaces and smaller offices — although all are quiet, the latter are more quiet than the former. We also try very hard to reduce noise of all equipment we put in the office.
Do you use the best tools money can buy?
Yes. Our current generation of hardware now propagating to developers include dual-core machines, dual LCD screens (17" and above) and lots of RAM. Since we work with open source technologies, most of our software tools are open source. However, developers may request the purchase of any software they reasonably need for their purposes.
Do you have testers?
Yes. Since we're big believers of agile methodologies and automated testing, we don't need as many manual testers as Joel recommends. Developers themselves write the automated tests. However, each team has individuals tasked with manual testing and certain teams have dedicated testers that match the Joel definition.
Do new candidates write code during their interview?
Yes. We've got a team doing HR, and a set of 8 machines for candidates to perform on-site programming assignments that we run against unit tests. Candidates doing remote interviews also have to have a programming environment and submit code samples.
Do you do hallway usability testing?
Our testing teams and Information Architects are mostly taking care of the usability angle.
We also believe these questions to be extremely important in determining if this is a place you want to work:
Do you review all code?
At Exoweb, pair programming is optional, but code reviews are mandatory. We've created extensions to Trac to facilitate code reviews on changesets (which we will open source soon). We've found having at least two code reviewers on all code to be extremely important in catching bugs, discovering and standardizing on best practices, facilitating knowledge sharing and learning, and in general creating software craftsmen.
Do you have an up-to-date automated test suite?
We do for all systems newer than 2 years old, although some legacy systems (that we are phasing out) do not. Automated tests are necessary to be able to do refactoring, and refactoring is necessary to avoid code rot, and non-smelly code is an important part of a programmer's quality of life.
Update: Eric Ries has an interesting blog post about how the Joel Test could be updated.