Atlassian - A Different Kind Of Software Company

53
Atlassian A different kind of software company Wednesday, 13 May 2009
  • date post

    17-Oct-2014
  • Category

    Technology

  • view

    7.373
  • download

    2

description

Presentation to JAOO 2009 (Sydney & Brisbane) on some lessons from Atlassian's software engineering superheroes.

Transcript of Atlassian - A Different Kind Of Software Company

Page 1: Atlassian - A Different Kind Of Software Company

Atlassian

A different kind of software company

Wednesday, 13 May 2009

Page 2: Atlassian - A Different Kind Of Software Company

1. Brief History Lesson2. Tools & Processes3. Innovation Ideas

Agenda

Wednesday, 13 May 2009

Page 3: Atlassian - A Different Kind Of Software Company

Brief History LessonWednesday, 13 May 2009

Page 4: Atlassian - A Different Kind Of Software Company

2002?

Wednesday, 13 May 2009

Page 5: Atlassian - A Different Kind Of Software Company

Big Ideas• Scott & Mike - both 21 y.o. engineers

• $10k ‘startup capital’

• Tried multiple ideas

• $USD 0 in sales

Wednesday, 13 May 2009

Page 6: Atlassian - A Different Kind Of Software Company

Atlassian ModelEnterprise Software

Wednesday, 13 May 2009

Page 7: Atlassian - A Different Kind Of Software Company

Atlassian Model

Enterprise Software

1. No $ for sales team? Must sell itself

2. Sell itself? Must be low price

3. Low $? Must sell 000s of copies

4. 000s of copies? Must sell globally

5. Customer must buy, we can’t sell!

Wednesday, 13 May 2009

Page 8: Atlassian - A Different Kind Of Software Company

50,000customers

Wednesday, 13 May 2009

Page 9: Atlassian - A Different Kind Of Software Company

‘02 ‘03 ‘04 ‘05 ‘06 ‘08

JIRA

San Francisco

ConfluenceBambooCrowd

FishEyeCrucibleClover

Amsterdam

A little history...

‘07

JIRAStudio

Sydney

’09

Poland

Wednesday, 13 May 2009

Page 10: Atlassian - A Different Kind Of Software Company

‘02 ‘03 ‘04 ‘05 ‘06 ‘08

JIRA

San Francisco

ConfluenceBambooCrowd

FishEyeCrucibleClover

Amsterdam

A little history...

‘07

JIRAStudio

Sydney

’09

Poland

Engineers?2! 6 40 9070

Wednesday, 13 May 2009

Page 11: Atlassian - A Different Kind Of Software Company

2009?

Wednesday, 13 May 2009

Page 12: Atlassian - A Different Kind Of Software Company

Impact?

Wednesday, 13 May 2009

Page 13: Atlassian - A Different Kind Of Software Company

Impact?

• Over $USD 110m in lifetime sales... $USD 45m sales in 2008/9... in 116 countries... including Afghanistan, Iraq, Mongolia, Somalia

Wednesday, 13 May 2009

Page 14: Atlassian - A Different Kind Of Software Company

Impact?

• Over $USD 110m in lifetime sales... $USD 45m sales in 2008/9... in 116 countries... including Afghanistan, Iraq, Mongolia, Somalia

• Around 40,000 software teams use our tools... that’s approximately 1m developers ... or 1 in 6 engineers globally use our tools to help them build software every day.

Wednesday, 13 May 2009

Page 15: Atlassian - A Different Kind Of Software Company

!"#$%&

'$(')&%

)*+,-./0*1,23-,/-4566789:;

<596=->9:8-8+1?:-1,=-4161,.+;

@/,A:-B5.C-:8+-.57:/0+?;

'612-17-1-:+10;

<+-:8+-.81,D+-2/5-7++C;

