I have successfully used the following strategy. It is not my creation alone but I have based it on some popular work in psychology and management.
When confronted with a choice, our brain chooses the path which requires the least effort for the brain. Example: If your goal is to save money and you decide not to order any pizza home. But one day you feel very hungry. Now you have to either order a pizza or cook something for yourself. Cooking involves significant work. Your brain needs to decide what to cook, control your organs to actually get it cooked and so on. So your brain presents ordering pizza as a natural choice and starts providing the rationale to ensure you make that decision. (Such as: this is the last time I will order this pizza or I have saved enough for this month to afford a pizza and so on).
So the first trick is: Build cognitive bias such that your goal is always the path of least effort for your brain. In case of money decide that each time you bank balance exceeds X you will hand over this money to your parents or spouse to be kept safe or you will buy some long term investment certificate. So next time when you find yourself in a situation where you really want to spend money you have either a choice of not to spend at all or go and ask your money back. Obviously not spending becomes a much easier choice for your brain. This is how you need to guard your brain.
Secondly: Quantify your goal and track the progress by putting a number next to it.
This is hard only if your goal is more qualitative in nature such as “to become good at writing”. But most goals can be quantified. Every week, month you must check the quantity of your progress. So mark your calendar and do it religiously.
I am a big fan of batman. Batman always uses his enemies’ strengths and weaknesses against them. Similarly you can use your weaknesses and strengths to achieve this goal. My weakness for example is that I cannot break promises. I will go to any extent just to keep a promise even when the other person thinks of it as a trivial matter. So, I somehow promise those near to me that I will achieve this goal and brag about it and eventually I manage to get it done.
Feelings don’t count
Most of the self help books out there tell you that if you want something badly you will end up getting it. This is simply not true. Being unsure of self is always better. You should always look at negative things in the path of your progress while ignoring the positive aspects.
Success should be made into a habit. You don’t have to do everything optimally to achieve your goals rather you need to do it religiously. When I set a goal to myself that I will learn swimming, I signed up to visit the pool 4 times a week. However after visiting 4 days I use to take a break of three days which use to break my habit and I use to find excuses not to go to the pool. After a month, I had visited the pool only 8 times and had not learned swimming. Immediately I decided that I will go to the pool every day. It was tough but once it became a habit I use to skip parties and family functions for the sake of swimming. Today I am a very good swimmer.
Understand your limitations.
Each person is different. In my case I realized that I like to work on multiple things at the same time but unable to take a single thing to its end. You might be a different type of individual. You need to understand yourself better in order to understand your limitations and work against them.
Have a totem; an imaginary source of inspiration; A Utopian concept/figure that should act as a source of inspiration. I am a Hindu and hence I have different gods for every imaginable God. We have a god of sex and a god of bodybuilding, a God of education and a Goddess of money. So it is simple for me to gain spiritual sustenance.