Monday, 8 April 2019

Organize Your Life with the Agile Method

A to do list can help you keep track of the tasks you need to complete. But when it comes to actually completing those tasks—that's a different story.

It's hard to decide which tasks to take on first, and it's tempting to start with whatever's simplest and smallest. After all, completing a task—however inconsequential—ignites our dopamine mechanisms, giving our brains a feel-good reward. Of course, sometimes even those small tasks seem insurmountable, especially when you're paralyzed by the length of your to do list.

If your to do list isn't working for you, it's time to consider adopting another method. Here, I'll suggest some Agile prioritization techniques that will help make sure you get your most important work done. The short of it? Break tasks down into smaller subtasks and rank them from most to least important.

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.

Before Agile, most development teams followed the Waterfall model. In Waterfall, a business gives their development team a long and complex set of requirements and expects all requests to be completed on time and within the allocated budget. Time, scope, and budget are all fixed.

Agile says a realistic plan requires that one of those pieces is 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 timeframe 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 them—to make sure a releasable product is delivered at the end, and that the delivered product has all of the most important features.

I worked as a Product Owner for several years, using Agile prioritization techniques to launch six major web development projects. But where I've found the techniques to be most helpful has actually been outside of work, where I've used them for major life projects like planning my wedding and moving across the country.

Basic Agile Prioritization Techniques

Whether it's remodeling your kitchen or building 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.

Here's an example:

Agile prioritization for wedding to do list

It's human nature to think that 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.

For example, imagine you're building an eCommerce website. You have two tasks left but only enough time and budget to complete one. You can 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 in 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 Techniques

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. For example, a critical task for planning a wedding is finding an officiant. It's critical because without someone who can legally sign the documents, it's not official.

  • High – High priority tasks are things that aren't absolutely critical but 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 represent the order in which you plan to complete them. Those are followed by tasks with high criticality levels, then medium, then low.

Agile prioritization with criticality added to to do list

For high, medium, and low tasks, relative priorities are key. 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 Techniques

To get the most value from Agile prioritization, break every to do item down into the smallest possible tasks. Why? 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 credit card payments," "accept ACH payments," "accept PayPal 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.

I mentioned before that I used Agile while planning my wedding, so I'll use that exercise as an example.

I'm a fairly frugal person, so the idea of paying several thousand dollars for a wedding venue was out of the question. I have a well-landscaped backyard, and it seemed like the perfect place for a wedding. Instead of spending money on a venue, I decided 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 wedding to do 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, the more I realized how huge it was. There was almost no chance that I was going to finish painting the house and complete all of the other critical tasks on the list before the wedding.

So I broke the task down into smaller tasks:

Agile prioritization of to do list with subtasks

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 (so it technically wasn't a critical priority), I'd be uncomfortable with it.

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, this project—my wedding—had a fixed timeframe, 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.

Initial Prioritized List

Agile prioritization of to do list
To complete all of the critical and high tasks on my initial prioritized list, I estimated that it would require 20 full days of work. To complete the entire list, I would need four full weeks.

Final Prioritized List

Full Agile prioritization of to do list
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.

Agile Prioritization for Work and Personal Projects

Agile prioritization techniques can be applied to get more done in any industry and job—and even in your personal life. Here are some examples:

  • Create a marketing strategy. There are dozens of ways to market a product and thousands of tasks for each approach. Work with your team to brainstorm as many ideas as possible, prioritize the final list, and complete tasks in order of priority to keep everyone focused. Also, take time regularly to reprioritize based on new data.

  • Buy a house. You have to find a house, put an offer on it, get a mortgage, have the house inspected, and get homeowners insurance. On top of that, you need to pack your existing house, donate anything you don't plan to take with you, and maybe even buy new furnishings. Simplify your to do list and stay sane by prioritizing.

  • Plan a training session. Create a list of things that are important to cover in the training session, and add criticality levels to each topic. During the training session, enjoy some flexibility by removing medium- and low-priority topics. This gives you time to cover things you hadn't considered that come up as questions during training.

  • Remodel your house. A home remodeling project may not be limited by time, but it's certainly constrained by budget. Use a prioritized list to factor what you really want and need against the costs for each request and your overall budget.

  • Meet your annual goals at work. Break down complex goals into small tasks, and rank those tasks against the other items in your daily/weekly to do list. You'll need to reprioritize frequently, but the list will keep your long-term goals fresh in your mind and help you decide which tasks are the most important to focus on.

  • Plan a vacation itinerary. You can't visit every tourist attraction in Rome in a week, but you can definitely see the ones you're most interested in. Create a list of things you want to do the most, and use relative prioritization to make sure you get to visit the attractions you're most excited about.

If you want more ideas, check out these two SlideShare presentations: Agile and Scrum Beyond Software Development and Agile at Home.

Helpful Tools for Agile Prioritization

Trello for Agile prioritization

While you can't go wrong with a handwritten to do list, you may want something that's easier to manage after deciding you like the approach.

For basic functionality, use Google Sheets, Excel Online, or Airtable. Each of these tools lets you build spreadsheets for free that function similarly to a handwritten to do list—but with the added bonus of letting you cut, paste, and add rows easily.

To get even more features, use a Kanban app like Trello. With a Kanban app, you can:

  • drag and drop tasks to prioritize them
  • color-code tasks to signify criticality levels
  • add due dates
  • share the list with multiple users
  • send automatic notifications when a task is assigned to a new user

For teams that are using more aspects of agile than prioritization, use Yodiz (free plan available) or Jira (from $10/month) to create backlogs, prioritize, plan releases and sprints, add estimates, and log hours to tasks.

And if you're planning a vacation or prioritizing things with your 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.


If you're stressed or overwhelmed by a too-long list of things to do, take time to make it more manageable with Agile prioritization techniques. It will help you focus on what's important, avoid spending time on what's not, and stay motivated to mark more tasks as complete.

Originally published in November 2017, this piece has been updated with a few more great tools that help with Agile prioritization.



source https://zapier.com/blog/agile-method-prioritization/

No comments:

Post a Comment