If there's a persistent lack of communication when it should've been known that a deadline is not going to be met or is at least going to be close, set-up a PIP where you lay down a checklist to follow at the start/end of the day of behaviors you expect regarding communication.
If that doesn't help, then yes, firing is the correct response, not permanent micromanagement.
This is all under the generous assumption that your deadlines are actually very important in the business and plans will have to be shifted if they're not met because of a harsh business reality. Otherwise it's your fault for allowing the cost of deadlines to be incurred in a team where all they will do is hinder morale, add bureaucracy and reduce productivity.
As far as most dev teams are concerned, timelines are less important for the business than they are to each other.
People don't like it when they are constantly waiting on person X to finish their part of the work. (That's a good way to know you've really dropped the ball as manager: the other team members start asking YOU what's going on with the other person.)
You say that you want X. X has to be reasonably achievable. You don't tell them how to do X, though.
That introduces another set of problems. You have to do X within Y.
Suddenly you know more of Y than X. So then you turn towards Z and you have to do XY within Z, but Y is more important than X.
Another possibility is that the environment is one in which it’s not okay to admit that schedules are slipping, despite the manager’s insistence to the contrary.
There are many more possibilities of course. Does the employee have any insights into why they failed to take the action they promised?
What do you do when talking leads to them saying "I understand, next time I'll either get it done faster, or let you know when I realize it's gonna slip" but then what actually happens is that it slips without them giving you any updates again after all? Repeatedly? Talking doesn't build trust when the actions don't match the talk.