Wednesday, May 29, 2013

Asana - what has been forgotten to implement for $40 million

Who stay behind?

It's always interesting to discuss about products, which have all the luck of popularity among users and trust from investors - this clearly says about the quality. Undoubtedly, Asana online collaboration service belongs to the cohort of such high-end applications. It was launched in 2011 as a startup by Dustin Moskovitz and Justin Rosenstein, who were involved in Facebook development process. Most likely, this very fact allowed attracting $38 million funding into their online collaboration brainchild.
The last of round of this investment has been closed less than year ago, and now the audience of yogis of project managers exceeds tens of thousands. Such popularity, for sure, is interfering with the way Asana is being promoted - free accounts are granted to small teams and individuals for the expectation that some of them will grow sometimes. And sure, these companies would unlikely change the tool they got accustomed to, filled with data, necessary for the work. These expectations, nevertheless, are too bright, and below we’ll see, what’s wrong with them.
As for popularity of this service, it is driven not only by serious spending on acquisition of users. Asana also has a solid engineering basis. The product was built on javascript, and this technology makes online collaboration fully interactive. Updates in tasks and lists are visible without reloading a browser page, so you haven't to constantly push F5 button, in order to see what's new. Former Facebook developers, for sure, know much about technology and its role in surpassing competitors.

Asana's basics.

If you're enough experienced and clearly imagine, how to work with Asana, please, pass through this part of article - you unlikely find it interesting. But if you haven't yet worked with this tool of online collaboration, I recommend you to read it, in order to get the point. 
Online collaboration inside Asana is building up around projects, with tasks stored inside them. Tasks, in their turn, can be broken down into subtasks, when decomposition of complex issue is needed.
For example, if you want to develop a web-site about astronomy, you should create a new project in Asana, called "All about Solar System" along with list of following tasks - "Think up domain name", "Find a server", "Install Wordpress" and "Prepare content".
Then you have to assign your teammates in order to start the work - carry on conversations, attach files and so on.
Sometimes issues are too complicated to resolve them in one go. For example, if you want to carefully choose a server for astronomy site (because you expect heavy traffic load) you should create into "Find a server" issue few additional subtasks: "Hosting with the best uptime" and "Select panel for administrator". In Asana you can create subtasks in a subtask, so tree-like structure of data for this service is available.
But let's return to the question, how tasks are processed in Asana. When you create an issue for you collaborator, he (or she) has to clearly state, when the work will be done - today, later, or even postpone this task. In order to make your colleague haste, setting a deadline is possible.
This way of working is clear, understandable and creates a nice impression, especially on non-engineers. Sure, somebody can say, that use cases aren't as clear as in RememberTheMilk, but I don't suppose it is a problem. Every tool has to be mastered.

Structure has to be visible!

Sure, along with numerous good points Asana has some disadvantages, and some of them are important.
The first problem relates to invisibility of issues' structure and it doesn't allow running really complex projects, with a deep and entangled inner organisation. Flat lists of tasks cannot crystallize information by giving it a structure, and this, in addition, seriously damage the productivity of work, especially of managers. Why does it happen?
Asana, like any powerful tool for online collaboration, supports deep decomposition of extended issues. You can create subtasks inside a task, and divide newly created items further.
Let's remember about our astronomy web-site and about "Prepare content" task inside this project. In order to deal with the issue you should create subtasks called "Mercury", "Venus", "Earth", etc. If you want to elaborate additional popups describing planets' satellites, you have to add new subtasks to "Jupiter" and "Satur" items - their satellites can easily confuse an administrator responsible for the content. We strongly recommend you not to store information about these celestial bodies inside the same list, if you're not an astronomer or an anthropologist familiar with mythology of different cultures.
And here hides a problem, which puts to end the structure in Asana. You cannot look around, taking in all tasks at once, because interface doesn't support tree view for issues. Left part of Asana screen is always occupied by list of projects, central one is for the tasks of first level only and all the rest is pressed into the right block of the service: task with descriptions, its parent and descendants.
The concept of structure of information in Asana is enough underdeveloped to make running a complex project painful.
Carefully elaborated tree of tasks along with a deep decomposition of issues, have to support easy management of tasks' branches. Users should have a possibility to change tree nodes' descendants and parents, see the structure as a scheme, filter task in a tree and so on. Asana doesn't grant you such functionality because its interface strictly divide information between three types of items: projects, task and subtask. You cannot move a bundle of tasks from one tree node to another, with all comments and attached files, like in askcow or Wrike, and this is a problem.
Full-fledged tree tells tools of project management from bug- or issue trackers, and project managers along with software architects become first victims of such flaws.

Flaws in protection.

