Live data from Hacker News

How do you communicate if you won't hit an estimate?

news.ycombinator.com

11–20 of 51 posts

Re: How do you communicate if you won't hit an estimate?

#11
post #8

It starts way before you are running over budget. Your entire sales and contracting process needs to reinforce the idea that there are no fixed cost estimates prior to the completion of the discovery process and sign off by the client on the wireframes and/or software specification document. Granted, 90% of clients don't really work that way. In which case you need to gauge your comfort level with getting them to buy…

> needs to reinforce the idea that there are no fixed cost estimates prior to the completion of the discovery process and sign off by the client on the wireframes and/or software specification document

I've also found that this is the best way to approach estimation. Granted, I'm not a freelancer, but at my current job we were quite dreadful at estimating so we had to figure out a solution.

Basically one of our developers sits down with either a client or QA/BA type person and for 1-2 weeks constructs a lengthy document (that can be later turned into user stories etc.). Based on these, developers can make estimates etc.

Then and only then we present the client with a timeframe. It worked out well for us so far, especially since it also acts as a filter and keeps clients who only have vague ideas out.

Re: How do you communicate if you won't hit an estimate?

#12
You should tell them right away. Be honest and upfront. Sleep easy at night. Work without it hanging over your head. Here’s why:

- The person who you inform may have others within their organization to update. It reflects badly on them too when they find out last minute something won't be on time and can break all of their internal assumptions about their timeline. They have goals too.

- Delays pile up. 2 days here, 4 there, a week on that other thing… before you know it you’re a month behind schedule. It’s much easier to discuss things incrementally than it is to spring the totality of all delays on them when they believe they’re much closer to a completion date than they really are. “But we’re only a week away, how is it going to take another MONTH?”

- Finally, though we’d all like to think otherwise… clients often make some changes during projects. When those changes occur and you’re already on the same timeline, it’s much easier to discuss how the changes the client is requesting are going to affect the delivery date. This helps with their confidence in you, and their capacity for accurate internal debate about project changes/additions and what it will do to the delivery date.

Estimating development time is incredibly difficult; most methods involve some kind of padding which is obviously not an exact science. There are always hidden rabbit holes, unexpected problems and tasks that were completely unaccounted for. If you’re transparent with the client and communicate when there is good news (hey, check out the xyz feature we just finished) as well as bad news like delays, most of them will understand.

Re: How do you communicate if you won't hit an estimate?

#13
post #7

My favorite question: "Is the date slipping, or has it slipped?" What you really need to do is help the person setting the deadlines plan. There are things they're doing that are synchronized with finishing the project, and there are things that simply depend on the project. Marketing may want to publish a blog post. Sales might want to promise a delivery date (or already has). Management might want to claim victory…

I second the "Slip once, and slip hard" tip. Saying "one more day" a second/third time as it is both confusing and annoying to others.

Re: How do you communicate if you won't hit an estimate?

#15
How do you communicate if you won't hit an estimate?

Immediately, with brutal honesty, and positively.

1. Immediately: Never delay communication. Most people will be less upset about the schedule than the fact that they weren't informed.

2. With Brutal Honesty: Explain exactly what's going on. You may end up with a pleasant surprise. "Oh, can we just have xyz then?" or "How can we reduce the scope?" or " How can we help you make this easier." An informed customer/boss is a resource to be used.

3. Positively: Find a way to deliver something by the deadline. "ABC will be delivered as planned on October 31, but we have run into unexpected issues with Feature xyz, so it may not be fully implemented at that time." sounds a whole lot better than, "We won't hit the October 31 deadline." You may even give them options in terms of features & dates. They may not like it, but once they make a decision, they feel more a part of it and you will have bought some goodwill for a while.

Re: How do you communicate if you won't hit an estimate?

#16
How you communicate an underestimate will differ slightly if you are a freelancer/consultant compared to an employee. The primary difference being the level of technical sophistication of the person you are telling.

The basics should be the same with either party, though.

Always open the communication lines as soon as you know you are behind. You don't have to say "My project is definitely going to be late" but rather be honest. If you are behind on a milestone, speak up now.

Don't assume you can just make up the time during the rest of the project. The worst thing you can do when your project is running behind is make it a surprise to everyone on the day of the deadline.

When you speak up early, this is also good for everyone else involved in the project. If you are a freelancer, you can work with your client to make adjustments to the scope to keep things on track or they can delay other parts of the project if it is a coordinated effort of more than just your work.

