Double dividending is a cunning way of combining your activities to achieve multiple goals. Killing two birds with one stone, you know. It's a good way of being lazy*. My research, teaching and public engagement goals are so intertwined that I sometimes get away with triple dividending. The time I save I wisely spend eating bon-bons.
In the last few weeks I have reached new heights of double dividending in teaching. At one class recently I had three additional students sitting it for three quite different purposes: one because she was going to teach the same material (but simplified) to high school student, another because he wanted to revise and extend the lesson structure for a masterclass in software engineering, and the third because she needed to learn some of the practical skills for her PhD. The student who is working with high school students is going to help me plan a public engagement workshop for kids, with the help of a class member. The school she works with has taken part in various research studies of mine. I also have a group of 5th year students who have made the most fabulous news feed visualiser on the Kinect demoing their work for a UCAS applicant visit day. Another student who is helping on that day is doing it for part of the Computing in the Classroom module which I teach.
Lazy as it may be, you do have to be sharp during the teaching to make sure everyone is learning what they ought from the experience, and you also have to be careful to plan the logistics. But it has a high pay-off, and not just for me. The students learn a lot from each other. They learn about teaching from watching me teach, in a kind of apprenticeship model. So I can indirectly convince more people that they actually do want to learn computer science.
*I mean lazy in the same sense as Jim Smith http://www.lazyteacher.co.uk/