6

I've landed my first freelance gig as a solo software developer, so it's my first time having to assume a PM role for a project.

As a PM, prior to landing the contract, I met with the clients to gather requirements, assess technical feasibilty, etc.. I worked out a schedule, plan, and gave them a quote with a 2 month timeline. Eventually I was awarded the contract and there are a few more administrative details to sort out before the project officially commences.

However, as a developer, during all this time I've been constantly chipping away at the requirements. Especially after being awarded the contract, I went full steam ahead while I was sorting out the administrative details. The 2 month timeline was an honest assessment based on what I thought was going to be technically hard, but I've overcome those problems.

Now the project is going to officially commence soon, and I'm about 60% - 70% done. Should I show the clients the current state on Day 1? I get early feedback, but I might be accused of egregious over quoting. Or should I show them my early work, and slowly reveal more as the weeks progress?

10

As a reasonable person, I would always prefer an honest presentation of results over a fake perfect adherence to your initial estimate. But it is a sad reality that clients aren't always reasonable, and your fear isn't without merit.

If you show your current status when the project actually commences, you might get caught in at least two traps in addition to being accused of overestimation:

  • You've worked outside of the allocated project timebox. The client may rightfully assume that you're working on their project during the full time, which means you're selling yourself cheap.
  • The client may be inclined to believe that since so much has already been done, there's plenty of time to implement changes and extensions, leading to feature creep and finally a missed deadline although you would have been able to deliver the initial scope on time.

Realistically, before you're 100% done you simply don't know for sure whether you worked 60-70% or 20-25% of the time needed to finish. So I would present the current state as a proof of concept that needs to be fleshed out and adjusted due to early client feedback. You may find that the remaining work is more than you estimate now, so the gained days might come in handy.

| improve this answer | |
5

There's a ton of different types of projects where the sponsor and stakeholders have little oversight or involvement so, if your project was like that, I don't think anyone would care that you did work before the project was supposed to start and you'll finish ahead of schedule. A lot of projects finish late so it's good to come in early when you have that opportunity.

However, most projects, and I would think a software project would fit in with this, would require a decent degree of stakeholder involvement and oversight across the entire development methodology. Finishing 60% or more without them even knowing you started raises a huge red flag for me. If they had no input into how you solutioned their requirements, I see a lot of rework in your future with no compensation for that effort. And many stakeholders just want to be involved to have their thumb print on it so that is not to say their contribution would necessarily be that beneficial but you'll need to address it anyway.

By way of practice, don't start a project until it starts. In some spaces, such as government work, you are not allowed to start until you have a go.

| improve this answer | |
3

Can you think about other trade offs you can make? I can think about a couple of them:

  1. Do you see opportunities to increase the quality of the deliverable with the time you have left?
  2. If you decide to tell them it’s done, would you be ok to give money back to them for the hours you haven’t spent?
  3. Are there any methodology/idea you’d like to try? Maybe this project is a good opportunity for that.

Depending on what trade offs you make, you can gain customer trust (2), raise the quality bar of your product (1), learn something new (3) or simply show how transparent you’re (2).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.