dennis.ca

RSS Feed

Weblog from Ottawa, Ontario, Canada

Musing About Hiring Web Developers

January 27th, 2007 · 2 Comments

Michele Neylon's post What to watch out for when hiring a developer got me thinking about the experiences I've had in coordinating web development and integration projects. I've made my fair share of mistakes both as a builder and manager, but they've prepared me to recognize the symptoms of a project that might be running off the rails.

The misconceptions that some people have about web development flatly astound me. I can only surmise that some truly believe it is a sort of voodoo. If they're lucky enough to encounter an XHTML necromancer, they will undoubtedly be in the presence of a wild-haired 20-something, ravenously consuming ramen, carting around a Crumpler bag filled with back issues of Macworld and listening to Steve Jobs keynote podcasts.

Even if this were universally true, it doesn't mean that they can't be managed well. In the interests of disclosure, I do read Macworld and really want a Crumpler bag. You can keep the podcasts and ramen.

Remember --

  • Outsourcing web development is no different than any other purchase -- you acquire an asset for a set price and expect it to work. If it doesn't, the situation needs to be rectified; quickly, correctly, and perhaps most importantly -- calmly.
  • A carefully formulated project plan with timelines, milestones and scheduled status updates will minimize the need for 'panic development'. The plan must be able to absorb requirements creep and unforeseen resource problems.

For larger-scale projects --

  1. If you can, chose a local company. Yes, there are lots of cases where distant companies produce lovely work, but personally, I need someone to stare down when things run amuck.
  2. Ensure that your project has a capable Project Manager. It sounds obvious, but someone needs to coordinate work for the various developers, artists, and other personnel on the project.
  3. If the Project Manager is poorly organized (slow/neglects to respond to emails, late for/misses meetings, etc., the alarm bells should be ringing loudly.
  4. Ensure that there are clearly defined support procedures. If you're given a single contact number, you're putting an awful lot of trust in one person to react quickly in a crisis. It isn't unreasonable to ask for a home phone number for those involved. Support hours should be clear and provisions made for after-hours response.
  5. Another one for the obvious category: Never, ever allow a company develop code on a production server. If they can't afford some sort of staging environment, you can't afford the risk of hiring them.
  6. Beware of companies that rely heavily on contract developers. Skill is often sacrificed for cost, and that can translate into high turnover and poor attention to detail.
  7. Ask for formal code inspections; bring in technical people from other projects to help review if you don't know what to look for. This is extremely important to root out poorly written code and (oft-overlooked) security problems. If developers are hyper-sensitive about revealing code, that's all the more reason to push forward.
  8. Have a planned response for projects that miss milestones or don't provide adequate functionality. You should not pay extra for work that has been previously agreed upon. Whatever you do, don't pay for an entire project in advance. There's little incentive to polish off a product if the money is already exchanged. I split payment equally as milestones are met. Developers hate this (as I did when I built websites), but it works.
  9. If your project is degenerating into something you're not comfortable with -- STOP IT. Do not be afraid to abort work in mid-stream; make sure any signed contract allows for this. There are plenty of other companies waiting in the wings to win your business and clean up the mess that their competitor left behind.

There are plenty of other aspects of web development that others have already covered far more eloquently than I, but hopefully you'll find some of the above practical.

Further reading:

Tags: · , , , , , , , , , , ,

2 comments for this entry ↓

  • 1 Web developers // Jan 28, 2007 at 10:19 am

    Good practical advice.
    Also on another note was any particular web or desktop application helpful in managing projects. especially the large scale ones ?

    Chris

  • 2 dennis // Jan 28, 2007 at 1:21 pm

    If you're looking for something free, Gantt Project is pretty spectacular for the price. Cross-platform java, too.

Leave a Comment

-- Why? This question confirms you are a human user.

  • Advertisments