I currently am considered to have a lot of self-discipline - I work from home, I run a business with a 100% flexible schedule, and I have two kids and a dh who always want something. In order to get everything done that needs to be done, I need a lot of self-discipline. But I am NOT by nature self-disciplined. So, how do I do it?
First off, it is a learning process. Self-discipline is a skill, much like cooking, entertaining, financial management. You can read a book and get advice from others, but only by practicing (and failing and trying again) will you actually learn how to do it.
Second, I had to learn a bunch of stuff to allow me the space to become more disciplined.
1. Work to your strengths, and mitigate agains your weaknesses.
In other words, accept who you are. Are you terrible about assessing time? Okay, accept it, but work with it - if you know you are bad about it, and hate being late, esimate how much time you think something will take you and double the time allowed.
Me, I work well in fits and starts. I am not good at doing stuff every day, little by little. There are some days I have a lot of energy to get stuff done - and I am insanely productive when this happens - and other days I am a total sloth. So my systems (household, business, social) takes that into account. I never create processes or filing systems that require me to put stuff in a specific folder or to spend more than 2 seconds on an item - BUT I can find it all again when I do get that spurt of energy to actually sort it out.
2. the key to happiness is expectation management.
In other words, keeping your expectations within perspective can make your outlook a lot less stressful. And keeping other people's expectations reasonable will also make you look a lot better and feel a lot better.
Look at your to do list and give a quick estimate of how much time it would take to do each item marked "Today". Double that time (especially if you are prone to underestimating). Now, is this list reasonable? Drop off everything that is not a top priority - and if you are only doing something because you promised someone else, remember that next time someone asks for something.
I love to bake, but I never have the time needed bake homemade stuff for the kids' school snacks. They get store bought and they like it fine, and I "forgive" myself for not taking the time to bake.
I also look for ways to give to my community (like the church, kids schools, etc) in ways that are easy for ME - no, stuffing envelopes at the school is not an option, but you need a website? Sure! Just give me at least 3 weeks lead time.
3. Look for time savers. Stuff like:
* buy birthday cards and birthday presents in bulk so you always have a stash to grab at the last minute
* figure out what errands are near each other and combine them.
* combine tasks or do 'em in parallel - like right now, I am doing laundry, and doing dishes, and on MDC. S'okay, I run the laundry for 35 minutes, move to dryer, come back, etc. etc.
* Get a family calendar (google calendar is awesome) and block out time on it to get stuff done - I find the sheer act of looking at my week and thinking of all the stuff I gotta do is very useful in realizing "well, crap, I gotta complete that report for Wednesday BUT I am out all day Tuesday volunteering at the kids' school. I guess I'd better do it on Monday." I also block out time for cooking, exercise, socializing, date night, or else it tends to not get done.
4. Prioritize by impact. I find the best way to focus me on what needs to be done is to think about the impact of not doing it. If I don't do laundry tonight, my kids won't have their Tai Kwon Do uniforms for Monday (which means if I only have time for one, I will do the whites first). If I don't finish this proposal on Monday, I may not win the work, which means I will have problems making payroll.
And, if there is little to no impact, why do it?
5. recognize that there are three resources available to everyone, in different quantities: energy, time, and money. And of the three, energy is the most valuable. You can get anything done, given an infinite quantity of any of the three. But no one has an infinite quantity. Me, right now, I have (a little) more money than time or energy, so I outsource a heck of a lot (we have a house cleaner, plus I hire people do do the leaves, lawn, etc). Friends of mine have tons of time so they do more stuff themselves than I do. But whatever the decision about how to get it done, we all have limited resources, and we need to respect that fact.
Hope this helps.