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?

dreftymac
  • 139
  • 7
  • 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 '11 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., http://berk.es/2012/10/01/farewell-drupal/) – dreftymac Jul 02 '13 at 19:26

4 Answers4

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.

Arseni Mourzenko
  • 134,780
  • 31
  • 343
  • 513
  • 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 '15 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.

  • 1
    What contradictory feedback has the Joel Test received? Any examples? – Bernard Apr 26 '11 at 16:12
  • 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 '11 at 16:27
  • 7
    @vartec You'd be surprised. – Michael K Apr 26 '11 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. – Carson63000 Apr 26 '11 at 20:50
  • @Michael: I've seen quite a few of these in days, but now what I often more often are Firefox only solutions (which isn't optimal either) – vartec Apr 26 '11 at 21:58
  • 1
    @vartec: and at least IE-only sites typically had the decency to say "this site works best in IE". Firefox-only sites are usually written by people who think that "Firefox is standards-compliant so that's all I need to test." – Dean Harding Apr 26 '11 at 23:48
  • 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 04 '12 at 15:13
  • @vartec I like my NoScript addon. At least show me something on your website without Javascript. – Carra Jun 04 '12 at 15:49
  • 2
    @Carra: I don't quite believe that you have JS disabled on all sites, as for example you wouldn't be able to write that comment without JS enabled. Yeah, it's cool to show something, but expecting full functionality of a site w/o JS in 2012 is just not realistic. – vartec Jun 04 '12 at 16:04
  • @vartec : The site was required to work without JS when the "degrades beautifully" was the mantra for Web development, now it has switched to "progressive enhancement", which mean that without css, images and JS you should get 100% of the content and most of the features working properly. With each layer being icing that had visual structure, interactivity and even some more advanced functionnalities. – JF Dion Jun 04 '12 at 17:14
  • 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 04 '12 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.

Steve
  • 5,264
  • 1
  • 21
  • 27
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.

Code Silverback
  • 286
  • 2
  • 10
  • 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. – Steven Evers Apr 26 '11 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. – Code Silverback Apr 27 '11 at 14:03
  • I'm pretty ignorant when it comes to ROR development, but how do you package up dependencies? XCOPY to a directory? – Steven Evers Apr 27 '11 at 16:38