3

QUESTION: How can you re-write the questions of the Joel test to apply to web developers?

1. Do you use source control?
(source control for all aspects of your app, including configuration, database and user-based settings?)

2. Can you make a build in one step?
(can you deploy a site from staging to prod in 1 step?)
...
10. Do you have testers?
(how do you test AJAX and CSS?)

BACKGROUND: This is for people who work in a shop that does some web development but also uses some off-the-shelf tools like Drupal and Wordpress, but doing custom development on top of that.

RELATED LINKS:

http://www.joelonsoftware.com/articles/fog0000000043.html

What do you think about the Joel Test?

2
  • 21
    what are you asking? none of the steps in the joel test really stand out as being incompatible with web development.
    – TZHX
    Apr 26, 2011 at 15:51
  • This item relates to the trend that allows creation of web content, and web consulting companies where little or no programming skill is required by the people behind the products and services. (See e.g., berk.es/2012/10/01/farewell-drupal)
    – dreftymac
    Jul 2, 2013 at 19:26

4 Answers 4

15

I think you misunderstood the Joel test. Joel test is not about products, languages and technologies used. It's about the workflow and the working conditions of the developers.

For example, the five points in user8685's answer has nothing to do with Joel test. It's not because the company's website is not written in valid XHTML that their developers have no decent working conditions.

The difference may be subtle, but there is a difference. For example in a company working with .NET technologies, it doesn't matter if it's Visual Basic or C# or F#. It's not a working condition¹. What matters is that some companies will let you work with Visual Studio 2010 Ultimate installed on quad-core machines connected to 100 Mbps internet connection, while in other companies you will have to work on old garbage running Windows Millenium, with Visual Studio 2003 installed on one computer, and just a notepad on ten others, because VS is too expensive.

Taking the three points you quoted:

1 Do you use source control? (source control for all aspects of your app, including configuration, database and user-based settings)

What's so special about web applications ? You do have configuration in desktop applications too. You do have database and you do have user-based settings.

By the way, you do have to use version control for your database like you use source control for the source code.

2 Can you make a build in one step? (can you deploy a site from staging to prod in 1 step)

It's not because a company let their developers deploy a website from staging to production in one step that this company is better then other ones. Facebook does it. Dell does not. IMO, developers must not be trusted enough to be able to alter the production website directly.

Also, build in one step concerns the build itself, not the fact to push a website from staging to production. Website builds are very similar to desktop application builds.

10 Do you have testers? (how do you test ajax and CSS?)

How do you test desktop application UI ?


¹ I must however note that for some developers, a choice of some languages can actually be a working condition by itself (think PHP, COBOL, etc.). For example, it is depressing for me to use PHP on daily basis, exactly like not having two/three monitors per PC or not having quite working conditions or having 128 Kbps internet connection.

1
  • Speaking of old versions of Visual Studio, I once had to downgrade the installation of Visual Studio 2010 that came with my workstation to Visual Studio 2008 because 2010 wasn't on the official list of approved software that developers were allowed to have installed. So yeah, the Joel Test clicks for me.
    – Rag
    May 30, 2015 at 21:07
10

I do not believe this test needs any change with regard to web development. It is still development just with a different philosophy which is beyond the scope of the Joel test anyway.

The test is however has received quite contradictory feedback in the community and is therefore not the last word to judge any company.


What I've personally found quite descriptive of a company is the answers to those questions:

  1. Does the company's website use a standard HTML/CSS markup over Flash?

  2. Do the pages of the company's website validate?

  3. Does the company's website work without JavaScript enabled or does everything even the basic markup immediately fall apart?

  4. Does the company's website works in all modern browsers or is it only IE-compatible?

  5. Have you outsourced the development of the company's website?

The answers to those questions will tell quite much of the company, its attitude and the culture.

11
  • 6
    "Does the company's website work without JavaScript" -- that's ridiculous question to ask in 2011, when AJAX is the way do develop web applications. "is it only IE-compatible" - that's also ridiculous to ask, when IE has only 30% of the market, and Firefox is the leading browser.
    – vartec
    Apr 26, 2011 at 16:27
  • 7
    @vartec You'd be surprised.
    – Michael K
    Apr 26, 2011 at 17:45
  • 8
    @vartec: building something that only works properly in IE would indeed be ridiculous in 2011. But then, so would developing without source control, and I don't see anyone saying that it's silly to have that on the Joel Test still. Companies do ridiculous things, sometimes. Apr 26, 2011 at 20:50
  • 4
    I don't know if the company's website is representative of the work they do for clients. In most of the places I have worked at, the company website was neglected for long periods of time. It was the lowest priority project.
    – B Seven
    Jun 4, 2012 at 15:13
  • 3
    Anyway, whole thing is not really related to the topic. Joel's test is a measure of quality of development process, not measure of the quality of the product.
    – vartec
    Jun 4, 2012 at 20:46
5

I may have misunderstood your question, but why do any of these need rewriting, they apply just as much to a web developer shop as anywhere else.

1 Do you use source control? (source control for all aspects of your app, including configuration, database and user-based settings)

They should, although for settings you would only keep some default values.

2 Can you make a build in one step? (can you deploy a site from staging to prod in 1 step)

It should be possible to build and deploy to any environment in one scripted move. Moving to production should probably involve at least one manual step for "sign off", e.g. deploy to staging, verify and then production, but there should be one script that deploys to production.

10 Do you have testers? (how do you test ajax and CSS?)

Regardless of how you test it, someone has to do it! It might be a manual test (doesn't have to be, there are ways), but this stuff gets tested like everything else.

1

2) By build, I would suggest this means "can I click -publish- and push the entire thing to dev/staging/whatever." The purpose of this question is to test your deployment process. Is it repeatable or ad hoc?

10) You can always use Selenium to automate a huge portion of your ui testing, so that question still applies. Not everything, but we routinely test ajax with it.

3
  • I would say the difference between building and publishing in web dev is still significant enough that the original question need not be changed from the original. Publishing is just the action of taking the built artefacts and deploying them to some server. Another question asking if publishing is also just 1 step is a useful one though. Apr 26, 2011 at 20:08
  • Yeah, but the problem is that not everything needs to "build." A ROR or PHP app just gets copied to stage or whatever. Apr 27, 2011 at 14:03
  • I'm pretty ignorant when it comes to ROR development, but how do you package up dependencies? XCOPY to a directory? Apr 27, 2011 at 16:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.