E?+1:+-57+B56-*?/=5.:7-*+/*6+-657:-1B:+?

Atlassian Values

Wednesday, 13 May 2009

Page 16: Atlassian - A Different Kind Of Software Company

Products

Wednesday, 13 May 2009

Page 17: Atlassian - A Different Kind Of Software Company

90 people

12 software teams

10 products

4 countries

2 deployment models

Atlassi

an

Engin

eerin

g

Wednesday, 13 May 2009

Page 18: Atlassian - A Different Kind Of Software Company

Tools & Processes(8 + 2) lessons from our superheroes, on building the tools

your superheroes use.

Wednesday, 13 May 2009

Page 19: Atlassian - A Different Kind Of Software Company

Warning: may contain ads!Wednesday, 13 May 2009

Page 20: Atlassian - A Different Kind Of Software Company

1. Agile• Each team is different in method,

size and impact.

• Agile principles are what’s important.

• Use different tools - GreenHopper to pen & card!

Wednesday, 13 May 2009

Page 21: Atlassian - A Different Kind Of Software Company

2. Traceability• Fundamental to link code to

relevant artifacts - issues/wiki etc

• Few commits without traced issue keys

• Mylyn’s task driven development is really leading the way

Wednesday, 13 May 2009

Page 22: Atlassian - A Different Kind Of Software Company

3. Code Review• Four eyes on every line of code

• Almost every commit is reviewed by a peer

• Reviews ‘traced’ to issues

• Don’t put it off for ‘lack of tools’

• Soon - iterative code review!

Wednesday, 13 May 2009

Page 23: Atlassian - A Different Kind Of Software Company

4. ContinuousIntegration

• Many, many, many builds

• Remote agents. Moving to EC2.

• IM for notifications (not email!)

• Focus on trends not red/green

• LabManager for platform testing

• Performance builds catch regressions

Wednesday, 13 May 2009

Page 24: Atlassian - A Different Kind Of Software Company

5. Optimise Tests• Optimise for time to developer

feedback

• Re-order tests automatically

• Only run affected tests

• Functional test ‘split builds’ for build throughput

Wednesday, 13 May 2009

Page 25: Atlassian - A Different Kind Of Software Company

6. Dogfooding• Put software into ‘users’ hands as

regularly as possible

• Used to do with public releases, now internal dogfooding

• Dogfooding != testing

• Can be hard to find good candidates

Wednesday, 13 May 2009

Page 26: Atlassian - A Different Kind Of Software Company

7. Wiki == Life• We live in our wiki

• Req’ts, docs, blogs, discussions, reports, presentations, community

• Connects dev. to the business

• Connects the business!

Wednesday, 13 May 2009

Page 27: Atlassian - A Different Kind Of Software Company

8. Dev Speed• “Dev Speed Posse”

• Never done - always a focus

• Measure and attack

• 3 “loops”

• Checkout Loop - 10 min rule

• Inner Loop - code w/o reload

• Build & Test Loop - commit to deployment

Wednesday, 13 May 2009

Page 28: Atlassian - A Different Kind Of Software Company

InnovationThe lifeblood of a product company

Wednesday, 13 May 2009

Page 29: Atlassian - A Different Kind Of Software Company

“Because the purpose of business is to create a customer, the business enterprise has two - and only

two - basic functions: marketing and innovation.

Marketing and innovation produce results; all the rest are costs.”

Peter Drucker

Wednesday, 13 May 2009

Page 30: Atlassian - A Different Kind Of Software Company

Innovation Models

1. The lone genius

2. The boss is a genius

3. Copy competitors’ inventions

4. Cluster the geniuses in a lab

5. Make your people the geniuses

Scott Cook - CHI 2006

Wednesday, 13 May 2009

Page 31: Atlassian - A Different Kind Of Software Company

Innovation Models

1. The lone genius

2. The boss is a genius

3. Copy competitors’ inventions

4. Cluster the geniuses in a lab

5. Make your people the geniuses

Scott Cook - CHI 2006

Atlassian 2002

Wednesday, 13 May 2009

Page 32: Atlassian - A Different Kind Of Software Company

Innovation Models

1. The lone genius

2. The boss is a genius

3. Copy competitors’ inventions

4. Cluster the geniuses in a lab

5. Make your people the geniuses

Scott Cook - CHI 2006

Atlassian 2002

Wednesday, 13 May 2009

Page 33: Atlassian - A Different Kind Of Software Company

Innovation Models

1. The lone genius

2. The boss is a genius

3. Copy competitors’ inventions

4. Cluster the geniuses in a lab

5. Make your people the geniuses

Scott Cook - CHI 2006

Atlassian 2002

Atlassian 2012

Wednesday, 13 May 2009

Page 34: Atlassian - A Different Kind Of Software Company

Innovation Models

1. The lone genius

2. The boss is a genius

3. Copy competitors’ inventions

4. Cluster the geniuses in a lab

5. Make your people the geniuses

Scott Cook - CHI 2006

Atlassian 2002

Atlassian 2012

Wednesday, 13 May 2009

Page 35: Atlassian - A Different Kind Of Software Company

Customers?

Wednesday, 13 May 2009

Page 36: Atlassian - A Different Kind Of Software Company

Customers?Listen to your customers

Don’t do what they tell you.

Wednesday, 13 May 2009

Page 37: Atlassian - A Different Kind Of Software Company

Customers?Listen to your customers

Don’t do what they tell you.

Why did they buy?

vs

What do they want?

Wednesday, 13 May 2009

Page 38: Atlassian - A Different Kind Of Software Company

Customers?Listen to your customers

Don’t do what they tell you.

Why did they buy?

vs

What do they want?

Innovation

vs

Incremental Improvement!

Wednesday, 13 May 2009

Page 39: Atlassian - A Different Kind Of Software Company

Innovation Killers

• Company & customer growth

• Date driven culture

• Specifications from ‘on high’

• Not enough ‘slack time’

• Old people

Wednesday, 13 May 2009

Page 40: Atlassian - A Different Kind Of Software Company

Innovation Killers

• Company & customer growth

• Date driven culture

• Specifications from ‘on high’

• Not enough ‘slack time’

• Old people

“You have 6 years of innovation left.” Moritz’ Law(35 minus average age of the company - Mike Moritz, Sequoia)

Wednesday, 13 May 2009

Page 41: Atlassian - A Different Kind Of Software Company

9. Fedex Day• Started in 2004

• 24 hour one-day coding exercise

• Start early AM, demos late afternoon

• One goal - “Ship & deliver in 24 hours”

Wednesday, 13 May 2009

Page 42: Atlassian - A Different Kind Of Software Company

Wednesday, 13 May 2009

Page 43: Atlassian - A Different Kind Of Software Company

Mutations• Added trophy around Fedex 4

• Blue dot voting

• Now quarterly for all development

• Move to two days

• SF and Sydney on different weeks

• Tried in support & marketing - fail

• Used to “spread” tech learning - ie gadgets & OpenSocial

Wednesday, 13 May 2009

Page 44: Atlassian - A Different Kind Of Software Company

A Fedex “Day”(2009)

• One engineer is appointed “Fedex deputy”

• Week & two weeks before - Brown Bag Brainstorm

• ‘Shipment orders’ blogged internally (goal per person)

• Thursday

• 2pm - kick off meeting

• Code until laaaate - pizza @ 8pm for stayers

• Organiser uses broadcast IM to communicate (ie “Remember to take screenshots!”) and runs a chatroom for participants (regular sharing of progress for excitement)

• Friday

• 3pm - demos (split in half - vote top 3)

• 4pm - final 6 demos w/ beers vote for winner & present trophy

• ‘Delivery dockets’ blogged internally (result per person)

Wednesday, 13 May 2009

Page 45: Atlassian - A Different Kind Of Software Company

Learnings

• One day isn’t long enough

• “Winning” needs to be de-emphasised

• Get the whole company to watch demos

• Didn’t work outside development

• Works best with smaller team

• Retrospectives are important - “What do we want to try to ship, and what’s required to get there?”

• Shipping code takes much longer than you think!

Wednesday, 13 May 2009

Page 46: Atlassian - A Different Kind Of Software Company

10. 20% Time• The Google ‘myth’ -

Lawless innovation?

• Aim: discover the realitiesMade up our own rules

• The $1m gamble:http://tinyurl.com/czy9f8

Wednesday, 13 May 2009

Page 47: Atlassian - A Different Kind Of Software Company

Why?

• Build innovative features

• Engineers’ jobs get less fun w/ growth- further from product decisions

• Product Managers aren’t perfect- fill holes in the roadmap

• Discover those with product gene

• The power of a built idea to shape thinking

Wednesday, 13 May 2009

Page 48: Atlassian - A Different Kind Of Software Company

Wednesday, 13 May 2009

Page 49: Atlassian - A Different Kind Of Software Company

How did we go?

Wednesday, 13 May 2009

Page 51: Atlassian - A Different Kind Of Software Company

20% Results

• ‘Filling gaps’ as much as finding next big thing

• Hardest on tech leads!

• Tracking was a contentious issue

• Ended with per person, not project

Wednesday, 13 May 2009

Page 52: Atlassian - A Different Kind Of Software Company

Latest 20% “Rules”

• We trust you

• All projects must be tracked

• No less than one day at a time

• Time booked just like vacation

• 5 days = 3 developers must sign off

• 10 days = founder sign off

• All participation is performance reviewable

Wednesday, 13 May 2009