Tim Meyer's Page

My thoughts on the World

Page 3 of 3

Christmas Cards and TDD

I had something happened this weekend that made me realize how much of a geek I am.  I always knew this down in my heart, but this really proved it.  But first, some background.

My wife owns a small business.   Although I have a fulltime job as an agile coach, I work some nights and weekends helping her with her business.  Anyone who owns a small business will attest that the work is never done, they just decide to be done for the day.

Over the weekend, I was helping with the year-end Christmas card mailings.  To accomplish this, I needed to downloading the name and addresses of all the clients that visited either location over the last 12 months, cleaning the list, and printing out mailing labels. Since we planned to mail out around 2200 postcards, I planned to use Excel to clean up the addresses. (No, using Excel is not the geeky part, that is still coming).

Once I got the list downloaded, I started to append and clean the various addresses fields.  My goal was to write one excel equation that would append the various address fields correctly regardless of the data within the field.  Looking the data, I quickly realized I had four different cases. I started by writing an equation that would work with the happy case.  Before moving to the next case, I verified that the equation was returning what I expected.  I then expanded the equation to handle the second case and verified the equation worked with both case one and case two.

That is when I had the epiphany, I was using Test Driven Development (TDD) to clean up the mailing list.  I wasn’t using all the rigor that a full development team would use, but I was using simplified TDD.  I started with an understanding of how to pass each test (correctly format the address) and I wrote just enough to pass the test.  I worked from the easy case and proceeded through the other cases, verifying that the equation formatted the address correctly.

As humans, it can seem natural to overcomplicate things.  Trying to implement practice like TDD can seem overwhelming.  Reading how other people are implementing these practices can discourage starting out.  Just remember, what you are reading is not their first iteration or there first try.   Don’t let perfect get in the way of good.  Give that change a try.  My example of using TDD is far from the gold standard of TDD, but it accomplished the goal, to produce a product (mailing list).

As we reach the end of 2017, what can you do to try something new?  What can you do to help your team or your family try something new?  It doesn’t need to be the gold standard.  It can be just good enough.  The key is giving it a try.

 

Image from http://itssimpleholidays.files.wordpress.com/2010/11/christmas-card-table-runner-5.jpg

We have all found ourselves in a situation where we are either switching jobs or moving to a new team. I recently provided my two-week notice so that I could advance to an agile coach position at a different company. Along with the excitement of the new job comes the anxiety of working with new teams members and an unfamiliar company culture. Questions like “Will I fit in?” or “Is this a good change?” start swimming through my mind. To make this more difficult, I’m walking into a position where people assume that I am the expert.

Life changes like this are a great time to reflect on your attitude to change and others. What are the critical things that should be kept in mind when working with new people? What behaviors are the most important? In the brief time I had between positions, I pondered my approach to working with new people or starting with a new team. Here is my list of the top four most important ideas.

Assume the Best – Give people the benefit of the doubt. Beleive that everyone does the best they can within the time allowed using the information they had at the time. It’s easy to look back with hindsight to question the what was done, but don’t assume that poor decisions are intentional. (I’m sure you don’t want people to look at all your errors and believe ill intent.)

Be Humble – You DON’T know everything, period. We all can learn something from others, even if you are considered an expert. Others will have a different perspective on a situation and see an issue in an entirely different light. Spend some time trying to understand their perspective assuming you missed something. If you still have a difference of opinion, Assume the Best.

Be Kind – Say thank you. A smile and a kind word can help alleviate a stressful situation. Laugh. Be respectful to everyone, from the CEO down to the janitor cleaning the bathrooms. Regardless of how people treat you, treat them better.

Be Helpful – Find a way to help your new team as soon as possible. What you do might be small at first, but it builds relationships and fosters a team mentality. Let people know right away that you are dependable. Not sure what you can do to help, ask!

These four ideas are just the tip of the iceberg. What have I forgotten? What items would you include?

Image from https://static.pexels.com/photos/34092/pexels-photo.jpg

Newer posts »

© 2024 Tim Meyer’s Page

Theme by Anders NorenUp ↑