The question :
How do I deal with unrealistic deadlines on a software project? How do I make sure I don't miss any deadlines when the deadlines themselves are unrealistic? What do I tell my manager when I do miss a deadline? What did you do when faced with unrealistic deadlines that were non-negotiable?
The Background :
I am working on a software project since the past 6 months. I am the only developer on the project. There is a module in the project that was developed by a very senior developer who was moved to another project 6 months back when I joined the project. While I have taken over the project since then, I have not got a chance to look at the module developed by the senior developer. There is a new framework developed by our company. We have been asked to use this framework in our projects. Using this framework in the project I am working on requires getting rid of the module written by the senior developer and refactoring other modules that would be impacted by this change.
The problem : The senior development manager for my project has come up with unrealistic estimates for this activity. I have raised a concern with him but it has backfired on me. Here's an example of the kind of conversations I have had with him :
Me : Can we increase the number of days for sub task 1 to 5 days?
Manager : Why do you think this sub task will take more time? I thought you knew the code base.
Me : I know our code base. I don't know the framework code base. I can't give you an exact estimate without looking at the framework code. What I do know at the moment is that this sub task cannot be done in 2 days. We will need at least 5 days for it.
I pointed out a few more sub tasks that I thought would take more time. Eventually, this is how our conversation ended :
Manager : I cant change the estimates now. You have to manage this one way or the other. I am starting to feel that you are the wrong person to work on this project.
I have been given 1 month to complete this activity and I am stuck with some unrealistic estimates. Having worked in the industry for a couple of years, I know that I will have to work 12 hours a day and probably on weekends too just to meet the deadline for each sub task.
Edit: This question is not a duplicate of this
There is a difference between being the only developer on a project vs having 5 developers on a project. The psychological aspects associated with being the only developer on a project are different. For instance, 5 developers can team up against one manager if push comes to shove but a single developer stands the risk of being insulted or humiliated in front of everyone if he opposes the managers views. 5 developers can support each other in tough times but a single developer has to bear all the load himself. It's going to be my word against my managers but that won't be the case if I had more developers who were working with me and felt that the deadlines are unrealistic. The strategy for dealing with this situation alone is going to be significantly different form the strategy for dealing with it as a team (As correctly pointed out by Wesley in the comments to his answer)