Your SlideShare is downloading. ×
0
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Software on the High Seas
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Software on the High Seas

2,203

Published on

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

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

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,203
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software on the High Seas Soren Harner AtlassianSunday, 8 May 2011
  • 2. Sydney 1887Sunday, 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 astronomicallySunday, 8 May 2011
  • 5. 2. Determine local time with Sextant from Sun or starsSunday, 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 DigbySunday, 8 May 2011
  • 8. Breakthrough John HarrisonSunday, 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 • RhythmSunday, 8 May 2011
  • 11. Meet the Atlassians 2005 • Latest frameworks • Exciting releases • Rock-star coders • Agile championsSunday, 8 May 2011
  • 12. Smooth sailingSunday, 8 May 2011
  • 13. • Straying off course • Dead reckoning • (Koppelnavigation) • Consider all forces • Winds • CurrentsSunday, 8 May 2011
  • 14. Harder to stay aheadSunday, 8 May 2011
  • 15. We grew • Complexity • Infrastructure • Firefighting • Code debt • Dependencitis • n(n-1)Sunday, 8 May 2011
  • 16. Doing things rightSunday, 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 jobSunday, 8 May 2011
  • 18. Effort to Build a FeatureSunday, 8 May 2011
  • 19. Effort to Build a Feature Relative Person Days Green FieldsSunday, 8 May 2011
  • 20. Effort to Build a Feature Relative Person Days Technical debt cycle starts Green FieldsSunday, 8 May 2011
  • 21. Effort to Build a Feature Innovation crawls Relative Person Days Complexity Technical debt cycle starts Green Fields 7 yearsSunday, 8 May 2011
  • 22. There is a better way to do it. Find it. — Thomas EdisonSunday, 8 May 2011
  • 23. Landing partySunday, 8 May 2011
  • 24. Death by 1000 CutsSunday, 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
  • 29. Activity ClockSunday, 8 May 2011
  • 30. Activity ClockSunday, 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, 1987Sunday, 8 May 2011
  • 32. • Achieve a “state of flow” • Bottom up dehassling • Spread knowledge • Measure each stepSunday, 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 < 5mSunday, 8 May 2011
  • 34. Tune-Up Guides • Intellij IDEA / Eclipse • Web Development • SVN, GIT • Maven • Command-line scriptsSunday, 8 May 2011
  • 35. Measure Median 90th Percent 99th Percent One month measured each hour via a Groovy scriptSunday, 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 scriptSunday, 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 scriptSunday, 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 scriptSunday, 8 May 2011
  • 39. Measure Median 90th Percent 99th Percent One month measured each hour via a Groovy scriptSunday, 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 scriptSunday, 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 scriptSunday, 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 scriptSunday, 8 May 2011
  • 43. Capture HasslesSunday, 8 May 2011
  • 44. 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 slowSunday, 8 May 2011
  • 46. Initiative • Fix up IDE • Tomcat • Maven • Upload sources for maven dependencies • Improve unit tests writing with MockitoSunday, 8 May 2011
  • 47. Improvements • Stay in the zone • Atlassian connectors for IDEA and Eclipse • Number of clicks • Short-cuts, quick-navSunday, 8 May 2011
  • 48. • Get closure on task • Test execution time • Four eyes • Complete automation • Dial-tone reliabilitySunday, 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 branchSunday, 8 May 2011
  • 50. Selective testing Before: 40 minutes After: 7 minutesSunday, 8 May 2011
  • 51. Four Eyes • Four rules for code reviews: • Ego-free • Don’t be pedantic • Problems not solutions • Embrace feedbackSunday, 8 May 2011
  • 52. Initiative • Speeding up Bamboo builds • Parallelising Functional Tests • VMWare templates • Reliability • Artifact passing • CI Maven sandboxSunday, 8 May 2011
  • 53. Improvements • Activity streams in all products • Bamboo enhancements • Using Amazon EC2 • Queue prioritisationSunday, 8 May 2011
  • 54. “Eat your own dogfood” — Larry EllisonSunday, 8 May 2011
  • 55. • Tangibility • Rhythm of a meaningful deliverable • Real-world acceptance testing earlySunday, 8 May 2011
  • 56. • For each iteration • slack time • ship a milestone build • founder and expert reviews • run in productionSunday, 8 May 2011
  • 57. 20% Slack Let personal projects flourishSunday, 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
  • 59. “Foundered”Sunday, 8 May 2011
  • 60. • Fixed bandwidth to repay technical debt • Introduce new tools and frameworksSunday, 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
  • 63. The GroovySunday, 8 May 2011
  • 64. Engine RoomSunday, 8 May 2011 Iterations
  • 65. Tired of waitingSunday, 8 May 2011
  • 66. Plugins 2 / OSGiSunday, 8 May 2011
  • 67. Effort to Build a FeatureSunday, 8 May 2011
  • 68. Effort to Build a Feature Relative Person Days Green FieldsSunday, 8 May 2011
  • 69. Effort to Build a Feature Relative Person Days Technical debt cycle starts Green FieldsSunday, 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 yearsSunday, 8 May 2011
  • 71. We built the clock Forever tune and refineSunday, 8 May 2011
  • 72. Thanks! http://blogs.atlassian.com/developerSunday, 8 May 2011
  • 73. Sunday, 8 May 2011
  • 74. Inner loop stuff is good but people looking for big-win, which is CISunday, 8 May 2011
  • 75. Cost of Change RUP XP Atlassian AgileSunday, 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 MarSunday, 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 ReflectionSunday, 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 MarSunday, 8 May 2011
  • 80. Dev Speed IterationsSunday, 8 May 2011
  • 81. 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 apologiesSunday, 8 May 2011
  • 83. “The Hoff”Sunday, 8 May 2011
  • 84. Test OptimisationSunday, 8 May 2011
  • 85. Sunday, 8 May 2011
  • 86. Grails ExperimentSunday, 8 May 2011
  • 87. Grails ExperimentSunday, 8 May 2011
  • 88. FounderedSunday, 8 May 2011
  • 89. Reduce Test DurationSunday, 8 May 2011
  • 90. SummitSunday, 8 May 2011
  • 91. PamperingSunday, 8 May 2011
  • 92. Sunday, 8 May 2011
  • 93. 100 km wallSunday, 8 May 2011
  • 94. SummitSunday, 8 May 2011
  • 95. Sunday, 8 May 2011
  • 96. Sunday, 8 May 2011
  • 97. Blame GameSunday, 8 May 2011
  • 98. Sunday, 8 May 2011
  • 99. Posse parallelizing JIRA TestsSunday, 8 May 2011
  • 100. Posse: Test Optimisation with ConfluenceSunday, 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
  • 106. Mission Dolores 1880Sunday, 8 May 2011
  • 107. Dev Speed PosseSunday, 8 May 2011
  • 108. Disturbed!Sunday, 8 May 2011
  • 109. EOLSunday, 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
  • 112. Tough timesSunday, 8 May 2011
  • 113. Does it matter?Sunday, 8 May 2011

×