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?
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:
So, as you can see, just bringing more people to the team is not going to solve all your problems right away.
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.
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 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.
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 following are just a few key points to have in mind before starting your next project:
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