Asana is adequate. I wish it had a better UI, especially in regards to time charts. It is simple and easy to use but sometimes complex projects evolve into long lists and it is not really helpful.
JIRA works great for our engineering team. It is a pretty standard product, well-ingrained in our workflow. It is not super intuitive but our engineers like it.