Organizing an Engineering Team Using Asana


Published on

Jack, the Product Engineering Lead from Asana, describes the key projects the Asana eng team uses to organize itself. Meant to be easily replicable by any other team!

Published in: Engineering, Technology, Business

Organizing an Engineering Team Using Asana

  1. 1. Organizing an Engineering Team on Asana Jack Heart Asana Engineering 2014 February 05
  2. 2. Define your goals and commitments.
  3. 3. Areas of Responsibility 3
  4. 4. Key Results • Establish clear company priorities every ~quarter • Every KR has an assignee • Shoot for 70% success — ambitious but achievable • CRIB Test: a good KR is clearly evaluated, result-oriented, important, and big 4
  5. 5. Milestones • Publicly commit to your sprint goals to hold yourself accountable • Each team should generally always have a milestone (or be in the process of determining their next one) • Maintain trust by planning and costing before picking a date 5
  6. 6. Launches • Coordinate with other functions (marketing, user ops, etc.) ! ! • Use this as a data source for e.g. overlaying on our usage metrics 6
  7. 7. Track your progress and your debt.
  8. 8. Product Opportunities vs. Product Details • Anyone can and an idea to Product Opportunities (sorted by hearts). Everyone follows and discusses. • An “opportunity” is upgraded to a Product Detail when it is ready to be built -- prioritized by a PM, costed by an Eng, and has designs attached. 8
  9. 9. Bugs Bugs tagged with “Oncall” are auto-assigned to a current on-call engineer 9
  10. 10. Primary Projects • Bias for starting with new projects every few months; we prefix our projects with the current episode • Use section headers as milestones • Break tasks down into subtasks and cost before doing the work • Project Leads spend energy curating so that other project members always know the next task they should do 10
  11. 11. FOCUS: <Area> Projects ! • Track friction in any area (framework, testing, production, code cleanup, ...) • Have a clear owner for the project • Revisit every few months and look for leveraged tasks • Different ways to organize: by hearts, by area, by priority, by cost 11
  12. 12. Automate your workflow.
  13. 13. Exceptions • We built an internal app similar to Airbrake that integrates with Asana (and intend to open source it) • Tasks are automatically reopened if the exception happens in a later branch than resolving commit 13
  14. 14. Code Reviews Phabricator has an Asana integration that auto creates and completes Asana tasks for code 14
  15. 15. Communicate, document, and standardize your
  16. 16. 1:1 Projects • Keep a meeting agenda for your 1:1s • Multihome tasks you want to discuss in person • Not just for reports and managers! 16
  17. 17. Interview Template • Duplicate the template project for every interview • Assign questions beforehand to prevent repeats • Document tips and common answers in the notes 17
  18. 18. Onboarding Template • Every new hire meets with people across the team for onboarding sessions • Instructions for things like “Get on the team page” engineers/ 18
  19. 19. &c. • Hackathon Ideas • Questions for Metrics • Interesting Articles • Episode Template • Meeting Agenda • Team News • N00b Tasks • Engineering Candidates • Experiment Results • Engineering Blog Ideas • Outsourcable Projects • Contractors • Production Alerts • StatsDB Tables • Learning Lunches • Roadmap Week Committees • ... 19