In my opinion, the best way is to bell train your chickens.
1) Buy a long range cow bell ($5) from
tsc, and when they are in their coop ring it lightly (in the beginning the loud noise scares the chickens)
2) Only once a chicken comes over, throw down some scratch. Only a little though, a handful. Other chickens should eventually follow.
3) Do this 3-4 times a day for about 1 week, keeping them in their coop.
4) Once you start letting them out of the coop, ring the bell when they are scattered around the yard free-ranging. Once they come over throw down some scratch (it may take some time some time for them to come over.) If they don't come over after a minute or so of ringing the bell, throw down the scratch try again later.
5) Continue with this process until the chickens start to gradually improve. Don't do it too often, as the reward will wear off.
It takes time to do this but it does work. It took my chickens about 3 weeks in the summer. Yes, there were many frustrating moments when they simply would not come, but with practice and patience I was able to successfully train them. I now have the confidence to let them out while I am doing yard work, and ring the bell 20 min later to get them to come back. There is nothing more satisfying to see a flock of chickens run out of the woods at the sound of your cow bell!