I doubt my toddlers whine any more than other 3 year olds, but they have the advantage of being in stereo. They can turn it on and off in a heartbeat too. It's a gift. In fact, they can turn it on and off so fast, that I think it's become a habit more than a sign of frustration. Every time they whine, I stop them, tell them they are whining, and wait until they ask nicely. We do that about a million times a day and all they have learned from it is over-acting. "May I puullleeeaaasse have a snack?"
So, after way too much deliberation about which punishment/reward system I could use and how I might permanently scar their psyches, I opted for this plan:
Every morning they get 5 treasure boxes (color coded, of course). The treasure boxes sit in a row on my window sill where they can see them, but not reach them. If they whine, they lose a box. At the end of the day they get to open whatever remaining treasure boxes they have. Each one contains a super sparkly bead. They get to string the beads on their special necklaces. The next day the boxes are refilled and we start again. When the necklaces are full, the project is done and hopefully the whining will be too.
Day 1 was a little bumpy, and 3 boxes were removed. It made a big impression. By day 3 they both kept all their boxes and I have to say it was one of the least whiny days in a long, long time. Time will tell, but it's a good start.
I'd love to hear what other strategies people have used.