In our organization, we mainly use Use Case estimation for new use cases which is very clear and simple. However we sometimes deal with tasks that are not related to Use Cases or are UI related or sometimes we deal with maintenance tasks in legacy application that we do not have written Use Cases of. So we developed an in-house method using complexity points for these tasks. It simply categorizes tasks into scale from very simple to very complex according to a guideline and give every scale a size. We calculated a conversion coefficient to convert between UCP (use Case Points) and CP (complexity points) in case the project used both methods. In our organization the PM usually have technical background to do the estimation. S/he may consult the team if needed.
I want to know more about other people experience.
What size estimation method(s) do you use/recommend (Use Case Point, Function Point, Class Point, ...) ? Or do you estimate effort directly? Who does the estimation in your project (PM, Team, Estimation committee like in Delphi method, ...)?
Most importantly please tell us about a situation where your method failed and why do you think this happened.