The safety of information in Asana is another serious problem of the service, and I don't refer to questions interfering with cryptography and data protection. The story is about errors inherited from human nature. In order to get the point, let's begin with a different approaches to security of data.
First approach consists in limitation of access to information and mixed up with numerous privileges. You have to grant them users and workgroups, in hope, that qualified employee doesn't make mistakes related to data management.
This concept has strong advocates and numerous followers, but in my opinion it is insufficient, because all, even the most skilled people, make errors (and sometimes intentionally). The second problem is constant downtime - collaborators often have to wait until an administrator grant them rights of no importance, possibility to edit a comment or to attach a file, for example. Such restrictions sometimes become ridiculous, you know (JIRA users know this problem well).
The second approach to safety consists in "No delete" principle. This concept is very perspective, but only few of tools of project management fully relies on it. The point of this paradigm is that all information inside the project cannot be destroyed - for example, closed tasks are placed inside a special storage, easily accessible for anyone, who want to restore them. Applying of these approach also assumes, that you can switch between different editions of the same item and, of course, such tools should have a powerful activity log. Currently, the best example of such tool of project management is askcow, where this conception is elaborated to perfection.
Third paradigm of ensuring the information is building up on "Undo" functionality. This conception is implemented in Asana, but it's going not so smooth, as expected, and at least few scenarios fraught with loss of data exist.
One of these scenarios relates to editing of tasks. If your colleagues change something in task, its title or description, the information about primary state of item is destroyed. The significance of this problem is complemented with an easiness of task edition, so you can lose important data occasionally due a misclick. In addition, you cannot undo such action.
Another scenario is also dangerous for the information, and it relates to direct erasing of some issues. You can delete a task without possibility of restoring it. Asana, of course, will offer you to "Undo" such action in corresponding popup, but as soon as you close it, your information is lost, if your e-mail notifications are switched off.
There is at least one case, when you can lose important project, but I offer you to find it by yourself. I'll only say, that it to deleting a project scenario.
Transparency of changes also contributes to unreliable protection of data. Asana activity log behaves strange sometimes and doesn't show complete picture of the situation. Certainly, it has been done deliberately, in order to get users rid of informational noise, generated by collaborators and their activity. This problem can be resolved by applying filters to activity log, but Asana does not.
Poorly elaborated conception of safety of information is the second problem of this online collaboration tool.

Complex project management in Asana: possible or not?

Absence of visualisation of the structure of projects, breaches in scenarios of deleting the information, lack of full-fledged activity log, all these are not critical while you're working on small projects with teams, you’re confident in. And here Asana does its best - the system is simple enough to get accustomed to work with. But, as soon as your projects start to require careful planning, issues start to need deep decomposition, and number of involved collaborator becomes significant, Asana stops fulfilling the purpose of a tool for online collaboration. It stops saving time. Management of long lists of numerous untraceable tasks, which have no clear relations between each other, is a thankless affair.
In addition you have to worry about safety of information related to your projects. Errors interfering with editing descriptions of tasks are usual in Asana. Moreover, someone can damage your information deliberately, and this is a serious problem too.
Anyway, Asana is a high-quality product built on a solid tech foundation, and the popularity of this service is a reliable evidence. But declared adaptability to complex projects is rather a marketing move, than reality. You can hardly tell Asana from RememberTheMilk or Basecamp – their functionality and facility are almost identical, except of possibility to divide subtasks, but this tool is definitely insufficient for full-fledged project management.
I recommend you to register an Asana account, it's free. This tool for online collaboration is worth trying it, and if the project you're running is enough simple, you'll probably find Asana fit.  


  1. I would recommend checking out for an online GTD manager.

    You can use it to manage your goals, projects and tasks, set next actions and contexts, use checklists, and a calendar.
    Syncs with Evernote, and also comes with mobile-web version, and Android and iPhone apps.

  2. Thanks for posting related to product management and online collaboration tool. I've checked GTAgenda and it made a nice impression on me, though the service looks usual and can hardly told from dozens of similar products.
    I faced also some confusion mastering "goals" and "context" functionality, and I doubt that these features are necessary for project management tool. What's the difference between GTAgenda context and usual tags? And what's the point in "goal" feature? I can simply state the goal in task's description.
    My conclusions: usual service for running simple tasks and to do lists.

  3. Thanks for sharing this information. Glad to know about Asana online collaboration service. I was searching for this kind of online service for my Project Management. Asana provide very useful services. I like this service most that all information inside the project cannot be destroyed, closed tasks are placed inside a special storage, easily accessible for anyone, who want to restore them. I like your post. Keep sharing.
    Online Project Management Software

  4. This comment has been removed by a blog administrator.

  5. This is fantastic, Asana is looking more and more like a grown-up bug tracker as well as a killer task/life manager – well done! Anyone ever tried integrating Asana and source control like subversion, similar to what a lot of people use Trac for?

  6. This comment has been removed by the author.

    1. We initially had the same problem with complex projects, with regards to endless meaningless lists of tasks, but you can work around it (at least for app development).

      First of all we only have set tasks and subtasks (and we only use the subtask title to make sure no information gets hidden anywhere).

      Secondly, we assign a naming convention or numbering to the top level tasks and break down work into different sections (using the section headers). The main task is basically never ticked-off only and is moved between sub-section headers i.e. "team name - to-do", in-progress, review..., complete. Review are set as a new subtasks assigned to reviewer ... then review points listed below it as more subtasks with the review number placed using naming convention.

      This seems to work pretty well and people don't have to keep spending their time assigning stuff to themselves or each other as we have different in-progress buckets for people in different seating areas or geographies...

      There are a few problems with this though...
      * Calendars don't show subtasks so we can't take advantage of tracking
      * There is no tracking for moving objects between section headers (i.e. this represents completing milestones for us).
      * There is no top level summary of how many of the subtasks are completed
      * Strictly speaking we way we use/structure top level tasks means it is not a "task" at all but a work product... in our case it was screen i.e. using our convention something like "(2.3.1) My - Payments - Outstanding".
      * As mentioned above information security is not the best particularly the modifying/deleting of tasks set by senior reviewer can be annoying.. and sometimes you don't want some people having the ability to tick-off tasks... A proper "protected" work product with numbered reviews would be pretty useful. But this is typically a very minor issue for us so far and the hacked way we are using Asana is delivering massive value for us... we are at least twice as productive compared with before using it. Building what we are building was really hard without Asana... now it feels easy! We are really happy with Asana overall but think it still could be improved a fair bit (particularly where structure is concerned).

    2. Oh and our Dropbox folder structure matches the naming conventions and sections in Asana...

  7. Wow, nice approach to work. Your project has an able manager!

    But for me any project begins from a scratch - from planning budget and costs.

  8. I have taken a 4 -day classroom boot camp for my PMP preparation at I found it excellent as all courses are conducted in a high-class environment, with all study materials. Thanks to, for my success!