Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
18  
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., berk.es/2012/10/01/farewell-drupal) –  dreftymac Jul 2 '13 at 19:26
add comment

4 Answers

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 the answer above 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.

share|improve this answer
add comment

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.

share|improve this answer
5  
"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
7  
@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
3  
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 '12 at 15:13
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 4 '12 at 16:04
show 6 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
    
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. –  Steve 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? –  Steve Evers Apr 27 '11 at 16:38
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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