I've been part of a book discussion group around the book The Gandhian Iceberg by Chris Moore-Backman and we've been talking a lot about how to create social change. My housemate and I (he's also part of the discussion group) have also had several discussions on this.
Part of what I realize is that certain things don't help create social change. Violent acts (and there seem to have been a lot lately) turn off more people than they encourage. And, you can't control people or make them do things (unless you are in power and then they do them under duress and wait for an opportunity to get out from under your control). And finally, pushing people usually doesn't work either. Generally when you push people, they push back
So I have been thinking lately about what I think does work. Here's my most current list:
Listen to everyone
Build relationships
Agitate (use direct action)
Organize (communities, movements, actions)
Educate (get the word out)
Model the change we want to see
Inspire others
Network for mutual aid and support and societal creation
Always be creative
Form the structures of the new society in the shell of the old
Negotiate (creatively)
Repeat (again and again and again)
Persist