Upload
soren-harner
View
2.200
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Going beyond the pitfalls of agile to create a learning, improving organisation
Citation preview
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