Speak Spanish not English when you are abroad
One of the biggest temptations for Americans living in a Spanish speaking country, is they tend to speak the English language. The reason Americans fall into this trap is because the whole world wants to speak English. People want to practice their English with Americans. Americans are very friendly, therefore naturally respond with not Spanish but English.
Another reason is Americans lack confidence when it comes to languages. For a nation that has a lot of self confidence American lacks confidence the area of languages. I think the reason is because of Americans believe they can do anything, quickly and with ease. However the languages are something that takes time and patience.
Therefore Americans often get frustrated and compare themselves with people who have been learning a language day in and day out for many years.
Set a linguistic goal
If you are living in a Spanish speaking country like Mexico, try to promise yourself for a week you will only speak Spanish. Make short term goals. Make no exceptions. Even if your girlfriend is a native speaker of Spanish but speaks English perfectly and this is what you are use to, too bad. If you care about her speak her language.
If you are an expat and you walk down the street and are talking English, this might sound interesting to people around you. However, think how much more interesting a foreigner speaking Spanish sounds. There are many guys walking around speaking English, but how often do you see Americans having conversations in the Spanish language out side of class.
If you can do a week and you take a break and when you feel ready try again. Do this until you can expand your thinking and mind and the Spanish language does not become as hard for you. Then even a month is possible.
I think languages is a psychological battle. You need to be strong. If someone wants to speak English to you pretend you do not know English. Look at them strange, then only speak Spanish.
Let me know your experiences with trying to learn or speak Spanish, especially if you have lived outside the US or the UK for example in Latin America.