1. Get your nose out of the books. Reading can help build your vocabulary but reading does not help very much with speaking. Instead, listen to native English speakers and read along with English subtitles.
2. Stop making excuses. Many of students complain that their English is not fluent because they are not in a native speaking environment. It is true that moving to an English speaking country can help, it is certainly not necessary. Stop wasting your time thinking and complaining about your current English level.
3. Learn English slang, phrasal verbs, and idioms. Most of real spoken English is quite simple. The key to learning to speak more fluently is to focus on your weaknesses. Native English dialogs are the best for it.
Make sure you have a PDF transcript so you know exactly what the speakers are saying.
4. Practice speaking to yourself. I know it sounds strange but it is a good idea. Record your voice and listen to it. You can make improvements in your accent after a few times.
5. Study everyday for between 15 and 40 minutes. If you study too long, your brain will forget a lot. Make sure you study English every day and do not make excuses. It does not matter how busy you are.
Everyone has at least 15 extra minutes each day. You can now learn on your MP3 player while driving or taking the bus anyway. You can even study while going for walk or at the gym or anywhere.
If you follow these steps we guarantee you will be speaking fluent English in no time. Insha Allah.