Talent is number 1 to me. You can practice and practice but if you don't have the talent, you can only go so far. Talent could mean physical ability (jumping, flexibility, quickness) or the mental aspect of the game. Coaching is second and they can get you to the pro level.