No wonder the boss expected everything to be delivered in three months. If you're presented with a specific deadline, as Harvey was, your responsibility is not to produce an estimate based on what you think the stakeholder wants to hear. You need to determine honestly just how much of the app's functionality can reasonably be delivered within the timeframe allotted. Estimation is a group activity that doesn't include the project stakeholders. But the boss shouldn't have been involved in the estimating process in the first place.
Estimation is a complex process.
It must be approached objectively, without the involvement of the project stakeholders. Otherwise, you get the variable of client pressure. In doing so, Harvey let himself be pressured into a timeframe that quickly became a straitjacket. Harvey based his estimate on his own abilities, without factoring in the difference between his abilities and those of his troops. This presumption skewed the whole project timeline.