There could easily be good reasons why a 2 point story took three weeks.
If it was because you were interrupted and given other priorities, that is totally valid.
If it was an estimation failure, that really needs to be looked at and learned from.
I find that this is typically a problem with management and/or process, not the engineer. We as an industry typically do not respect the time it takes for engineers to produce an accurate estimate. This time itself needs to be treated as a first-class concept and time needs to be allocated to it which, in practical terms, often means it needs its own task/card/story/ticket/whatever in the framework of one's choice.
There are nearly always unknowns (typically some kind of externality or legacy code) to explore before we really know how much time something will take.
If it was an estimation failure, that really needs to be looked at and learned from.
I find that this is typically a problem with management and/or process, not the engineer. We as an industry typically do not respect the time it takes for engineers to produce an accurate estimate. This time itself needs to be treated as a first-class concept and time needs to be allocated to it which, in practical terms, often means it needs its own task/card/story/ticket/whatever in the framework of one's choice.
There are nearly always unknowns (typically some kind of externality or legacy code) to explore before we really know how much time something will take.