Minecraft wiki entry for Fish_farming, associated text: Time: A time between 5-30 seconds is chosen each time you cast a line. This can be decreased with Lure I, II, and III, with each level of Lure decreasing the wait time by 5 seconds. If the end time is less then 0 seconds, a new time is picked.
Enchantments: Lure decreases wait time. It decreases the amount of time needed to get a catch. Luck of the sea brings in more treasure. See Fishing for more info.
Open Water: While you can technically fish in a single water block, you cannot catch items from the "treasure" list unless you're fishing in "open water": At least 2 blocks of water in all directions around the bobber (that is, a 5x5 space centered on the bobber), and 2 blocks deep, the whole area open to the sky. Water plants and suchlike count as "water" for this purpose, and lily pads atop the water are okay.
Safety: If you have a decent territory fenced off and lit up, you can choose or make large pool there. Early on, it may be easier to make a safe "fishing stand" over an ocean or river, where you can fish but monsters can't reach you or shoot at you. Don't forget a roof to fend off phantoms!