How to make an estimate - ideal? or reality?
All deadlines are based on my estimates. It's not that I can't meet them. And since the client communication is out of my hands I cannot inform them that they aren't met
When making an estimate, don't estimate based on when it should be able to be finished (if you can work on it 100%), estimate based on when it will likely be finished.
It sounds like you are consistently having delays outside your control, for this project. If this is consistently happening - make them part of your estimates!
If your task will take you a full week, but you normally only get 1 day to work on it, then your estimate isn't a full week - it should be at least five weeks. Perhaps more if it's a low priority.
In other words: don't make ideal estimates, make realistic estimates.
A deadline which is achievable if someone is dedicated 100% but not if they are only 50% is not realistic if that person will only be dedicated 50%.
Also, a related topic, don't estimate based on 40 hours of work. Estimate based on less, perhaps 6 hours a day as you only will have that much actual work time. NEVER assume 100% capacity when creating estimates.
Whose decision is it, anyways?
It sounds like you are the individual contributor and there are a lot of other things affecting this.
There are all sorts of... games that happen with this sort of thing. A few possibilities:
- Your client isn't paying your company.
- Your company and the client are negotiating some contract.
- Your company has higher priority clients (for reasons you might not know)
- Your company may be dropping that client
- Your management may be involved in political games
etc. There are many potential reasons this might be happening. None of them are reasons you want to be actively fighting.
How to approach this?
What can I do to make sure my reputation/career does not suffer from this course of actions?
Well, first, like I said - make your deadlines include the time you won't be able to work. If you don't know how much time you can dedicate to that project - ask! Ask your management how many hours a week you should dedicate to this project over the next X weeks/months. Then create estimates.
Second, when your client asks you about this, make sure you direct questions like this to your management. It sounds like you are doing so already.
Third, talk with your management about how they communicate deadlines. The time you look bad is if your client is blaming YOU for the delay. If your management says, something like, "iamaguesttoday was pulled away due to other priorities, we need to reevaluate this timeline, sorry!" that's fine.
Can you manage your own priorities?
Last, I want to talk about this. Normally as an individual contributor it's the job of your management to approve your work priorities. With good communication you can influence this significantly in some roles, but ultimately your management sets/approves priorities.
If you disagree with them, feel free to tell them, but if they still disagree - work on the priorities they have.
Your potential fallout from getting the reputation of being an employee who ignores priorities from management is likely far worse than missing a few deadlines.