Did you miss the delivery date?

Written by jeffochoa | Published 2018/10/06
Tech Story Tags: project-management | delivery-date | clients | software-development | dev-customers

TLDRvia the TL;DR App

Setting goals for a project is easy, but making time estimation for those goals is entirely different, especially in software development.

I’ve heard some developers saying:

If you think is going to take 2 hours, add some extra time just in case, then double up and you’d be fine.

Sometimes, even that is not enough.

The deadline is coming, we have three people in our team working at their full capacity already, we have 1 week to deliver the project, but according to our estimations, we are 4 weeks behind schedule.

Ok, I have the solution, just add three more people to the team, and that’s it, we’ll meet our goal.

3 weeks later…

Sounds familiar?

Adding more people to a team doesn’t necessarily mean that the project will be done in less time.

The numbers make sense, but there are other factors that you need to take into consideration before going ahead with such an optimistic plan.

Just to mention a few:

  • Is everyone up to date with the current status of the project?
  • Is the project well documented in a way that any other person could quickly jump in?
  • How many of the remaining tasks could be done in parallel without affecting anything else?
  • What is the level of expertise of the new team members? Do they have enough knowledge of all the technologies and tools used on the project (programming language, framework, workflow and so)
  • Are the new members of the team working full time or part time on the project?
  • Do you have a set of defined best-practices or guidelines that everyone can follow to keep consistency in the source code?

So, as you can see, just bringing more people to the team is not going to solve all your problems right away.

Remember you are working with people

People get tired, burned out, they get sick, their car can stop working, their children could get a cold, anything can happen to them, they are humans, so take that in mind.

If you have 10 days of work ahead, and two developers for one week, Is very likely you are not going to make it.

If you do, then great. 🙌

But don’t be too optimistic about it, let your clients know you are on a very tight schedule, let them know there is some risk that you are not going to deliver on time.

When a plan is not a plan

Here we are, in the eye of the storm, trying to figure out what went wrong, what we need to do to finish the project and how much work do we have ahead.

We start making lists of all the task to be done, adding new estimations and adding more people to the team.

Then we start to work.

Wait… is that a plan?

Well, maybe, but just having a list of things to do and a bunch of people “ready” to work doesn’t constitute a good plan necessarily, but it’s a start.

Don’t be so naive to think that asking your client for a couple of weeks more is going to solve your problems without having a well-defined plan to action.

Don’t delay the awkward conversation with your clients

Don’t wait until the delivery date to talk with your clients to ask for more time.

Be honest and straightforward, take ownership of the problem and make sure you go to your clients with a damage control plan on front.

Of course, a delay in the schedule is the last thing that your client wants to hear, but it would be even worst receiving that notice without a contingency strategy or even a vague idea of how to proceed from now on.

  • Would this delay affect your clients budget?
  • Who’s going to be responsible for the losses?
  • What was the cause of the delay?
  • What’s the new plan?

Bring all those topics to the conversation.

Don’t be afraid; of course is going to be an awkward conversation, but if you show your clients that you did all that you could to finish in time, but it wasn’t possible, is highlight probably the will be open to alternatives and to discussing ways of how to keep going until finish the project.

Companies don’t make deals with companies, people working on those companies build the business, human beings, so, as long as you keep open and honest communication with your clients, it’s more likely they would be willing to hear what you have to say.

The hard lessons leave good learnings

The following are just a few key points to have in mind before starting your next project:

  • Get all the necessary information from your clients before starting with the development, make that your priority.
  • Make sure you have the right people for the project.
  • Set short sprints to keep track of the progress of the project, this will help you to realize, on time, if you are meeting your delivery expectations efficiently and on time.
  • Before assigning any task to anybody, make sure everyone fully understand what the project it is about, what is the general plan and what is the thing the client is looking for with this solution. Get your team involved in the project and give them context to create the sense of the meaning on the work they are about to start.
  • Make sure you have someone in charge of keeping track of the progress.
  • Stop starting and start finishing: make sure you fully close one task before moving to the next one. It’s nicer to show 2 or 3 finished features to your client rather than a long list of unfinished pieces.
  • Keep an open and honest communication with your client.
  • Make sure you have the right amount of people for the work.
  • Make someone responsible for the team, and make sure everyone knows who that person is. Is not about to have a “boss” pushing people to the edge, but instead, someone who’s aware of the big picture, having a full understanding of the project.

Wrapping Up

Time if fixed, you can’t stretch it, doing extra-time is not a solution, you’ll be pushing your time to the edge, and your company will run out of budget faster of what you think. The best strategy to deliver your project on time is to “prevent.”

Think ahead and act accordingly.

Don’t wait until the end to make the necessary changes to keep your clients happy, and your team safe; safe from overwork, from stress, from internal conflicts in your company, work “with” them, and remember, they are human beings, not just numbers on your timesheet.

Jeff Ochoa (@Jeffer_8a) | Twitter_The latest Tweets from Jeff Ochoa (@Jeffer_8a). Software Engineer at @square1_io. #teacher at @StydeNet #writter…_twitter.com


Published by HackerNoon on 2018/10/06