DEV Community

Discussion on: How do web developers/freelancers build websites in time?

Collapse
 
goodidea profile image
Joseph Thomas

Having your tooling & workflow figured out is helpful - I typically start a new project by copying my package.json and config files from a recent project - but an even bigger factor is working with your client.

Client management & communication has, for me, had just as much of a learning curve as learning to code.

Putting together a concrete statement of work and timeline can be tedious, but it's a crucial step. In addition to defining what you're delivering, and also what the client will need to deliver to you, the biggest benefit is that it gives the client a sense of what it will be like to work with you.

Here is a sample statement of work & timeline that I put together for a new client.

In terms of getting things done on time:

  • Let your client know that you're going to be working with them, and you'll need their input and content in a timely manner. You'll need some flexibility with your calendar, and they will with theirs, so be sure to factor this in.
  • I like to separate the project into milestones that define when certain things are "done". This can be helpful for limiting scope creep: if I'm working on milestone 2, and the client requests a change to something that was completed in milestone 1, having these points defined will help you explain to them what it would mean to make that change.
  • Most importantly, don't rely on your client to provide final content, or at least as much as is feasible. Work with mockup content, and give them access to a CMS that allows them to replace this with the final content when they have it. Lastly, make it known that the project is "done" when it's content-ready - their final payment should come at this point, don't wait until the site is live.