Monday, 8 October 2018

Don't Repeat Yourself: Get More Done with the DRY Principle

We've all nodded along when someone says we need to work smarter, not harder. But what does that mean, in practical terms?

Computer programmers have an answer with a concept they use to write more efficient code: Don't Repeat Yourself (DRY). You don't have to be a coder to use the same principle in your day job, so let's take a look at how to apply it to your daily tasks.

What Is DRY?

Hands at a laptop comupter writing code

The term "don't repeat yourself" was coined in 1999 by Andy Hunt and Dave Thomas in their book The Pragmatic Programmer. They defined it as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system."

In software engineering, DRY is the principle of reducing repetition in the code, referring back to a single source—or "snippet"—of reusable code whenever you need it.

Imagine you've programmed an app that throws a ball for your dog once an hour throughout the day. Instead of writing the entire code for locating the ball, picking up the ball, and throwing the ball 24 times (once for each hour), you write the code once and give it a name, such as throw.ball. Then, all you need to do is type throw.ball each time.

In addition to saving effort upfront, it also means less room for human error: If you write the same thing 24 times, you're bound to mess up at least once. Plus, if you decide, for example, that your app needs to throw a bone instead of a ball, you just need to change the code once, rather than 24 times.

That's an example from coding, but we all instinctively avoid repetition where there's an obvious solution. We let websites store cookies on our computer to remember our preferences. We create playlists of our favorite songs, rather than choosing from scratch each time. And we load contacts into our phone instead of typing in numbers for every text.

But how can we avoid repetition and save time when it comes to our work? It all starts with a figuring out where you're repeating yourself.

Discover Where You Repeat Yourself

If you've ever tried a productivity system, a lot of this will sound familiar. Systems like Getting Things Done (GTD) and Zen to Done follow a similar process. The difference here is that we're approaching the process with a laser focus on unnecessary duplication.

Hand taking notes

The first step is logging your daily activities—you'll need to do this for at least a week, but ideally a month. As you track your time, you'll be logging routine tasks, but you don't want to miss the tasks that come around less often or not as regularly.

  • Add tasks that are likely but unplanned, such as dealing with a customer complaint.

  • Don't forget about annual tasks (or monthly, if you're only tracking for a week): things like reports, audits, inspections, invoicing, maintenance, and more.

  • Ask others for their routine tasks. That'll help you fill in the gaps.

At this point, you have a high-altitude view of your tasks. Now it's time to work out which tasks are prime candidates for DRY. This can be completed in whatever app you've used to track your tasks. You can create tags or labels for each category in your to-do list or time-tracking app, add the categories as additional columns in a spreadsheet, or simply jot them down with pen and paper.

We suggest you focus on four key areas, making a note of any tasks that fall in one or more of the following categories.

  1. Pain points. Looking through your list, there's probably a handful of tasks that turn your stomach like a pretzel. Maybe you dread writing the monthly report or sending reminders to late-paying clients. Go with your gut on this one. If it produces a physical reaction of panic and revulsion, or you find yourself procrastinating whenever this task comes up, tag it.

  2. Bottlenecks. Which tasks hold up the rest of your day? Maybe you have to email all the department heads and wait for their responses before you can start work on a report. Or maybe you need to import new customer data before running the analytics you're interested in.

  3. Time-consuming tasks. This is where the results of your time-tracking come in handy. Do you spend hours of each day clearing your inbox or answering customer questions? If you're like most people, you've probably underestimated just how much time some of your tasks take.

  4. Repetitive tasks. Look for repeated tasks that follow a similar pattern each time you perform them. Think like Henry Ford; he saw that building cars was a repeatable process and came up with the moving assembly line method, revolutionizing production. You may not be building a physical product, but chances are you are producing something. It may be as simple as a social network update, or as complex as a new app. Look for the steps that are nearly identical each time, so you can build your own assembly line.

With all your tasks categorized, you can now see at a glance which are prime candidates for the DRY treatment. By definition, tasks labeled as repetitive are most likely to benefit from DRY. If a task isn't repetitive, eliminate it from your list. Once you've done that, priority attention should be given to those tasks that hit the most categories.

