Organize Your Life with the Agile Method

A month before the big day while planning my wedding, I sat on the porch with my fianc? and looked over our very long to-do list. We were paralyzed by the length of the list compared to the amount of time left to complete the tasks. We couldn’t decide what we needed to work on, so we couldn’t do anything.

Finally, my fianc? — another product owner — suggested that we prioritize the list. I groaned and rolled my eyes, but his suggestion was better than the stress of doing nothing.

From that day until our wedding day, we managed to get up every day, get work done, and focus on the most critical tasks. Our perfect wedding was the direct result of prioritizing our to-do list.

I’ve used Agile prioritization at work to launch six major projects, and I’ve used it in my personal life to plan a wedding and move across the country. If you’re looking for a way to accomplish more — and feel more accomplished — take time to get to know the basics of Agile prioritization.

A Brief Introduction to Agile
Agile was created in 2001 by a group of software development leaders who were trying to solve one of the biggest problems in the industry: the fact that there's never enough time and budget to complete all project requirements.... Agile says a realistic plan requires that one of those pieces are flexible. Generally, the flexible element in Agile is scope. A Product Owner — a representative from the business side of things who prioritizes project requirements — works with the development team to understand what amount of scope can be delivered within a fixed time frame and on a fixed budget.

The Product Owner may have 100 requirements, but the development team may only be able to complete 10 given the time and budget constraints. The Product Owner’s job is to choose the 10 most important requirements — to prioritize the requirements — to make sure a releasable product is delivered at the end, and the delivered product has all of the most important features.

Basic Agile Prioritization
Whether it’s a plans for remodeling your kitchen or the requirements for developing a large website, most projects have multiple tasks that must be completed within a certain timeframe and budget. Agile says the best way to achieve this is to create a ranked list of priorities.

Ranked priority means if you have a list of 10 tasks, each task gets a number between 1 and 10. Two tasks can’t both be priority one. One must be priority one, and the other priority two.

It’s human nature to think every task on a list is crucial. But relative prioritization forces you to compare each task to all of the others to determine how important it really is. This makes it easier to identify flaws in the everything-is-crucial approach.

Imagine you’re building an ecommerce website. You have two tasks left, but only enough time and budget to complete one. Either set up the shopping cart to accept payments, or create a blog. You want both, but accepting payments is the obvious choice. You can’t make money without that feature.

Outside of the context of relative prioritization, that decision is much more difficult. Since you want both tasks to be completed, you’re inclined to rank both as equal priority. But when it comes down to choosing between one task and another, the decision is simple.

Of course, it’s not always so cut and dry. Let’s say the two remaining tasks were "accept Visa payments" and "accept MasterCard payments." If you release the site with just one, it creates a terrible user experience. In this scenario, it's necessary to take things a step further and add a criticality level to prioritized tasks.

Intermediate Agile Prioritization
A criticality level represents how important a specific task is to the overall project. Going back to the example of Visa and MasterCard payments: since both can’t be priority one, a criticality level can be assigned to show that—regardless of priority—both of those features must be delivered in order to have a releasable product.

There are four levels of criticality that are commonly used in Agile:

Critical – Critical tasks must be completed. They’re not up for debate because they’re essential. An example of a critical task for a wedding is having an officiant. Without someone who can legally perform the marriage, it’s not really a wedding.

High – High priority tasks are things that aren’t absolutely critical, but they are things you want more than anything else on the list. For a wedding, inviting guests isn’t critical. You can have a wedding without guests. But you probably really want to invite people. Sending out invitations, then, is a high priority.

Medium – Medium priority tasks are things you still want, but things you want less than the high priorities. You could definitely live without them. Having a DJ may be a medium priority for a wedding. Worst case scenario, create a playlist of songs for wedding music.

Low – Low priority tasks are nice-to-haves. Decorations are pretty obvious nice-to-haves for a wedding. They make things look pretty, polished, and planned, but they’re not essential to getting married or entertaining guests.

Relative prioritization and criticality levels work best when you use them together. Critical tasks are at the top of the priority list. Since they must all be completed, the rankings you assign really just represent the order you plan to complete them in. Those are followed by tasks with high criticality levels, then medium, then low.

For high, medium, and low tasks, relative priorities are very important. Imagine that at any point after the critical tasks are completed, you could run out of time or money. The first high priority task, then, is the thing you want more than anything else on the list.

Advanced Agile Prioritization
To get the most value from Agile prioritization, break every to-do item down into the smallest possible tasks. This helps because one large task may represent 10 small tasks, but those 10 small tasks may not all be equally important.

Some examples of breaking large tasks down into smaller tasks:

A large task for an ecommerce site is "accept payments." Broken down into smaller tasks, you have "accept Visa payments," "accept MasterCard payments," "accept American Express payments," and so on.

A large task for a wedding is "get clothes for everyone in the wedding party." Broken down into smaller tasks, that becomes "rent tuxedo," "buy wedding dress," "get wedding dress altered," "choose bridesmaids’ dresses," and so on.

To go back to my own wedding as an example: I’m a fairly frugal person, so the idea of paying several thousand dollars for a wedding venue seemed insane. I have a well-landscaped back yard, and it seemed like the perfect place for a wedding. Instead of spending money on a venue, I could spend it on home improvements and use the wedding deadline as motivation.

One of the home improvements I started—but hadn’t finished by the time I created my prioritized list—was painting the outside of my house. "Finish painting the house," was an item on my list.

But the more I looked at that task, and the more I realized how huge it was. There was almost no chance that we were going to finish painting the house and complete all of the other critical tasks on the list before the wedding.

The task to finish painting the siding and trim on the front of the house was a high priority because it was currently half painted, and while I could certainly have people over with a half-painted house, it would be pretty embarrassing.

Painting the trim and porches and scraping the paint off of the windows were only medium priorities. While I wanted to get to them, they were less important than things like serving food and getting a dress.

Painting the left side of the house, I decided, was actually a low priority. It’s so close to my neighbor’s house that you can’t really see it unless you’re walking between the two houses.

By breaking the task down, I discovered that one of the most massive high-priority tasks on my list was actually pretty small when I focused in on what specific things were most important.

Finally, I added a time estimate to each task. Like most Agile projects, I was working within a fixed time frame, so an important part of creating my plan was seeing what I could accomplish within the amount of time I had left before the wedding.

But even beyond that, time estimates can be helpful in setting priorities. For example, if you have three weeks before a wedding and a single task is going to take two weeks, it gives you more perspective on the importance of the task: Am I really going to give up music, food, chairs, and decorations so I can finish painting the outside of the house?

I went through the same exercise for all of the tasks on my list. When I finished, the critical and high priority items on my list were much more manageable.

After breaking large tasks down, it will only take 9.5 days to complete all critical and high tasks. This is 10 days less than in the original plan with large tasks.

To get the biggest benefit from agile prioritization, break every task and to-do into the smallest possible tasks. This helps with prioritization, allows you to get things done faster, and makes you feel more accomplished. There’s nothing quite like marking a to-do as a complete to stay motivated over the course of a large project....

If you’re planning a vacation or prioritizing things with you family at home, you can also go with the traditional Post-it Note approach. Write tasks on sticky notes, and stick them to a chart on the wall to share priorities and to-dos with everyone in the house.