Home » TDD » Changing Habits

Changing Habits

hand-039This past week I’ve been thinking a lot about changing habits and how much of our lives habits influence.

To be clear, I would define a habit as something we have learned to do as an automated response to some trigger.  Something we no longer think about doing, but we just do because … well … because we’ve always done it that way.

I have some bad habits:

  • Eat something sweet when I’m tired or bored.
  • How I react to particular situations
  • … others I’m not so willing to share publicly …  🙂

And some good habits:

  • Wake up before 4:40am
  • Go to bed at 9:00pm
  • Write a blog post once a week
  • Watch PluralSight videos for 30 minutes every day.

And some habits I’m trying to form:

  • Exercise every day
  • Take my vitamins
  • Work on my book for 30 minutes each day

How I Deal With Habits

Now, I’ve learned that the best way to conquer bad habits is to replace them with good habits.  So, for example, since I believe that fat is better than sugar, I might decide to eat cheese rather than cookies when I’m bored.

I’ve also learned that if I can set an alarm, I’m more likely to do something.  In fact, my life is run from my calendar on my phone.  If you want me to do something for you, the best way to make sure I do it is to make sure I’ve scheduled it.  I’m kind of obsessive about keeping appointments, so this works well for me.

The other thing that works well for me is doing something at the same time every day, or every week.  So, I write blog post, pay bills, do household chores and prepare for a Bible study that I run on Saturdays.  I watch PluralSight videos and work on the book that I’m writing first thing every morning.  I take my vitamins at the same time each day.

It is the routine that helps maintain the habit.

Start Small

I often end up coaching people who want to start some new habit.  Maybe you’ve been reading my blog and you’ve been challenged to start implementing Test Driven Development.  What I find is that people want to start at the end.  So, let’s say you want to run 3 miles every day.  If you start out the first day and run three miles, I can pretty much assure you that you’ll give up right away.  No, what we need to do is something much smaller.

I started exercising a couple of years ago, I realized that if exercising required me to go to a gym, I was never even going to get started.  The question I often ask people is, “What CAN you do?”  So I asked myself that question.  The answer came back, “I can do one exercise every hour and a half during the day.

Then I started working outside of the house and the change in routine slowly eroded my ability to exercise.  So once again, I asked myself, “what CAN you do?”  I can do one exercise every morning.  Once I’ve established that habit, I plan on increasing to two exercises.

So, if you want to start with TDD, probably the best way to start is to write a test.  One test.  Maybe commit to writing one test a day.  Think about it, if you are afraid that TDD won’t be accepted in your organization, who’s going to complain about one little test?  Or maybe better, just commit to a half hour of writing tests every day.  This allows you to get started without taking the huge time commitment learning TDD properly would take, which is probably what is keeping you from starting in the first place.  Start today.  Start now.  In a year, see if it hasn’t become how you develop code.

What I’m still working on are ways that I react to situations.  These are a bit trickier to change because most of my responses are what people would called “learned responses.”  What I need to figure out is, 1) where did I learn these responses, 2) why did I learn them and 3) do the responses still make sense?

Better Than Before

A couple of resources caught my eye this week that I think you might be interested in if you are interested in killing bad habits or starting a new one.

The first is a new book by Gretchen Rubin called, Better Than Before: Mastering the Habits of Our Everyday Liveswhich will be out by the time this post goes live (I write these blog post well in advance of when you actually see them).

What I’ve found particularly interesting is that Gretchen has developed a framework for how to determine how people respond to expectations, and you can take a test to find out how you respond to expectations.

  • Upholders: respond readily to outer and inner expectations.
  • Questioners: question all expectations; they’ll meet an expectation if they think it makes sense; essentially, they make all expectations into inner expectations
  • Obligers: meet outer expectations, but struggle to meet expectations they impose on themselves
  • Rebels: resist all expectations

Gretchen says, if you don’t want to take the test, you are probably a rebel, so don’t worry about it ;).

Anyhow, I’m looking forward to reading the book when it comes out.

I came out as an upholder, which is no real big surprise.  There are areas of my life that are HEAVILY influenced by what I think people expect of me, and I tend to question new expectations that are imposed on me.

And yet, I still have trouble trying to implement new habits in my life.

Coach ME

This brings me to my second resource.  I’ve known about this one for a while, but I’ve just recently really started using it.

Coach.me is an app for iPhone and Android that allows you to use the power of community and accountability to help you establish your habits and achieve your goals.  If you want, or need, there is also  coaching that you can pay for if you want or need a little extra help.

Right now, I’m just using the alarm and check-in feature.  Somehow being able to open the app and check the box that says I finished a particular activity is enough encouragement for me to not blow it off.  It probably helps that if I don’t check it off, I’ll forever have a hole in my calendar forever saying, “Yo!  you missed a day.”

At some point, I may actually use one of the coaches.  I keep looking, but I haven’t found anyone that looks like someone I can relate to.  Or, maybe I just need to grow out of my 3 year old self that wants to do everything on my own.  That’s another area I’m working on.

Other Habit Changing Resources

 

Other post in TDD

Related Post

  • Don’t Comment Out That TestDon’t Comment Out That Test First, at the suggestion of one of my friends who now works at SmartBear, I’m going to experiment with creating audio of my post going forward.  Obviously this will lend itself to some […]
  • What Not To TestWhat Not To Test Many people believe that implementing Test Driven Development means that you need to have a test for every line of code in your system.  When  they start thinking about TDD in […]
  • YAGNI – You Aren’t Going To Need ItYAGNI – You Aren’t Going To Need It One of the design principles in software development is to only write what you need today.  This has taken on the moniker of YAGNI (You Aren’t Going To Need It). The question is, […]
  • 100% Code Coverage Possible?100% Code Coverage Possible? In response to my post “Excuses For Not Testing” Kris K asked:There is also another side of Unit Tests. Some companies are so fixated they aspire to have 100% Unit Tests coverage and […]
  • TDD Gamification – Turning Test Driven Development into a GameTDD Gamification – Turning Test Driven Development into a Game When I was in college, there were some guys I hung out with who played this game called “Questions” which they got from some book.  Actually, it was a play.Anyhow, the basic rules […]

About Dave Bush

Dave Bush is a Full Stack ASP.NET developer focusing on ASP.NET, C#, Node.js, JavaScript, HTML, CSS, BootStrap, and Angular.JS.Does your team need additional help in any of the above? Contact Dave today.

  • Prashant

    I agree. The best way to change bad habits is to replace them with new habits.