I'm working with Brodie on leash walking too. Whenever he pulls, I stop and wait for him to notice. I require him to come back to my side and sit/stay until I tell him to "walk". Sometimes it takes a couple of minutes for him to let the leash go slack and turn back towards me. For awhile, don't expect to have fun on your walks. You have to lay the groundwork so that it will be fun in the future.
You can also try reversing or changing directions everytime he pulls, saying "let's go" right before you do it, so he knows it's coming. This causes him to have to pay better attention to you. Changing directions frequently prevents them from building up steam, so to speak. Again, you won't get very far on your walks at first, but it's worth it in the end.
I did both of these things in the yard before I hit the streets, but with the distractions of traffic, bikes, kids, people, other dogs, it's an overload on their senses. Sometimes, I'll have Brodie just sit/stay and watch traffic go by, until he gets bored and realizes it's no big deal. I did the same thing with people walking by one day (watching from afar).
As others have said, it takes a lot of patience. I wish I could snap my fingers and have Brodie completely trained!
I use a choke chain on Brodie only for walks. I know some on this forum don't like them, but it's working for me. The sound of it tightening reminds Brodie that he's starting to pull. Brodie has shown steady improvement over the past couple of weeks, and he's getting better daily.