software on the high seas

Post on 11-May-2015

2.200 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Going beyond the pitfalls of agile to create a learning, improving organisation

TRANSCRIPT

Software on the High Seas

Soren HarnerAtlassian

Sunday, 8 May 2011

Sydney 1887Sunday, 8 May 2011

Longitude.Challenge of 1750.(die geographische

Längengrad)

Sunday, 8 May 2011

1. Set the time on clock at known longitude astronomically

Sunday, 8 May 2011

2. Determine local time with Sextant from Sun or stars

Sunday, 8 May 2011

3. Compare local time to time on the clock.1 hour difference is 15 degrees.

Assume a Clock

Sunday, 8 May 2011

First Venture Fund

•Powder of Sympathy

•Grid of cannons

Sir Kenelm Digby

Sunday, 8 May 2011

John Harrison

Breakthrough

Sunday, 8 May 2011

What could this possiblyhave to do with Software?

Sunday, 8 May 2011

• Surviving on the high seas of software

• Building a clock

• Team

• Activities

• Rhythm

Sunday, 8 May 2011

• Latest frameworks

• Rock-star coders

• Exciting releases

• Agile champions

Meet the Atlassians 2005

Sunday, 8 May 2011

Smooth sailing

Sunday, 8 May 2011

• Straying off course

• Dead reckoning

• (Koppelnavigation)

• Consider all forces

• Winds

• Currents

Sunday, 8 May 2011

Harder to stay aheadSunday, 8 May 2011

• Complexity

• Code debt

• Infrastructure

• Dependencitis

• Firefighting

• n(n-1)

We grew

Sunday, 8 May 2011

Doing things rightSunday, 8 May 2011

Survey staff

• Feature through-put dropping

• Accepting “tolerable inefficiency”

• e.g. 66% have daily infrastructure problems

• 73% felt more productive at Atlassian than last job

Sunday, 8 May 2011

Effort to Build a Feature

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Green Fields

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Technical debt cycle starts

Green Fields

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Technical debt cycle starts

Innovation crawls

Green Fields

7 years

Complexity

Sunday, 8 May 2011

There is a better way to do it.Find it.

— Thomas Edison

Sunday, 8 May 2011

Landing partySunday, 8 May 2011

Death by 1000 CutsSunday, 8 May 2011

Things that happen in minutes.

Sunday, 8 May 2011

Things that happen in hours.

Sunday, 8 May 2011

Things that happen in days.

Sunday, 8 May 2011

Things that happen in weeks.

Sunday, 8 May 2011

Activity Clock

Sunday, 8 May 2011

Activity Clock

Sunday, 8 May 2011

“It takes a slow descent into the subject, requiring fifteen minutes or more of concentration before the state is locked in.”

— Peopleware, Lister & DeMarco, 1987

Sunday, 8 May 2011

• Achieve a “state of flow”

• Bottom up dehassling

• Spread knowledge

• Measure each step

Sunday, 8 May 2011

• Minor code or UI change < 1s

• Class signature rule < 20s

• SVN checkout < 3m

• App startup < 10s

• Unit Tests < 5m

30 second rule

Sunday, 8 May 2011

Tune-Up Guides

• Intellij IDEA / Eclipse

• Web Development

• SVN, GIT

• Maven

• Command-line scripts

Sunday, 8 May 2011

MeasureMedian 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 12.5 25.0 37.5 50.0

Project in FishEye

Big JIRA Issue

SVN Log of JIRA file

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 12.5 25.0 37.5 50.0

Project in FishEye

Big JIRA Issue

SVN Log of JIRA file

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 12.5 25.0 37.5 50.0

Project in FishEye

Big JIRA Issue

SVN Log of JIRA file

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

MeasureMedian 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 225 450 675 900

SVN CO JIRA Trunk

Maven sources

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 225 450 675 900

SVN CO JIRA Trunk

Maven sources

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Measure

0 225 450 675 900

SVN CO JIRA Trunk

Maven sources

Median 90th Percent 99th Percent

One month measured each hour via a Groovy script

Sunday, 8 May 2011

Capture HasslesSunday, 8 May 2011

Sunday, 8 May 2011

Picture Emerges• IDE slow scanning files

• Making small code change to SAL takes days

• Maven stalls downloading dependencies

• Wiki running slowly

• CI Server builds hanging

• Releasing product is manual and slow

Sunday, 8 May 2011

• Fix up IDE

• Tomcat

• Maven

• Upload sources for maven dependencies

• Improve unit tests writing with Mockito

Initiative

Sunday, 8 May 2011

• Stay in the zone

• Atlassian connectors for IDEA and Eclipse

• Number of clicks

• Short-cuts, quick-nav

Improvements

Sunday, 8 May 2011

• Get closure on task

• Test execution time

• Four eyes

• Complete automation

• Dial-tone reliability

Sunday, 8 May 2011

• Functional tests < 20 m

• Failure notifications early and visible

• Platform tests done overnight

• Simultaneously build trunk and branch

Measure time to fail

Sunday, 8 May 2011

Selective testing

Before: 40 minutes After: 7 minutes

Sunday, 8 May 2011

