Creating Systems with Asana

Posted in #productivity

Ever since reading The E-Myth Revisited a hundred years ago or so, I have become a huge proponent of using systems to help run and optimize business processes. No matter how big or small the task, if it is something that is repeated, there should be a system. Having good systems in place not only makes training easier when mitigating turnover, but they provide measurable processes that can be constantly tweaked to maximize efficiency and effectiveness.

We started using Asana at ShopAdvisor about a year ago as part of my ongoing war to eliminate email (but that's another story). It took some getting used to (even now we still have a few holdouts), but once we migrated completely from JIRA, we had much greater participation from all team members, not just the developers. Asana also gave us a lot more flexibility around tasks lists, prioritization and recurring tasks. This made it extremely easy to implement and manage systems with complete transparency to the whole organization.

Magazine Curation

ShopAdvisor is partnered with several major magazine publishers, and every magazine cycle we ingest the pages of each magazine and source products that are for sale. Processing over 30 magazines a month, all with different requirements, requires a large team to spot check products and make sure that all of the information is accurate. For certain publications, ShopAdvisor will process the folio files to embed our technology. This requires us to meet or exceed the publisher's deadline so that the digital files can be uploaded to the Newsstand and/or PlayStore without delay. What's the solution? You guessed it, a system in Asana.

The Basic Setup

Asana provides several ways to organize your projects and tasks, but we decided to create a hierarchy so that we could extract data at several levels (more on that later). First we created a Workspace named "Curation" that all of our curation managers have access to. Then we created a Project for each magazine title. Each magazine Project has a Section named "Magazine Curation" that contains a Task for each publication date (see below).


Project with a task for each Publication date

The Process

Each Task contains a list of Subtasks. These Subtasks are all of the steps in the curation process, and since you can copy the main tasks, you only need to enter them once. Each month we simply copy the previous month's main Task and all of our Subtasks (process) come with it. This means that each month we can add, modify, or remove steps to make the process better, and all of those changes become part of next month's process.


Subtasks that outline the process for a specific publication

Adding Metadata

Another important piece of any good system is being able to report on it. Asana is very good as a task management system, but it is lacking robust reporting features. However, there are ways around that. Asana let's you add Tags to Tasks. This allows us to add additional metadata to tasks so that we can extract it for our reporting needs. Our system has two sets of tags that we apply for curation. The first set is used to identify what type of medium it is (tablet, print, web, or social). As shown below, we use "curation-tablet" as a tag to flag this Subtask as a tablet related task. The second is the stage (or milestone) that this Subtask represents (Upload Expected, Due to Publisher, or Live). Below we use the "curation-live" tag to represent the live date of this publication. In addition to the Tags, we also set the Due Date of the Subtask to indicate when this stage should be completed.


Subtask detail with Due Date, stage, and medium tags set.

Reporting and Managing the Process

Adding the metadata allows us to use Asana's advanced search capabilities to find upcoming deadlines for uploads, live dates, etc. However, the reporting remains quite generic. Asana does have an API, though, which allows us to query the data and construct our own reports, which is exactly what we did.

Using the API, we query for our three "stage" tags (curation-upload, curation-due, curation-live) and organize the Subtasks by Due Date on the calendar below with an icon to represent the stage. We can retrieve the and the from the same API call, so the publication title is displayed using the latter and the publication date is displayed using the former. We then use our medium tags (curation-tablet, curation-print, curation-web, curation-social) to display an icon that represents the medium on the calendar. Finally, based on date, we display a status color of each task. Green for completed, yellow for pending, and red for past due.


ShopAdvisor's Curation Calendar powered by Asana's API


Curation Calendar's Legend

A Well-Oiled Machine

As you can see from the calendar above, this gives the whole organization a complete overview of our curation workload. In addition to making it easy for the curation team to see and manage deadlines, this also allows marketing to plan campaigns around live dates, our customer communication team to schedule notifications, our sales team to coordinate additional programs, our dev ops team to anticipate traffic and server loads, and our management team to see overall progress. This level of insight has made our curation process extremely efficient and has allowed us to continually enhance the service, rather than be bogged down by trying to manage it.


Using Asana as a task management system has been extremely helpful and has allowed ShopAdvisor to create several systems such as this one. I even use it for my own personal tasks now as well. There are several other tools that can produce similar results, but I've found Asana to be one of the easiest and most flexible to work with.

Regardless of what software you use (even if it is just a Google Doc), having systems will dramatically increase your efficiency and help to remove mistakes from your work to deliver a much higher quality product or service.

Comments are currently disabled, but they'll be back soon.