By my count, at least eight are no-brainers. If you stretch daily builds to include automated smoke tests on, e.g., non-compiled languages, then that's a no-brainer. #5 and #6 may reflect specific positions within larger holy wars, so maybe they are only protestant best practices, and #12 is a good idea but only one of many viable ways to achieve a good outcome. But at least 9 of the 12 are, in my opinion, catholic best practices. What's not on the Joel Test but should be? And what are some catholic best practices in other fields?
- Do you use source control?
- Can you make a build in one step?
- Do you make daily builds?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
- Do you use the best tools money can buy?
- Do you have testers?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
Tuesday, April 14, 2015
Are the Spolsky Test items all catholic Best Practices?
I'm doing some process evaluation and making a menu of possible software development processes to implement, and one assumption I'm working within is that every process change (software development or otherwise) has both costs and benefits. And changing multiple processes at once works like the baseball payroll luxury tax (which by the way would be illegal but for baseball's magic exemption), in that multiple changes at once have rapidly increasing costs just from the overload. But some Practices are so utterly Best that under all normal circumstances, it's not worth even a second of cost/benefit analysis. Let's call them catholic best practices, in the sense that they are universal: universally applicable, universally good ideas. Source control may be the canonical example of a computing practice where the costs exceed the benefits only in such rare circumstances that not using it is prima facie evidence of malpractice. Which got me to wondering, is everything on the Joel Test a catholic best practice? Read Joel Spolsky's steps and see how many you think are beyond reasonable dispute: