SlideShare uma empresa Scribd logo
1 de 113
Baixar para ler offline
Software on the High
                       Seas
                      Soren Harner
                        Atlassian




Sunday, 8 May 2011
Sydney 1887
Sunday, 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
Assume a Clock

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




Sunday, 8 May 2011
First Venture Fund

                 •Powder of
                     Sympathy
                 •Grid of
                     cannons


                                 Sir Kenelm Digby


Sunday, 8 May 2011
Breakthrough




                     John Harrison
Sunday, 8 May 2011
What could this possibly
                     have 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
Meet the Atlassians
                            2005




                 • Latest frameworks   • Exciting releases
                 • Rock-star coders    • Agile champions
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 ahead
Sunday, 8 May 2011
We grew




         • Complexity   • Infrastructure   • Firefighting
         • Code debt    • Dependencitis    • n(n-1)
Sunday, 8 May 2011
Doing things right
Sunday, 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 Feature
                     Relative Person Days




                                            Green Fields




Sunday, 8 May 2011
Effort to Build a Feature
                     Relative Person Days




                                                Technical debt cycle starts


                                            Green Fields




Sunday, 8 May 2011
Effort to Build a Feature
                                                                                Innovation crawls
                     Relative Person Days



                                                                   Complexity


                                                Technical debt cycle starts


                                            Green Fields




                                                                                         7 years


Sunday, 8 May 2011
There is a better way to do it.
                                           Find it.

                                 — Thomas Edison




Sunday, 8 May 2011
Landing party
Sunday, 8 May 2011
Death by 1000 Cuts
Sunday, 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
30 second rule
                 • Minor code or UI change < 1s
                 • Class signature rule < 20s
                 • SVN checkout < 3m
                 • App startup < 10s
                 • Unit Tests < 5m




Sunday, 8 May 2011
Tune-Up Guides

           • Intellij IDEA / Eclipse
           • Web Development
           • SVN, GIT
           • Maven
           • Command-line scripts




Sunday, 8 May 2011
Measure
                      Median      90th Percent   99th Percent




                     One month measured each hour via a Groovy script
Sunday, 8 May 2011
Measure
                          Median      90th Percent      99th Percent




      Project in FishEye



             Big JIRA Issue



  SVN Log of JIRA file


                              0     12.5         25.0       37.5       50.0



                         One month measured each hour via a Groovy script
Sunday, 8 May 2011
Measure
                          Median      90th Percent      99th Percent




      Project in FishEye



             Big JIRA Issue



  SVN Log of JIRA file


                              0     12.5         25.0       37.5       50.0



                         One month measured each hour via a Groovy script
Sunday, 8 May 2011
Measure
                          Median      90th Percent      99th Percent




      Project in FishEye



             Big JIRA Issue



  SVN Log of JIRA file


                              0     12.5         25.0       37.5       50.0



                         One month measured each hour via a Groovy script
Sunday, 8 May 2011
Measure
                       Median      90th Percent   99th Percent




                     One month measured each hour via a Groovy script

Sunday, 8 May 2011
Measure
                            Median     90th Percent         99th Percent




  SVN CO JIRA Trunk




            Maven sources



                             0        225             450       675        900


                     One month measured each hour via a Groovy script

Sunday, 8 May 2011
Measure
                            Median     90th Percent         99th Percent




  SVN CO JIRA Trunk




            Maven sources



                             0        225             450       675        900


                     One month measured each hour via a Groovy script

Sunday, 8 May 2011
Measure
                            Median     90th Percent         99th Percent




  SVN CO JIRA Trunk




            Maven sources



                             0        225             450       675        900


                     One month measured each hour via a Groovy script

Sunday, 8 May 2011
Capture Hassles
Sunday, 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
Initiative
                     • Fix up IDE
                       • Tomcat
                       • Maven
                     • Upload sources for
                       maven dependencies

                     • Improve unit tests
                       writing with Mockito




Sunday, 8 May 2011
Improvements

                 • Stay in the zone
                     • Atlassian connectors for IDEA and
                       Eclipse

                 • Number of clicks
                     • Short-cuts, quick-nav



Sunday, 8 May 2011
• Get closure on task
                     • Test execution
                       time

                     • Four eyes
                     • Complete
                       automation

                     • Dial-tone reliability



Sunday, 8 May 2011
Measure time to fail


                 • Functional tests < 20 m
                     • Failure notifications early and visible
                 • Platform tests done overnight
                 • Simultaneously build trunk and branch




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
Initiative

                     • Speeding up Bamboo builds
                       • Parallelising Functional Tests
                       • VMWare templates
                     • Reliability
                       • Artifact passing
                       • CI Maven sandbox




Sunday, 8 May 2011
Improvements

              • Activity streams in all
                     products

              • Bamboo
                     enhancements

                     • Using Amazon EC2
                     • Queue
                       prioritisation




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% Slack
           Let 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 Groovy
Sunday, 8 May 2011
Engine Room
Sunday, 8 May 2011
                      Iterations
Tired of waiting
Sunday, 8 May 2011
Plugins 2 / OSGi
Sunday, 8 May 2011
Effort to Build a Feature




Sunday, 8 May 2011
Effort to Build a Feature
                     Relative Person Days




                                            Green Fields




Sunday, 8 May 2011
Effort to Build a Feature
                     Relative Person Days




                                                 Technical debt cycle starts


                                            Green Fields




Sunday, 8 May 2011
Effort to Build a Feature
                                                                               Innovation crawls
                     Relative Person Days



                                                                  Complexity


                                                 Technical debt cycle starts


                                            Green Fields


                                                                                 Building the clock


                                                                                         7 years


Sunday, 8 May 2011
We built the clock
                     Forever 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 but
                     people looking for big-win, which is CI




Sunday, 8 May 2011
Cost of Change
                      RUP   XP   Atlassian Agile




Sunday, 8 May 2011
Cost of Change
                      RUP           XP            Atlassian Agile




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

Sunday, 8 May 2011
Cost of Change
                                                                                         Use Cases
                                 RUP                XP           Atlassian Agile         UML
                                                                                         QA suite
                                                                                         Horizontal
                                                                                         Gantt Chart
                      20

                              Inception       Construction            Test         RC
                      15
              Hours




                      10


                      5


                      0
                       June    July    Aug   Sept    Nov   Dec     Jan     Feb     Mar




Sunday, 8 May 2011
Cost of Change
                                RUP                 XP             Atlassian Agile



                      20


                      15
              Hours




                      10
                                      Ship early and often


                      5
                                                                                         Evolution
                                                                                         Pairing
                                                                                         Refactor
                      0                                                                  CI
                       June   July    Aug    Sept    Nov     Dec     Jan     Feb     Mar Reflection




Sunday, 8 May 2011
Cost of Change
                                RUP                XP             Atlassian Agile



                      20

                                                                                          User Story
                      15
                                                                                          Iteration-0
                                        Dogfood each iteration,
                                                                                          Reviews
                                            Beta1 & Beta2
              Hours




                                                                                          Vertical
                      10                                                                  Blitz Test
                                                                                          + XP

                      5


                      0
                       June   July    Aug   Sept    Nov   Dec       Jan     Feb     Mar




Sunday, 8 May 2011
Dev Speed Iterations
Sunday, 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 Optimisation
Sunday, 8 May 2011
Sunday, 8 May 2011
Grails Experiment
Sunday, 8 May 2011
Grails Experiment
Sunday, 8 May 2011
Foundered




Sunday, 8 May 2011
Reduce Test Duration




Sunday, 8 May 2011
Summit
Sunday, 8 May 2011
Pampering
Sunday, 8 May 2011
Sunday, 8 May 2011
100 km wall
Sunday, 8 May 2011
Summit
Sunday, 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 1880
Sunday, 8 May 2011
Dev Speed Posse
Sunday, 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 times
Sunday, 8 May 2011
Does it matter?
Sunday, 8 May 2011

Mais conteúdo relacionado

Semelhante a Software on the High Seas

Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentationTheo Schlossnagle
 
Atlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian
 
Managing Projects on a Mac
Managing Projects on a MacManaging Projects on a Mac
Managing Projects on a MacProjectWizards
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forwardeug3n_cojocaru
 
Project Management and the iPad
Project Management and the iPadProject Management and the iPad
Project Management and the iPadProjectWizards
 
Testing distributed, complex web applications
Testing distributed, complex web applicationsTesting distributed, complex web applications
Testing distributed, complex web applicationsJens-Christian Fischer
 
Practical Cloud Security
Practical Cloud SecurityPractical Cloud Security
Practical Cloud SecurityJason Chan
 
Group 5 Presentation
Group 5 PresentationGroup 5 Presentation
Group 5 PresentationCTan9
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackabilityPuppet
 
Design for Marketing Technical Services
Design for Marketing Technical ServicesDesign for Marketing Technical Services
Design for Marketing Technical ServicesJon Sandruck
 
Sinsai.info と Crisis Mapping
Sinsai.info と Crisis Mapping Sinsai.info と Crisis Mapping
Sinsai.info と Crisis Mapping Hal Seki
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5Tim Wright
 
Governing services, data, rules, processes and more
Governing services, data, rules, processes and moreGoverning services, data, rules, processes and more
Governing services, data, rules, processes and moreRandall Hauch
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?LB Denker
 
让开发也懂前端
让开发也懂前端让开发也懂前端
让开发也懂前端lifesinger
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2John Willis
 
Choosing the right Content Management System
Choosing the right Content Management SystemChoosing the right Content Management System
Choosing the right Content Management SystemRachel Andrew
 
P90 X Your Database!!
P90 X Your Database!!P90 X Your Database!!
P90 X Your Database!!Denish Patel
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2ujihisa
 

Semelhante a Software on the High Seas (20)

Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentation
 
Atlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide Deck
 
Managing Projects on a Mac
Managing Projects on a MacManaging Projects on a Mac
Managing Projects on a Mac
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forward
 
Project Management and the iPad
Project Management and the iPadProject Management and the iPad
Project Management and the iPad
 
Testing distributed, complex web applications
Testing distributed, complex web applicationsTesting distributed, complex web applications
Testing distributed, complex web applications
 
Practical Cloud Security
Practical Cloud SecurityPractical Cloud Security
Practical Cloud Security
 
Group 5 Presentation
Group 5 PresentationGroup 5 Presentation
Group 5 Presentation
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackability
 
Design for Marketing Technical Services
Design for Marketing Technical ServicesDesign for Marketing Technical Services
Design for Marketing Technical Services
 
Sinsai.info と Crisis Mapping
Sinsai.info と Crisis Mapping Sinsai.info と Crisis Mapping
Sinsai.info と Crisis Mapping
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
 
Governing services, data, rules, processes and more
Governing services, data, rules, processes and moreGoverning services, data, rules, processes and more
Governing services, data, rules, processes and more
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?
 
让开发也懂前端
让开发也懂前端让开发也懂前端
让开发也懂前端
 
ITP / SED Day 4
ITP / SED Day 4ITP / SED Day 4
ITP / SED Day 4
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
 
Choosing the right Content Management System
Choosing the right Content Management SystemChoosing the right Content Management System
Choosing the right Content Management System
 
P90 X Your Database!!
P90 X Your Database!!P90 X Your Database!!
P90 X Your Database!!
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2
 

Mais de Soren Harner

Intelligent Application Networks with Mule and Tensorflow
Intelligent Application Networks with Mule and TensorflowIntelligent Application Networks with Mule and Tensorflow
Intelligent Application Networks with Mule and TensorflowSoren Harner
 
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...Soren Harner
 
Building Products Quantitatively
Building Products QuantitativelyBuilding Products Quantitatively
Building Products QuantitativelySoren Harner
 
SaaS and Product Metrics
SaaS and Product MetricsSaaS and Product Metrics
SaaS and Product MetricsSoren Harner
 
How Developers Save the Planet
How Developers Save the PlanetHow Developers Save the Planet
How Developers Save the PlanetSoren Harner
 
Cundal gathering june 2011
Cundal gathering june 2011Cundal gathering june 2011
Cundal gathering june 2011Soren Harner
 
Sustainable purchasing
Sustainable purchasingSustainable purchasing
Sustainable purchasingSoren Harner
 

Mais de Soren Harner (10)

Intelligent Application Networks with Mule and Tensorflow
Intelligent Application Networks with Mule and TensorflowIntelligent Application Networks with Mule and Tensorflow
Intelligent Application Networks with Mule and Tensorflow
 
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...
How Augmented Reality Will Improve Our Interactions with Computers from SVVR ...
 
Building Products Quantitatively
Building Products QuantitativelyBuilding Products Quantitatively
Building Products Quantitatively
 
SaaS and Product Metrics
SaaS and Product MetricsSaaS and Product Metrics
SaaS and Product Metrics
 
How Developers Save the Planet
How Developers Save the PlanetHow Developers Save the Planet
How Developers Save the Planet
 
Retrospectives
RetrospectivesRetrospectives
Retrospectives
 
Cundal gathering june 2011
Cundal gathering june 2011Cundal gathering june 2011
Cundal gathering june 2011
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Sustainable purchasing
Sustainable purchasingSustainable purchasing
Sustainable purchasing
 
