views:

824

answers:

13

hi guys,

im wanting to write a paper on the most common problems encountered during freelance web development. i thought i'd consult with you chaps since it never ceases to blow my mind how good the suggestions/input is that comes from the people on this forum.

let me start by listing the things i have encountered over the years (nb. ive been doing freelance web dev for about 5-6 years now).

  • content issues (customer taking a long time to get text/pictures for their site. poor quality content)
  • taking a long time to get my hands on the client's logo and graphics material.
  • ‘fussy client’ (with regard to design. e.g. client: "it just doesnt look good")
  • getting client sign-off and approvals
  • scope-creep (i.e. client adding new work once project is under way and not wanting to pay for it).
  • poor bug reports from the client (e.g client: "the contact page crashes". <- thx for the detail!)
  • customer losing interest/focus on their own project (thus causing delays)
  • dealing with third parties and vendors (e.g. hosting companies, SSL providers, banks).
  • poor payment structures (i.e. bad proportions for deposits, interim payments, final payments)
  • ‘hair-brain’ business ideas (e.g. client: "i want to sell toe-nail clippings online" <- oowwwkay...).

what other things have you guys found? and also, what strategies do you use to get around them?

thanks

-LM

+1  A: 

The two big places I continually see:

  • Scope creep
  • Materials

Creep is pretty self-explanatory, but I have found that the materials issue is actually a symptom of bad Information Architecture (IA). Customers frequently do their own IA based on a traditional hierarchy ("about us" area with landing page and sub-pages) and then feel compelled to fill them all with content. Obviously IA should be driven from content, not vice-versa, but clients don't seem to understand that. It's a failing on my part not to effectively communicate that the IA should come last, after the hard content is collected and assembled into semi-organized blobs.

Rex M
YES! information architecture (IA) is definitely a problem area. i just had a client ask me to remove the 'home' page from their site (dont get me started). i generally propose a rough IA at the start of the project which gets adapted along the way.
louism
+14  A: 

As I stated in What to know as a first time contract programmer?, the most frequent problem I used to face was clients asking for more and more features:

Invaluable advice: learn to say NO.

Many times you'll find yourself in a position in which a customer asks for some extra features or many projects to quote at once. A good book I'd recommend is The power of a positive No.

