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.
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.
Post new comment