This might have been suggested a few times before. But I'm thinking about a few way to improve farming so its' not TOO easy while not being severely nerfed.
Irrigation:
I have a few idea about irrigations that would make more sense then the current flooding system.
1. Farm plot should require frequent irrigation. Each square of farm plot should keep track a certain numbers of "irrigation points". While a crop is being grown on it, the crop will take irrigation points in order to grow (if it cannot do so after a couple of consecutive times, the crop dies). Irrigation points can also be lost through simple evaporation (a certain points lost every day). When the farm plot runs nearly dry, there can be several ways of refilling the farm plot.
a. Farm plot issues an order for dwarf to grab a bucket, fill it with water, and dump it on the plot. (Good)
b. Farm plot "grabs" a unit of water from a channel within range. (OK).
c. Farm plot requires small flooding to refill (OK as long as the flooding won't kill the plants).
(a) is a good idea since it gives dwarf something to do and make it a more labor intensive process to grow food (can adjust the number of irrigation points being refilled per bucket, higher = less intensive).
(b) still requires you to setup irrigation system, but with a bonus of not needing much in term dwarf labors.
(c) might not be preferable, since it involve flooding the entire farm and potentially killing plants (unless its setup such that high pressure waterflow won't kill crops and only prolonged submerssion underwater can kill it). Of course, to use this mode would require the farm plot to retain a high level of irrigation point so you won't have to re-irrigate the plot frequently.
Fertilization:
Similar idea as above, each farm plot square will have a certain number of fertility points, depleted over time as each crop is being grown (some crop uses it more then other). The final crop amount should depend on how much fertility points it can obtain during its growth. The amount of fertility point each crop can receive should also depend on how much there are (so a highly fertile land gets better crop). The farm plot can be set to attempt to maintain a certain level of fertility by requesting dwarves to put fertilizer on it.