There is no simple or easy solution to getting dwarves to work. Dwarves should be lazy enough to frustrate a player. A few minor things though that are currently just plain
too dumb...even for dwarves.
I have 8 perfectly agile dwarves and they make this stand out quite nicely. With nothing much else going on other then harvesting for my farm they will harvest, stockpile, and then walk away with no job. There are 25 other harvest jobs pending though. My perfectly agile dwarves run off until the right tick causes the jobs to look for available dwarves. Then they have to run back. A huge boost in efficiency could be gained for players by having the dwarf check for another job immediately on finishing one. Make them take breaks more often if necessary, but that little back and forth eats huge amounts now.
Very few thing are worse right now then a massive harvest. In my most recent harvest I was pushing my plant stockpiles up by about 200 each item using simultaneous farming and gathering. I had a problem though, my stockpiles were approaching capacity. Even with nothing to do but harvest, gather, and replant; my dwarves couldn't keep up. The problem was simple, only one barrel would ever be brought in for a stockpile at a time. Furthermore, bringing that barrel in seemed to be the last thing any of the dwarves wanted to do. Small fix in logic. Dwarf says, "Oh shit! We need more barrelS." Yes, think stockpile full. How many barrelSSS need to be brought in to put all of that stuff away, add 1 and that is how many bring the barrel jobs to make. If possible make that number else make the most that the stockpile allows. I literally was disgusted watching things rot while many dwarves watched 1 bring in a single fresh barrel before anything more could be put away. Same goes for bins. When there are plenty waiting, assign them all to be brought at once.
Another really irritating one I happened to watch recently. I had recently moved 1 category of item out of a stockpile and into another. As it happened, most of the bins got left behind in the old stockpile. As items were produced for that older pile that still went into bins those bins became reassigned from free to the pile. This of course meant a dwarf had to move them from the spot they were sitting at to the first open spot from the top left corner of the pile. They are already sitting in the pile! One IF is all it takes to figure that out, and look that makes it so they can be immediately stored into.
Again just a few thing that falls into the category of "even a sober dwarf should be able to figure this out." Actually I think I need to make that my signature on another forum.