1. I need a good description. Usually more than one sentence. I need to know exactly what do you want and why. Every piece of information matters. Even small change in requirement can have a big impact on the estimation. Writing a good description takes less than implementation.
  2. I need to know your plans for the future.
  3. I need the complete designs.
  4. I need some time to think about the solution. Sometimes it's not possible to tell you the estimate on the meeting, espescially if the feature is not small. We don't have a single solution for everything. I need to consider all information from you and select the best approach.
  5. Sometimes we need a spike. We are not alfas & omegas, we don't know everything and it's not possible to estimate something when we don't know how it works. If something is new for us, we need to read about this, try to use it and get the knowledge required for estimation.
  6. It's not called estimation for nothing. We are trying to provide approximate time. We try to do our best but it can happen that the estimation can be wrong. Something unexpected can happen. Maybe we missed something, maybe the framework/library/cloud does not provide what we need. There can be many problems. Please don't be surprised. It won't happen for each ticket but it can happen. Of course, it works the other way too. During implementation, something may turn out to be simpler than we thought and it will take less time.
  7. Please do not edit tickets during the implementation. It's really annoying and can change the estimation. Please create a new ticket and let's talk about it first.
  8. It's useful to have at lest one technical person on plannings. I don't mean the sprint planning. It happened to me many times that PO, PM and client were doing a meetings without developers and were creating tickets with the conviction that everything is possible and will take little time. If you want to plan a new feature we can tell you what's possible, what's easier and what will take less time. We usually don't like meetings, we have more interesting work to do but it can be useful to know what do you want from the beginning. We can join to the meeting, do not talk a lot, listen, answer possible questions and try to provide better solutions.
  9. The entire team should estimate the tickets. It happened to me many times that everyone got own tickets and were doing the estimation alone. It's wrong. Web developer or iOS/Android developer can't estimate something without the knowledge about the API. They need an information from API person. QA can't estimate the ticket without knowledge about the solution which will be implemented. The entire team should meet, talk and try to find the best solution. If I know what you need, I can provide a better solution.