Don’t Repeat Yourself

November 2, 2005 · Print This Article

In software engineering there is a principle known as DRY — Don’t Repeat Yourself.  The idea is this: If you are going to solve a problem, do it only once.  Don’t solve the same problem again and again in different parts of your code.  In software this means that you take your solutions to these common problems and code them in a way so they can be used from where ever necessary.

The DRY principle can also apply to your personal work habits as well.  Over the course of a week, a good portion of our time can be taken up by unnecessary tasks or overly complicated processes.  Proactively looking for areas where we are "repeating" ourselves can unearth these areas where we can improve.

Here is an example of what I’m talking about:  About 5 years ago, I was
at a company that paid salaries every two weeks.  Invariably I ended up
with the checks in my vehicle because I was usually too busy to go by
the bank or to mail them in.  It was a small thing, but I wasted a
tremendous amount of time worrying about getting the checks to the bank
(which I consistently forgot to do).  Finally I headed to the payroll
department with a voided check and setup direct deposit.  The setup
took less time than one trip to the bank and it fixed the problem
permanently.  I never had to worry about depositing my check again.  I
had one less thing to worry about and one less thing to take up time in
my week.

Another example: Every morning I check the same 10 websites.  Some are
news related, others are dashboard reports showing how my business
interests have fared over the past 24 hours.  The process of opening
each site individually, isn’t a huge time investment but it is
something that I repeat every day.  By batching all of these pages
together in a single short cut that I can open with one click, I’m
saving several minutes each day.

If you want to repeat yourself less often, here are a few tips to get started:

  • Actively recognize the things that you do on a regular basis and
    constantly look for ways to make improvements or cut out unnecessary
    steps.
  • Learn the power features of software you use regularly.  In
    particular try to learn how to use scripts and macros if the software
    supports it.
  • If your operating system supports some type of automation, learn
    to use those features.  (In OS X learn to use Automator.) Learn how to
    assign shortcut keys to frequent tasks.
  • Make time for improvement.  Many people don’t fix small things
    because they are "too busy". Regularly set aside time to improve your
    daily processes.
     

Comments

Got something to say?