I usually write out what I want to say and read it aloud to myself twice a day for 20 minutes at a time, I also record myself saying it and listen to it and I also get family and friends to test me, by doing this for 3weeks I got myself an A !! :)
I have used different ways to learn Spanish, and had also joined an institute specializing in Spanish language training, but it was of no use. Now I am learning Spanish with the help of online software and I am actually finding a lot of improvement in the way I speak Spanish. It’s been of great help. You should try it once.