Now in 2015 it's extremely nice time for small development teams. We have just a dozens of free and very elegant tools for building effective process of development. It was said enough about one of them: Asana. But now after three months of using it, i would like to add my two cents.



Once upon a time, when the company, i'm working on, started, they done a very proper thing: they bought a JIRA. It was a very romantic times, when JIRA has unlimited license, and you could involve any head count into process without paying a penny. Now you can see the pricing here:
https://www.atlassian.com/software/jira/pricing?tab=host-on-your-server

So when the team grown up to 15-20 persons, it was a dilemma: "should we update the JIRA and pay another $1k, or that's OK with Jira 3.0?". And the answer was it's OK.

Well time passed, and there were a lot of work to do. In Russia we say, that there is nothing more constant, than temporary, and now in 2015 we had a web 2.0 JIRA in my new project. Just to show you: here is a random screenshot from Google of it's interface:
Looks quite nice for 2007, doesn't it?


So when your system administrator said, that JIRA is on maintenance for 2-3 days, and we need to plan some new features very quickly, i've decided, that we hardly find a better time to switch to something more interesting.

Well Asana.

It's extremely intuitive. And even a part of management, who avoided JIRA, started submitting a features and bugs almost after introducing. And even i started submitting even minor bugs here: in JIRA for small fixes it was too overwhelming to create a task for every one. Asana didn't looked like a serious task manager: it was like an Evernote or any other personal task manager. And mostly it was cool.

Problems came after. The asana was very nice at submitting, but became a painful at sorting/organising and so on. If you have really a lot of features (and if you have a process with QA and more or less complex system with a lots of components) - you have to keep them easy to find and analyse.

To organise tasks inside one team they have a sections. It is essential decision but it has one big issue: it's flat, and if you have to sort your tasks by at least two factors - you will have problems.

For example: in out project we have to sort by: component, priority, status (working on/suspended/triage). In fact you can try to organise it with folded sections, but it will be a huge behemoth. And this issue also has influence on speed of task submitting: if you have to scroll two pages to find a proper section - it can be inconvenient.

I will not go into details, but i've felt, that if you have at least 40-60 open issues at one time - asana becomes inconvenient. So if you have such planning horizon - probably you should look for a more suitable task manager.

The second issue - asana doesn't help you work with a code repo. At all. It starts from a very little thing (it could looks little, but in fact it's a huge one): the asana task doesn't have an unique identifier. This mean you can't mention asana task it your commit message: and this is a huge problem. This mean, that in fact you have to write feature description twice: in asana, and in git (or svn). It makes even the most strait-forward git workflow more complicated. The worse problems appears, when you use more-or-less advanced git workflow (and i recommend to use it - it saves a lot of you mental energy, when something goes wrong). For example you have a master branch, a stable branch, and some release branches. More powerful task managers have a very nice feature: when someone commits to git, it adds a comment to the task like "i've committed stuff to branch release-1.0". And you always track, if the feature is presented in all branches, where it  should be. Without it some bugs can be really painful.

UPDATE 12.20.2015: Yes, there are global IDs for asana tasks, but you should grab it from url - still looks funky.

So for me it's enough to say, that asana is not very effective task manager for software dev team of 6 developers. Probably for sales, or others, it's a perfect tools, but not for me. And to summarise:

+ It's easy to submit a new task - just a matter of seconds.
+ Intuitive workflow - like a personal tracker. Feels very cosy.
- Not convenient, if you have a lots of opened tasks at once (5+ team members/big planning horizon).
- Don't help you with version control system.

So at the next year we are going to buy an update for JIRA, and return to a proper process.