Here are my thoughts regarding this,
Immediate Fix
- Find the root cause - why the developer is estimating wrong?
- Try to fix the root cause i.e. collaborate and train the developer on how to estimate correctly. [Use the other answers like 4x, 2x estimations as needed]
Long Term Fix
The idea of creating a self-organizing team.
Usually in agile, Developers are expected to work with peers [Peer Programming] i.e. One person being the reviewer or observer i.e. keeps an eye over how the project is shaping up, Points to the right direction if deviating from the track, etc. The other being the actual doer. Usually, they swap the roles as the energy levels are available.
That is how one would create a self-organizing team. With one being the observer and the rest of the team being the doer. While the roles are altered with the goal of energy optimization.
This sounds too costly so people tend to avoid it. But you have to find a way of integrating this practice into your teams.
A suggested way might be, utilizing the observer to review the code or work. perform concurrently other tasks of development activities etc.
In your case, you have to take responsibility for being the observer if you know the technicalities of the job at hand. Else you should consider hiring an extra person in the future or set up the team in such a way that peer programming is possible.
Why can't one be the observer and doer at the same time?
Please try it, I wish you all the very luck.
Remember it is not just about time, cost, scope, and delivering the product.
It is also about the human being at your hand, i.e.
Emotion management - Enthusiasm, Fun, Cheering, sharing pain, etc. For a human being that is what alleviates the burdens of work and lets him pursue anything.
Energy management - In terms of how much time can you be aware and conscious of the work at hand.
Knowledge management - Its obvious, When, 2 or more people sit together and try to learn or figure out a solution, they tend to learn or figure out much faster than a single person.
If one has a companion force, Then, one can leverage all the above issues easily with the other person to go very fast and far.
The job is not about making sure people do their job, it is to maintain that environment and train the people to be good companions for each other. So that they naturally enjoy and become their own executing force in long run. Usually this is one of the role of scrum master in scrum.
As far as I see it, That is how a self-organizing teams are made. Which I feel is missing in your case.