Tasks labeled by priority

Looking at the example in the image above, I scored each task 0-5 (5 being the highest) for each of the four categories. Then I totaled each task—the ones with the highest scores are the ones that are prime for the DRY treatment.

Eliminate Repetition at Work

Man looking at whiteboard of ideas

Now you have a clear idea of which tasks would benefit from DRY, so it's time to eliminate the repetition.

Tip 1: Create templates

The cornerstone of using DRY in your work life is the humble template. Whenever you create something, whether it's an email, a business document, or an infographic, think if there's something there you could save for future use. The time spent creating a template will save you exponentially more time down the road.

Here are the areas that are most ripe for templates:

Emails

With an estimated average of 31 business emails sent per day, the inbox is the center of the knowledge worker's universe. But that also means it's likely you're sending the same emails over and over again.

Simply by lifting out all the personal information, you can create your own template and save it for future use. For more details on how to use templates within various email apps, read about automating your inbox.

Internal communications

If you send weekly updates to your manager, create specs for various stakeholders, or write tickets in your bug tracker, you likely spend a lot of time reinventing the wheel. Skim through your most recent communications and look for patterns—even a bare bones template will save you the hassle of formatting each time.

External documents

Proposals, contracts, invoices—they all look pretty similar. By removing the information specific to your clients and partners, you'll have a template to work from and can tweak it for each use case.

Presentations

If you give more than one presentation a year, make yourself a presentation template. Even if each presentation is vastly different, the skeleton can be the same.

Tip 2: Find the right apps

Is there an app that can do the job for you?

The answer is almost certainly yes.

For example, maybe you've been writing your proposals in a word processor and emailing them as an attachment. As it turns out, there's a wealth of proposal software that will streamline the process, sending beautifully designed proposals to your clients and letting you know once they've been reviewed. And while there's nothing stopping you from creating an invoice template in Google Docs or Microsoft Word, invoicing software will take care of all the repetition, such as automatically numbering your invoices, keeping track of what's been paid, and making your tax returns a whole lot simpler.

The same goes for basically anything, from scheduling meetings to creating surveys.

So if you find that, even with the best templates, you're still regularly spending significant time manually adjusting them, it's time to consider using an app. The right tool for the right job can mean the difference between an easy job or hammering a nail in with a screwdriver.

Tip 3: Automate your repetitive tasks

Once you have your suite of DRY apps picked out, you'll notice something: Most of them are built to do one thing well. And having a dedicated tool to do a specific job makes a lot of sense. But your work is rarely that simple, and you might find yourself leaping from app to app in your daily workflow.

With Zapier, the apps you use most can talk to each other. Using automated workflows called Zaps, you can automatically send data between the apps, removing manual work from many of your daily tasks.

Depending on which tasks scored highest in your DRY assessment, you might want to create your own workflow, but here are a few ideas to get you started:

Project management

Internal communications

File management

Automation is the ultimate tool for DRY. It lets you outsource all your repetitive tasks to a machine so you can focus on the projects that require that human brain of yours.


You're probably already thinking of all the tasks you can slash down with your arsenal of templates, apps, and Zaps. But don't get ahead of yourself. Instead of brainstorming hacks ahead of time, base your DRY on the reality of your tasks.

And be sure to keep tabs on how it's working. Are you saving time? Are you feeling less stressed? Or have your new processes somehow ended up taking more time? Did you automate something that should have been more personalized?

XKCD cartoon about efficiency

In coding, DRY can mean the difference between clunky, broken apps and smooth, efficient ones. If you implement the same principles in your work, you can spend more time on what matters, while templates and robots deal with the rest.

Image of hands typing code from Free-Photos via Pixabay. Image of hand taking notes from StartupStockPhotos via Pixabay. Image of person looking at bulletin board from StartupStockPhotos via Pixabay. Efficiency cartoon from xkcd.



source https://zapier.com/blog/dont-repeat-yourself/

No comments:

Post a Comment