If you want to improve your spoken English you should speak what you know already it doesn't matter if your English is poor or broken. Just put into use often what you have already learned. It is nothing to be a shame of. Speak what you can, do mistake and learn from them. You can often speak in English using whatever you have learned already to gain confidence and put away your fears.
Do not think about what others might think about you when you are speaking. Let them think whatever they want. You just keep talking what you know. Let them laugh at you do not step back keep talking because nobody cares about you out there, no one is willing to carry you to success and only you can help your self and only you can bring success to your life so if you think that others might laugh at you when you speak and make your self nervous you are not helping yourself much really. If someone thinks that your accent sounds funny dont worry and just keep talking. Show them that you can improve, show them what you know, one day you will come to a certain level that your English language skills are so good that people around you will acknowledge your efforts your courage and the people who have laughed at you will not be able to laugh at you anymore.
Another fact is that many people are afraid to speak in English because they think that others will not understand what they say. Well that is not a reason not to talk. If others can not understand what you are saying they will ask from you again and again and will ask you to explain it a bit more so you will get another chance to express and you must try to explain it again as much as you can. If they still can not understand what you trying to say they will help you by asking questions from you regarding things that they dont understand in your speech so at this moment you can answer them accordingly so that it will make things more clear to them.
You can do the same thing when you can not understand the other person that you are speaking to. If you are speaking with a native English speaker you probably could not catch up with their speed or accent. So in this case you can politely ask from that person to speak in a low speed and help you out with the accent. For example if the person is speaking too fast you can say " could you slow down please I cant catch up with your speed? " if you have a problem with their accent you can pardon and ask what is that word you said? or what does that mean? Just pay attention to the other person, do not panic if you can not understand, take your time and ask him/her to help you out to make things clear.
If you find hard to express your thoughts, your feelings and do not know how to describe things it could be the reason that your vocabulary is very low. Vocabulary means the number of English words you know and understand. The more words you know the more you can express yourself and understand things other people say. The less words you know the less you can express and understand. So it is a must to know lot of words. Improve your vocabulary and make yourself easy to express and understand. Also you should learn to speak grammatically correct so that you can convey your message to the listener very clearly without any confusions.
If your friends, family members can speak English try to speak with them in English all the time. If you can not find anyone who knows English in your area you can find someone through Internet. Try to spend at least 1 hour in the Internet to chat with other people in English. Its better if you both can use a microphone to communicate through voice. It is not a must to speak with a native English speaker to improve your English. First speak with someone in your level and gain confidence. After practicing and gaining confidence you can try to speak with a native speaker if you really want.
Remember there is no easy way or short cut to success you have to work hard and prepare to face obstacles to reach success. If you dont talk and often put into use what you have already learned you will not be able to be fluent in your speech so come on lets keep talking.
If you have any quastions write to me on damith1 AT hotmail DOT com