Four Eyes• Four rules for code

reviews:

• Ego-free

• Don’t be pedantic

• Problems not solutions

• Embrace feedback

Sunday, 8 May 2011

• Speeding up Bamboo builds

• Parallelising Functional Tests

• VMWare templates

• Reliability

• Artifact passing

• CI Maven sandbox

Initiative

Sunday, 8 May 2011

• Activity streams in all products

• Bamboo enhancements

• Using Amazon EC2

• Queue prioritisation

Improvements

Sunday, 8 May 2011

“Eat your own dogfood”

— Larry Ellison

Sunday, 8 May 2011

• Tangibility

• Rhythm of a meaningful deliverable

• Real-world acceptance testing early

Sunday, 8 May 2011

• For each iteration

• slack time

• ship a milestone build

• founder and expert reviews

• run in production

Sunday, 8 May 2011

20% SlackLet personal

projects flourish

Sunday, 8 May 2011

Use it daily

“After using it for a week or so, I’m starting to notice quite a few things about the new

FishEye/Crucible.”

Sunday, 8 May 2011

“Foundered”

Sunday, 8 May 2011

• Fixed bandwidth to repay technical debt

• Introduce new tools and frameworks

Sunday, 8 May 2011

Nibbling around the edges.

Sunday, 8 May 2011

‘Instead we have to look at architecture, design,

development and toolset of the products themselves.’

Sunday, 8 May 2011

The GroovySunday, 8 May 2011

Engine Room Iterations

Sunday, 8 May 2011

Tired of waitingSunday, 8 May 2011

Plugins 2 / OSGiSunday, 8 May 2011

Effort to Build a Feature

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Green Fields

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Technical debt cycle starts

Green Fields

Sunday, 8 May 2011

Effort to Build a FeatureR

elat

ive

Pers

on D

ays

Technical debt cycle starts

Innovation crawls

Green Fields

7 years

Complexity

Building the clock

Sunday, 8 May 2011

We built the clockForever tune and refine

Sunday, 8 May 2011

Thanks!

http://blogs.atlassian.com/developer

Sunday, 8 May 2011

Sunday, 8 May 2011

Inner loop stuff is good butpeople looking for big-win, which is CI

Sunday, 8 May 2011

Cost of ChangeRUP XP Atlassian Agile

Sunday, 8 May 2011

Cost of ChangeRUP XP Atlassian Agile

Cost of a 1/2 day code change (gut feel).

Sunday, 8 May 2011

Cost of Change

June July Aug Sept Nov Dec Jan Feb Mar0

5

10

15

20

RUP XP Atlassian Agile

Hou

rs

RCTestConstructionInception

Use CasesUMLQA suiteHorizontalGantt Chart

Sunday, 8 May 2011

Cost of Change

June July Aug Sept Nov Dec Jan Feb Mar0

5

10

15

20

RUP XP Atlassian Agile

Hou

rs

EvolutionPairingRefactorCIReflection

Ship early and often

Sunday, 8 May 2011

Cost of Change

June July Aug Sept Nov Dec Jan Feb Mar0

5

10

15

20

RUP XP Atlassian Agile

Hou

rs

User StoryIteration-0ReviewsVerticalBlitz Test+ XP

Dogfood each iteration,Beta1 & Beta2

Sunday, 8 May 2011

Dev Speed IterationsSunday, 8 May 2011

Sunday, 8 May 2011

Reckless O Soul, exploring, I with thee, and thou with me,For we are bound where Agile Team has not yet dared go,And we risk the ship, our selves and all

— Walt Whitman, “Leaves of Grass”, with apologies

Sunday, 8 May 2011

“The Hoff”Sunday, 8 May 2011

Test OptimisationSunday, 8 May 2011

Sunday, 8 May 2011

Grails ExperimentSunday, 8 May 2011

Grails ExperimentSunday, 8 May 2011

Foundered

Sunday, 8 May 2011

Reduce Test Duration

Sunday, 8 May 2011

SummitSunday, 8 May 2011

PamperingSunday, 8 May 2011

Sunday, 8 May 2011

100 km wall Sunday, 8 May 2011

SummitSunday, 8 May 2011

Sunday, 8 May 2011

Sunday, 8 May 2011

Blame Game

Sunday, 8 May 2011

Sunday, 8 May 2011

Posse parallelizing JIRA Tests

Sunday, 8 May 2011

Posse: Test Optimisation with Confluence

Sunday, 8 May 2011

Sunday, 8 May 2011

Sunday, 8 May 2011

Sunday, 8 May 2011

Sunday, 8 May 2011

But how fast?Sunday, 8 May 2011

Mission Dolores 1880Sunday, 8 May 2011

Dev Speed PosseSunday, 8 May 2011

Disturbed!Sunday, 8 May 2011

EOL

Sunday, 8 May 2011

Automation• CI Server is the “face”

• One Button

• Elastic

• Centrally owned and managed

• Cover supported platforms

• Reliable

• Continuous deployment (coming soon)

Sunday, 8 May 2011

Sunday, 8 May 2011

Tough timesSunday, 8 May 2011

Does it matter?Sunday, 8 May 2011

top related