If you are an employee, your manager or team can assess the situation and make plans to make the project successful. This can include changing scope, getting you help from more senior developers, reassigning parts of the project, etc.

There's no shame in this: the ultimate goal is to be part of successful projects not looking like a hero. Plus you look a lot better if you give everyone a chance to come up with a plan rather than just springing it on them at the last minute that you aren't done with your part.

It is also a lot less stressful when your team is working together to work toward a solution. A lot of the stress from this situation is worry about letting the team down or trying to work too much to make up time.

Be prepared for people to ask why you are behind though. Give honest answers. I hope your answer isn't "I underestimated the project so I thought I had a lot more time to surf HN", though.

This means you need to be completely honest with everyone on your team and speak up early so plans can be made. Again, if you wait until the last minute to say something, after you tried working long hours to make up time (and failed), there isn't much that can be done. The project is already late at that point.

This is when you get some real anger directed at you, because you screwed over the team by pretending there wasn't a problem. You also took away the team's ability to make adjustments to compensate and you know.. work as a team.

So really, how you bring up the fact that you underestimated part (or all) of your project isn't really as important as doing it right away. Be honest with everyone about where you stand.

You demonstrate willingness to do this by actually doing it.

Re: How do you communicate if you won't hit an estimate?

#17
post #15

How do you communicate if you won't hit an estimate? Immediately, with brutal honesty, and positively. 1. Immediately: Never delay communication. Most people will be less upset about the schedule than the fact that they weren't informed. 2. With Brutal Honesty: Explain exactly what's going on. You may end up with a pleasant surprise. "Oh, can we just have xyz then?" or "How can we reduce the scope?" or " How can we h…

whoever reads this, please pin it to your wall or whatever it is you pin to. Couldn't have said it any better.

I would reiterate on the "brutal honesty" part. In some cultures, it is considered rude to say No and a lot of developers make that classic mistake of being hesitant in saying No. Even when they know that a deadline is going to be missed, they find it difficult to communicate. But no matter what you come from, you need to learn how to just say it as soon as possible because ultimately, the client will find out anyway and that will not be good.

Also, most clients are willing to negotiate even though they don't tell you that. Just this other day, I had a client bugging me for a very complex feature thinking I will do it for free. They said and I quote "We cannot go live without this feature and you must do it for us". I then went back with a paid estimate and set the delivery to 4-5 weeks, they immediately changed their mind and said "ok fine I guess we can go live without it for now but lets work on it together". Within a few hours, it went from "no can't go live" to "ok will go live for now"

Re: How do you communicate if you won't hit an estimate?

#18

Estimates are notorious for all developers, not just new ones :) Most people have a hard time realizing they are stressed out -- you are suddenly completely freaking out! If you wait until there is a problem, you've waited too long. Risk shows up way before it manifests. Daily gut checks are an easy way to notice risk. Ask yourself "how is the estimate aligning with the actual work left?" Once you know there is misal…

Estimates are always inaccurate, that's why it's called an estimate.

No battle plan survives first contact with the enemy.

Re: How do you communicate if you won't hit an estimate?

#19
Don't. Never provide an estimate unless asked. Same goes for reestimation.

If anyone asks you why estimate wasn't accurate provide him with list of all the things you've done since estimating related to the task, if he inquires further also unrelated.

If you see anyone that thinks that estimate is a promise or a price, remind him that it's just poorly informed guess, and any decission based on a guess is gambling. And you can't win them all. You can't even win enough to break even.

Estimate is such a misused word. It suggests that some process of estimation was performed and given number is result of that process. One might hope that some math was involved. In reality this word is used for numbers about the future pulled straight from someones ass.

To get an actual estimate of what will be done and for when involves a team, planning poker and few sprints to measure team velocity.

All above is for when you are employed. If you have your own customers pad heavily both the budget and the deadline. Even if you think you are pessimistic in the end turns out that you were still to optimistic, because task mutated.

Re: How do you communicate if you won't hit an estimate?

#20
post #15

How do you communicate if you won't hit an estimate? Immediately, with brutal honesty, and positively. 1. Immediately: Never delay communication. Most people will be less upset about the schedule than the fact that they weren't informed. 2. With Brutal Honesty: Explain exactly what's going on. You may end up with a pleasant surprise. "Oh, can we just have xyz then?" or "How can we reduce the scope?" or " How can we h…

I would also include any secondary effects on projects further up the pipeline, and communicate any necessary changes to keep those projects on schedule.

Those you're speaking with will appreciate your willingness to have that kind of foresight (the effect of which will definitely offset some of the short-term disappointment).

Post reply on HN