I am a performing and visual artist and musician. Born in Ventura, California, I have lived in Florence, Italy since 1998.

I am also the owner of evolving design and performance international.

Syndicate content

Giving your client, and yourself, a fair dealGiving your client, and yourself, a fair deal

I've been collaborating with a group of professionals -- designers, marketing experts -- basically a loose confederation that works together on projects.

 

It's a great idea, and I'm happy to have become their guy for building web sites (of course, with Drupal).

 

As you do in a budding relationship, we've discovered a point of diversion.  Not quite a point of contention, but certainly a differing of opinions on a very basic aspect of our work -- how we get paid.

 

I work by the hour. 

 

I'm not alone in this, but here in Florence, I'm in the minority.  Most companies charge per project -- a practice I believe is doomed from the outset.  Either you or your client is going to get burned, and if you think about it, it's not hard to see why.

 

The basic unit of work in this business, no matter how you present it, is time spent.  The value of the time spent may vary according to your experience and talent, but in the end it all boils down to how long it will take you to get the job done.

 

Charging by the project means knowing from the outset how long a job will take you to do.  This is the holy grail of software developers.  They've even developed huge software applications with the express purpose of making this job easier.  Ask anyone in the field, though, and you'll find there's always a margin of error.

 

That error is due to the fundamental impossibility of predicting how long a job will take.

 

Let's look at what you need in order to make such a prediction:

- user requirements

- a knowledge of existing technologies

- a knowledge of your skillsets to develop new technologies

 

To predict how much time you'll spend on a project means having a detailed description of user requirements.  "I need a forum" isn't enough.  Is it open to anyone to post?  Just a certain set of users?  Do you need more than one moderator?  Are there special requirements that aren't satisfied by the latest forum product on the market?  Does an existing theme work or do you need to make a new one?  Etc, etc, etc.

 

To arrive at the answer requires hours of consultation with the client to understand their workflow, their business needs, the needs of their user base.

 

Then there's the time spent to analyze the existing solutions and estimate what it will take to do customization.

 

Time is money, and in the traditional model, this time is completely uncompensated (you usually haven't made an official proposal at this point, remember).  So most companies just leave it at "I need a forum".

 

In the end  you end up with requirements like:

I need a website,  with a forum, a chat, and an e-commerce solution.

 

How could anyone arrive at a reliable number this way?  Of course, people don't.  The standard excuse is: it all comes out in the wash.  I lose some on one project, and make up for it on the next.  That's unfair to you in the first case, and unfair to the client in the second.

 

The only proper way to ensure that both the designer and the client get their fair share in the deal is for the client to shop around until they fiind a designer they like and then hire them.  The designer should be compensated for their consultation time, as well as their development time.  And the only way to fairly compensate is to pay for the amount of time spent.

 

The usual objection I hear is, "How do I know how much it's going to cost, then?".  Of course, the fear is that the developer will take their sweet time to do their job.  Why work fast?  After all, they're getting paid by the hour.

 

Of course, this fear is completely unfounded.  Working slow for extra pay pretty much guarantees no repeat work.  It's a dead-end work ethic, and if the client has done their homework right, there's really no risk of them getting ripped off.

 

Of course you should give your client a reliable estimate of the time it will take to get the job done.

 

The only exception to this rule for me is pure design work.  Creating a logo or a layout may take hours or minutes, depending on the job and your creative juice flow at the time.  But when it comes to consulting, writing code, writing HTML/CSS or configuring a Drupal installation, hourly is the only way to go.

Not entirely

I agree that most projects can sprout unforeseables as you work through them. But this doesn't preclude the fact that many aspects can be itemised and assigned an amount of time: server set up, install your favourite cms, plan the structure, design the UI, etc. The greater your experience the better you'll be able to cost it effectively from the onset.

Infact, often by just meeting the client and hearing out their requirements and knowing what you're likely to do for them, you can imagine a rough estimate on the spot.

The trouble starts if the client or you allow for scope creep to set in: adding extra parts of functionality that weren't specified, or bowing down to an endless reiterative design process. That's where you need to be tough to deliver.

I much favour a combination of the two payment structures. One where you translate the client's requirements into a tech spech sheet with job quote and a fixed figure, combined with an hourly rate structure for the unforeseables and client whims.

There's a fantastic article on the subject over on stacktrace.it

Contact Info

Hey Aaron - How about adding a contact page with your e-mail info so old friends can get caught up with ya...

My e-mail is included - drop me a note when you get the chance.

Chris

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options