19
Organizing an Engineering Team on Asana Jack Heart Asana Engineering 2014 February 05

Organizing an eng team

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Organizing an eng team

Organizing an Engineering Team on Asana

Jack Heart Asana Engineering 2014 February 05

Page 2: Organizing an eng team

Define your goals and commitments.

Page 3: Organizing an eng team

Areas of Responsibility

http://www.quora.com/Asana/What-is-an-AoR-at-Asana

3

Page 4: Organizing an eng team

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

Page 5: Organizing an eng team

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

Page 6: Organizing an eng team

Launches

• Coordinate with other functions (marketing, user ops, etc.) !!

• Use this as a data source for e.g. overlaying on our usage metrics

6

Page 7: Organizing an eng team

Track your progress and your debt.

Page 8: Organizing an eng team

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

Page 9: Organizing an eng team

Bugs

Bugs tagged with “Oncall” are auto-assigned to a current on-call engineer

9

Page 10: Organizing an eng team

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

Page 11: Organizing an eng team

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

Page 12: Organizing an eng team

Automate your workflow.

Page 13: Organizing an eng team

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

Page 14: Organizing an eng team

Code Reviews

Phabricator has an Asana integration that auto creates and completes Asana tasks for code

14

Page 15: Organizing an eng team

Communicate, document, and standardize your

Page 16: Organizing an eng team

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

Page 17: Organizing an eng team

Interview Template

• Duplicate the template project for every interview • Assign questions beforehand to prevent repeats • Document tips and common answers in the notes

17

Page 18: Organizing an eng team

Onboarding Template

• Every new hire meets with people across the team for onboarding sessions

• Instructions for things like “Get on the team page” http://blog.asana.com/2013/02/onboarding-new-engineers/

18

Page 19: Organizing an eng team

&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