I can give you an idea as to why this happens...
1. Poorly planned project and they didn't put much effort into estimating.
2. The project isn't paying very well, so it isn't taking priority.
3. They quote actual hours, not days to complete. For example, if they quote a 20 hour project, that doesn't mean it'll be done within the next 24 hours. That means, they will probably work on it a couple hours here and there over the next while.
4. They are lazy. Maybe they wake up at 2PM, lounge around for a while. Get lost in their TV shows, then eventually make it around to sitting down at the computer at which time they get distracted by GFY, IM, FB etc...
5. They don't have good time management skills. Maybe they don't make lists, or have poor self-motivation.
6. Sometimes, the client is just a pain to deal with. It's rare, but if the project isn't clearly defined at the beginning, minor changes, feature requests, "tweaks" etc... can add a seemlessly never ending stream of scope-creep. This can cause some distress and lack of motivation. Again, this might fall under poor planning.
7. Lack of knowledge about the project or the scope.
8. Overbooked. I tend to find that clients think they are the #1 and only client any developer ever has. This is almost never the case, especially if the developer is any good. If you understand that the developer probably has 3 to 10 different projects that he/she is juggling at any given moment, it might help to shed some light on delays. If you combine this with poor project management on their end, it's most likely going to end up being a train-wreck at some point.
Anyhow, these are some of the likely culprits. All things that I have done in the past, but over the years have learned how to overcome.
|