KNOW CHANGE
KNOW CHANGEKNOW CHANGE
KNOW CHANGE
 

Último

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Último (20)

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

Software on the High Seas

  • 1. Software on the High Seas Soren Harner Atlassian Sunday, 8 May 2011
  • 3. Longitude. Challenge of 1750. (die geographische Längengrad) Sunday, 8 May 2011
  • 4. 1. Set the time on clock at known longitude astronomically Sunday, 8 May 2011
  • 5. 2. Determine local time with Sextant from Sun or stars Sunday, 8 May 2011
  • 6. Assume a Clock 3. Compare local time to time on the clock. 1 hour difference is 15 degrees. Sunday, 8 May 2011
  • 7. First Venture Fund •Powder of Sympathy •Grid of cannons Sir Kenelm Digby Sunday, 8 May 2011
  • 8. Breakthrough John Harrison Sunday, 8 May 2011
  • 9. What could this possibly have to do with Software? Sunday, 8 May 2011
  • 10. • Surviving on the high seas of software • Building a clock • Team • Activities • Rhythm Sunday, 8 May 2011
  • 11. Meet the Atlassians 2005 • Latest frameworks • Exciting releases • Rock-star coders • Agile champions Sunday, 8 May 2011
  • 13. • Straying off course • Dead reckoning • (Koppelnavigation) • Consider all forces • Winds • Currents Sunday, 8 May 2011
  • 14. Harder to stay ahead Sunday, 8 May 2011
  • 15. We grew • Complexity • Infrastructure • Firefighting • Code debt • Dependencitis • n(n-1) Sunday, 8 May 2011
  • 17. 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
  • 18. Effort to Build a Feature Sunday, 8 May 2011
  • 19. Effort to Build a Feature Relative Person Days Green Fields Sunday, 8 May 2011
  • 20. Effort to Build a Feature Relative Person Days Technical debt cycle starts Green Fields Sunday, 8 May 2011
  • 21. Effort to Build a Feature Innovation crawls Relative Person Days Complexity Technical debt cycle starts Green Fields 7 years Sunday, 8 May 2011
  • 22. There is a better way to do it. Find it. — Thomas Edison Sunday, 8 May 2011
  • 24. Death by 1000 Cuts Sunday, 8 May 2011
  • 25. Things that happen in minutes. Sunday, 8 May 2011
  • 26. Things that happen in hours. Sunday, 8 May 2011
  • 27. Things that happen in days. Sunday, 8 May 2011
  • 28. Things that happen in weeks. Sunday, 8 May 2011
  • 31. “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
  • 32. • Achieve a “state of flow” • Bottom up dehassling • Spread knowledge • Measure each step Sunday, 8 May 2011
  • 33. 30 second rule • Minor code or UI change < 1s • Class signature rule < 20s • SVN checkout < 3m • App startup < 10s • Unit Tests < 5m Sunday, 8 May 2011
  • 34. Tune-Up Guides • Intellij IDEA / Eclipse • Web Development • SVN, GIT • Maven • Command-line scripts Sunday, 8 May 2011
  • 35. Measure Median 90th Percent 99th Percent One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 36. Measure Median 90th Percent 99th Percent Project in FishEye Big JIRA Issue SVN Log of JIRA file 0 12.5 25.0 37.5 50.0 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 37. Measure Median 90th Percent 99th Percent Project in FishEye Big JIRA Issue SVN Log of JIRA file 0 12.5 25.0 37.5 50.0 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 38. Measure Median 90th Percent 99th Percent Project in FishEye Big JIRA Issue SVN Log of JIRA file 0 12.5 25.0 37.5 50.0 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 39. Measure Median 90th Percent 99th Percent One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 40. Measure Median 90th Percent 99th Percent SVN CO JIRA Trunk Maven sources 0 225 450 675 900 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 41. Measure Median 90th Percent 99th Percent SVN CO JIRA Trunk Maven sources 0 225 450 675 900 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 42. Measure Median 90th Percent 99th Percent SVN CO JIRA Trunk Maven sources 0 225 450 675 900 One month measured each hour via a Groovy script Sunday, 8 May 2011
  • 45. 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
  • 46. Initiative • Fix up IDE • Tomcat • Maven • Upload sources for maven dependencies • Improve unit tests writing with Mockito Sunday, 8 May 2011
  • 47. Improvements • Stay in the zone • Atlassian connectors for IDEA and Eclipse • Number of clicks • Short-cuts, quick-nav Sunday, 8 May 2011
  • 48. • Get closure on task • Test execution time • Four eyes • Complete automation • Dial-tone reliability Sunday, 8 May 2011
  • 49. Measure time to fail • Functional tests < 20 m • Failure notifications early and visible • Platform tests done overnight • Simultaneously build trunk and branch Sunday, 8 May 2011
  • 50. Selective testing Before: 40 minutes After: 7 minutes Sunday, 8 May 2011
  • 51. Four Eyes • Four rules for code reviews: • Ego-free • Don’t be pedantic • Problems not solutions • Embrace feedback Sunday, 8 May 2011
  • 52. Initiative • Speeding up Bamboo builds • Parallelising Functional Tests • VMWare templates • Reliability • Artifact passing • CI Maven sandbox Sunday, 8 May 2011
  • 53. Improvements • Activity streams in all products • Bamboo enhancements • Using Amazon EC2 • Queue prioritisation Sunday, 8 May 2011
  • 54. “Eat your own dogfood” — Larry Ellison Sunday, 8 May 2011
  • 55. • Tangibility • Rhythm of a meaningful deliverable • Real-world acceptance testing early Sunday, 8 May 2011
  • 56. • For each iteration • slack time • ship a milestone build • founder and expert reviews • run in production Sunday, 8 May 2011
  • 57. 20% Slack Let personal projects flourish Sunday, 8 May 2011
  • 58. 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
  • 60. • Fixed bandwidth to repay technical debt • Introduce new tools and frameworks Sunday, 8 May 2011
  • 61. Nibbling around the edges. Sunday, 8 May 2011
  • 62. ‘Instead we have to look at architecture, design, development and toolset of the products themselves.’ Sunday, 8 May 2011
  • 64. Engine Room Sunday, 8 May 2011 Iterations
  • 66. Plugins 2 / OSGi Sunday, 8 May 2011
  • 67. Effort to Build a Feature Sunday, 8 May 2011
  • 68. Effort to Build a Feature Relative Person Days Green Fields Sunday, 8 May 2011
  • 69. Effort to Build a Feature Relative Person Days Technical debt cycle starts Green Fields Sunday, 8 May 2011
  • 70. Effort to Build a Feature Innovation crawls Relative Person Days Complexity Technical debt cycle starts Green Fields Building the clock 7 years Sunday, 8 May 2011
  • 71. We built the clock Forever tune and refine Sunday, 8 May 2011
  • 72. Thanks! http://blogs.atlassian.com/developer Sunday, 8 May 2011
  • 74. Inner loop stuff is good but people looking for big-win, which is CI Sunday, 8 May 2011
  • 75. Cost of Change RUP XP Atlassian Agile Sunday, 8 May 2011
  • 76. Cost of Change RUP XP Atlassian Agile Cost of a 1/2 day code change (gut feel). Sunday, 8 May 2011
  • 77. Cost of Change Use Cases RUP XP Atlassian Agile UML QA suite Horizontal Gantt Chart 20 Inception Construction Test RC 15 Hours 10 5 0 June July Aug Sept Nov Dec Jan Feb Mar Sunday, 8 May 2011
  • 78. Cost of Change RUP XP Atlassian Agile 20 15 Hours 10 Ship early and often 5 Evolution Pairing Refactor 0 CI June July Aug Sept Nov Dec Jan Feb Mar Reflection Sunday, 8 May 2011
  • 79. Cost of Change RUP XP Atlassian Agile 20 User Story 15 Iteration-0 Dogfood each iteration, Reviews Beta1 & Beta2 Hours Vertical 10 Blitz Test + XP 5 0 June July Aug Sept Nov Dec Jan Feb Mar Sunday, 8 May 2011
  • 82. 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
  • 93. 100 km wall Sunday, 8 May 2011
  • 99. Posse parallelizing JIRA Tests Sunday, 8 May 2011
  • 100. Posse: Test Optimisation with Confluence Sunday, 8 May 2011
  • 101. Sunday, 8 May 2011
  • 102. Sunday, 8 May 2011
  • 103. Sunday, 8 May 2011
  • 104. Sunday, 8 May 2011
  • 105. But how fast? Sunday, 8 May 2011
  • 107. Dev Speed Posse Sunday, 8 May 2011
  • 110. 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
  • 111. Sunday, 8 May 2011
  • 113. Does it matter? Sunday, 8 May 2011