You must learn to say NO when appropriate: if you can't take more jobs because the day's just 24 hrs long, then decline them or clearly specify you could do them starting in, say, 1-2 months time; if some client insists in you doing something out of scope, say NO (unless it's a very important client and you see further opportunities through him, of course).

Consider what you'd gain and what you'd lose by accepting and rejecting jobs, clients, etc. That way you'll see clearly what to do each time.

Finally, charge what you should, no more no less, and for every single piece of work. If you're a good programmer and are good at understanding clients' needs, they will value that more than the money they pay.

Seb
+1 on the learning to say NO. It's very tough, at first.
Josh Stodola
re: "nvaluable advice: learn to say NO." -> i have a philosophy which is "yes, but its going to cost this". which is like 'no, if you arent going to pay for it'. this makes clients think long and hard if they really want the feature or not.
louism
re: 'charge what you should' - this i have a real problem with. ive been criticized many times by my peers for under-valuing my services. just a habit i have to get out of.
louism
I couldn't agree more - I also do that frequently and works like a charm, provided you strongly base your statements with a signed contract specifying exactly what you were supposed to do vs. what they are asking for.
Seb
+1 I have a client right now that I need to say no to
bendewey
A: 

How about an understanding of web content, being given a 50 page document and being asked to 'put it on the web', and not just as a PDF. There's little understanding that creating good content, is based off an Information Architecture, message, voice etc, and then creating or re-writing boiler plate word documents from scratch with this in mind. I reckon 10 pages/day is a good rate, whereas the expectation is 1/2 day to do the whole document.

Another issue is that the good parts of the web - google, SO, wiki etc all appear very simple, and in many ways they are. The perception then is that all software can be made simpler, hosted on the web and delivered to the world with little effort. Persuading corporates that simple = hard, whereas complex = easy, never have managed to do that succesfully.

MrTelly
+6  A: 

The biggest problem for me is one simple quote...

"ABC Developers, Inc. claims they can do it cheaper"

It's so hard to convince people that they get what they pay for, especially in this industry.

Josh Stodola
i hear you. ive seen such variance in quotes before. i recall one job i quoted for when i was at a company. our quote was for $50k AUD, another company quoted $30k AUD, and yet another $80k AUD - thats a hell of a lot of variance for the same project!
louism
+1 y, this definitely a Really important one. @louism the variation on what you get can be as big or bigger, in terms of quality/time/etc ... consider when you are talking about a rate/hour, the other dev can take more than the difference of the rates would allow - and you can get garbage
eglasius
"But we do it better", and prove it - docs, references, better quality of your graphics, etc. Even the formatting of my proposal document is miles nicer looking than that of most of the competition.
MaxVT
More expensive is not always better. I've competed directly up against mega consulting firms (i.e. Andersen) that bill 2-3X what I bill an hour and rack up 10X more hours...the results were mixed at best. I could ALWAYS beat them on price and delivery.
EJB
+1  A: 

You did a good job enumerating the major ones. I think with large clients you sometimes get some internal dissension about what a product or website should be, and it can cause scope creep. The best way to handle that is to educate them on the hidden costs to schedule and quality. Also it helps to put a development cost and benefit score (simple rank of 1-5 for each) and do a cost/benefit for each one on a spreadsheet, to help them prioritize the features. And make it clear that additional features will be charged separately.

Turnkey
i definitely like the cost-to-benefit scoring system. im going to use that in future on a big project. i actually have something coming up where that would work well. -thx
louism
A: 

One recommendation would be to convince the client to look into third party WYSIWYG editors, CMS systems or templates. A lot of hosting companies offer these options for building a basic website.

If their requirement needs can not be addressed by one of the mentioned solutions, make sure you spend amble time defining the client's expectations and provide a very detailed estimate.

Maybe want to include a clause to address scope creep in your contact and the design process will count as billable hours.

One basic conclusion is that it all depends of the client. A good client will equal a good experience. Over time, you will learn how to weed out the riff raff and establish a good network of clients that will supply you with plenty of work.

Michael Kniskern
+6  A: 

I think you may be missing a few:

  1. Working with Committees
  2. A Client "Duo" that both approach you as the project lead independently without consulting one another
  3. Lack of timely payment
  4. Holding the last payment until everything is "perfect"

To get around them I have clearly laid out communication plans written into the contract. Single point of contact. All expectations are defined in the contract as to when the final payment is due.

I also make sure to consistently respect my own policies in order to reinforce that they do the same (mostly on collections).

jerebear
solid comments. i actually just wrote an article on payment structures (http://pm4web.blogspot.com/2009/03/payment-structure-on-small-projects.html). it took me some trail and error and research to get a structure i was happy with.
louism
+4  A: 

True story: I want something like Amazon.

dlamblin
On fixed contract pay $1000 for 2 weeks.
dlamblin
I see those all the time, I want something like facebook/linkin/amazon/etc with a budget like the one you mentioned. It goes like: pass, pass, pass, pass, pass, oh a real project :)
eglasius
Yeah, if I think about it, it was actually a little more shocking to me then. The person had asked for a shopping cart; I'd configured one and taught them the templating and administration. Simple. Then they asked if it could now be more like Amazon, with accounts reviews recommendations wallet ...
dlamblin
bingo - that is a big one. in australia, common ones are: "i want something like rsvp" (a big dating website), or "i want something like seek, how much?" (the biggest job search website in AU)
louism
+2  A: 

The biggest problem in the overall picture is clients with unrealistic expectations of what their project will cost, generally thanks to all the people out there who will take the "clone Amazon for $1000 in 2 weeks" projects.

The biggest problem for me personally is trying to explain that I'm a software developer (who happens to do websites, among other things), not the designer/programmer hybrid that is normally called a "web developer". So you probably don't want me to do your website's graphic design and layout[1], but, if you've got a feature that someone else has told you "can't be done", then I'm your man to make it happen.

[1] Unless you actually want a website that looks like it just stepped out of 1993. (But at least I have the good sense to not use <blink> tags.)

Dave Sherohman
A: 

Everything you need to do other than web development.

cherouvim
+5  A: 

Two that I see a lot:

  • I want to add x,y,z to my web application. You get the source code and it is a real mess. Even though I work hourly, results/hour are really important for me (see next point) and that really gets in the way of a healthy relation. Of course then I contact the client, and explain the situation they got themselves into (usually because of a cheap provider they dropped). What to do next varies with each project.
  • Getting clients to understand variations in results/quality/time/etc are usually bigger than variation in price (see louism comment in josh question). Of course, I don't even try to explain this to those who post projects like clone/make a site like [insert one here] by 500-2000$. As a result of this, results/hour are super important to me, but that's the way it should be anyway. Note, results/hour doesn't mean doing it the wrong way (which will actually slow you down).

Regarding some of the items above:

  • poor bug reports - you should have logs in place. Also help them understand what type of info you need, using something like jing so they can take a screen or record a quick video helps as well. Work closely with them.
  • customer losing interest/focus on the project - work agile and work close with them. If you go away long periods of time you are the one setting the stage for it.
  • poor payment structures - I do weekly cycles, I deliver weekly so I expect to be paid weekly as well. This is a fully automated thing (part of the service I use for the projects), I am unsure how this would go outside of there, but you Really want to get as close to this as you can. You will know for sure you are getting paid right from the first 7-12 days (there is a delay involved, for reviews and the like). Also if, along the way, something goes wrong economically with the client, you will find out for sure in a couple weeks, as opposed to a couple months. Of course, you try to find out sooner, but if it goes wrong you get minor impact.
eglasius
Freddy - you look like a really switched on savvy developer. on larger projects, i use a bug tracking system and spend time educating the client on how to make a good bug log. but i still need to improve a lot on keeping clients focused on their project and payment structures.
louism
+2  A: 

The biggest problem for me is without a doubt estimating the time for adding a feature.

Daniel W
very legitimate concern. surprising you are the first to point it out. this is something that gets better with time/experience. to be honest, for small-to-medium projects i have no problem with estimates. larger projects mean more variables, and it does become difficult to estimate/price right.
louism
A: 

i finished the article i was writing, its here if anyone would like to see it:

http://pm4web.blogspot.com/2009/03/10-common-problems-web-developers.html

it expands on many of the topics brought up here, but unfortunately i couldnt cover everything otherwise it would just go on forever.

louism