The first consideration is freshness. The fresher your eggs are the firmer the will be. AA eggs are firmer than A grade eggs for example.
Next you want to use a non-reactive pan ( never use aluminum ) Stainless steel is ideal. Bring your water up to a boil with a small amount of vinegar.
Reduce heat, you want to hold the water temperature between 160 and 180 degrees. The water will have sort of a shimmering look with perhaps a few bubbles.
Swirl the water with a spoon creating a tornado like vortex and quickly add your eggs one at a time. The swirling water helps keep them from sticking to the bottom of the pan and also helps them form a nice shape.
Poach roughly 3-5 minutes, it really depends how hard or soft you like your eggs and what temperature your water is at.