How To Do Kick-Ass Software Development, by Sven Peters

1,941 views

Published on

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,941
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
32
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

How To Do Kick-Ass Software Development, by Sven Peters

  1. 1. How to do Kick-Ass Software Development
  2. 2. Who expects to see some code?
  3. 3. System.out.println ("Sorry, you may leave now");
  4. 4. Who expects to learn a new methodology?
  5. 5. There is no Kick-Ass manifesto! ...and no certification
  6. 6. Who just wants to kick ass?
  7. 7. THIS IS YOUR TALK Yes, that's me ;)
  8. 8. How to do kick ass development?
  9. 9. Use Java
  10. 10. Use Java ...is not so important
  11. 11. Sven Peters Atlassian Ambassador @svenpet svenpet.com
  12. 12. better software happy developers less overhead happy customer faster development Agile
  13. 13. Agile2013 ? What's the state of
  14. 14. We are uncovering better the only ways of developing software by doing it and helping teaching others do it. Through this work we have come to value: Individuals and interactions over and not processes and tools Working software over and not comprehensive documentation Customer collaboration over and not contract negotiation Responding to change over and not following a plan That is, while since there is no value in the items on the right, we value only the items on the left more. The Dark Manifesto of Agile Software Development
  15. 15. Programming, Motherfucker Do you speak it?
  16. 16. Agile Is dead?
  17. 17. The Gartner Hype Curve Agile?
  18. 18. some smart people! Guru We need
  19. 19. and kick-ass again Stop following the next guru
  20. 20. adding processes helps legacy teams think... old decisions still apply changing stuff is too complicated ONE WAY
  21. 21. and kick-ass again Let's improve!
  22. 22. legacy teams think... NO WAY I don't give a #@!%
  23. 23. Deliver Kick-Ass Software Kick-Ass Automation One Kick-Ass Team Kick-Ass Collaboration Ass Kicking Topics
  24. 24. Deliver Kick-Ass Software
  25. 25. Building the right thing How do we know? before Microsoft Kin
  26. 26. Fake it til you Make it
  27. 27. Speech-to-Text Experiment
  28. 28. even one step before that.... Paper Prototypes
  29. 29. SoftwareConstruction Area - Improving Software
  30. 30. Feedback Generate a kick-ass Experience
  31. 31. Make it simple Easy to find Fast to submit
  32. 32. GOT FEEDBACK?
  33. 33. GOT FEEDBACK?
  34. 34. GOT FEEDBACK? Got Feedback? Submit Cancel What do you like? * Good tools, but this talk doesn't kick ass at all! What needs to be improved?* Add more jokes! Name BrowseUpload a screenshot Email Freddy Eedback f.eedback@complain.com Rate the page * Awesome HorribleGood Meh! Bad
  35. 35. GOT FEEDBACK? Got Feedback? Submit Cancel What do you like? * Good tools, but this talk doesn't kick ass at all! What needs to be improved?* Add more jokes! Name BrowseUpload a screenshot Email Freddy Eedback f.eedback@complain.com Rate the page * Awesome HorribleGood Meh! Bad Make it simple Easy to find Fast to submit
  36. 36. Protect your Developers
  37. 37. The Sh*t umbrella 100 developer 425 million user
  38. 38. We're not doing
  39. 39. Everyone On The Front Line
  40. 40. Close the Loop Feedback and get pers nal
  41. 41. Developers on Support
  42. 42. Care about your customers! Have an effective feedback loop Keep improving!
  43. 43. Kick-Ass Team One
  44. 44. Developer DifferentRoles Responsibilities Tester
  45. 45. Developer Tester The Problems Bottlenecks : Accountability : Scalability
  46. 46. DoT Developer on Test
  47. 47. So the developers are doing all the work?
  48. 48. Qual·i·ty As·sis·tance [kwol-i-tee] [uh-sis-tuh ns] Quality is everybody's responsibility. QA employees help and train developers to become better tester, testing the more complicated stuff, creating test data, investigating in new test tools and working on test strategies. QA
  49. 49. 6 Tipsfor kick-ass DoTing
  50. 50. 1. Training
  51. 51. 2. Pairing
  52. 52. 3. Blitz Test
  53. 53. 4. Test Recipe* * advanced doting
  54. 54. 5. Split Sessions* * advanced doting
  55. 55. 6. Bug Hunter* * advanced doting
  56. 56. Qualityis everybody's responsibility
  57. 57. Design Developers are doing
  58. 58. Design Developers are doing
  59. 59. should we have designers? Why
  60. 60. Designers?Scaling Designer Designer ? ?
  61. 61. Designer Designer Developer Developer Developers FTW!Use Designers?Scaling
  62. 62. Our developers need some Design guidance!
  63. 63. Design Guidelines Tools to test designJust a few controls Simple rules https://developer.atlassian.com/design/ Dev Speed Kick-Ass
  64. 64. DesignWorkshopfor Developers
  65. 65. Designers Developers are
  66. 66. DevelopersDesigners removing friction
  67. 67. Designers Developers areare Designer in code
  68. 68. Department barriers slows you down! Work together as one team! Keep improving!
  69. 69. Collaboration Kick-Ass
  70. 70. Lonesome Cowboy Coder
  71. 71. The trouble starts with the team
  72. 72. Traffic Rules are protecting us from accidents
  73. 73. Development Rules are protecting us from making mistakes
  74. 74. Process Process Process Process Process Process Process Process Proc Process Process Process Process Process Process Process Process rocess Process Process Process Process Process Process Process Proces Process Process Process Process Process Process Process Process Proc rocess Process Process Process Process Process Process Process Proces cess Process Process Process Process Process Process Process Process cess Process Process Process Process Process Process Process Process Process Process Process Process Process Process Process Process Proce Process Process Process Process Process Process Process Process Proc ocess Process Process Process Process Process Process Process Process rocess Process Process Process Process Process Process Process Proces
  75. 75. Fast + Simple Workflow For Parallel Coding Coding
  76. 76. A branch for every task
  77. 77. Branches have short lives average 2 days
  78. 78. we use Pull Requests what do you think?
  79. 79. learn better quality feel better blame Why do you want to discuss your code changes?
  80. 80. fast approvals moving fast 2
  81. 81. Collocated Teams we prefer
  82. 82. It's not always possible the truth is
  83. 83. Where do you work best? ...in the office? ...in the coffee bar next door? ...on your couch at home? it depends
  84. 84. do you communicate How effectively?
  85. 85. Emails asynchronous offline one to many add people
  86. 86. Are you crazy?
  87. 87. too much
  88. 88. Emails often too long are bad for conversations lots of spam needs an action Problems
  89. 89. Emails often too long are bad for conversations lots of spam needs an action Problems
  90. 90. ChatWho uses ?
  91. 91. Chat Rooms Confluence Developer Design Team Enterprise Discussions Beer Drinkers Just the conversations you need to kick ass
  92. 92. Chat is great for remote conversations ...and local! People can stay in the zone
  93. 93. Chat is great for different timezones The chat records all conversations that happened during the night
  94. 94. Chat can pull people into the conversation Just @mention someone with ease
  95. 95. Choose your tools wisely
  96. 96. We built portals! Mac mini TV Camera
  97. 97. Remove collaboration friction. Easy workflows -> fast development Keep improving!
  98. 98. Automation Kick-Ass
  99. 99. We're helping people to be faster by automating their work
  100. 100. How much time do you spend a week to automate your software development?
  101. 101. Whois doing continuous integration?
  102. 102. Whois doing kick-ass continuous integration?
  103. 103. Our builds took to long were too complicated were unstable missed a concept sucked
  104. 104. Fail Fast
  105. 105. 4 things how to tame monster builds and kick-ass again
  106. 106. 1. Pass the artifact
  107. 107. 2. Parallelize Tests
  108. 108. 3. Have a build strategy building + unit & UI tests every check in platform tests less frequent (every hour) performance tests nightly builds
  109. 109. 4. Look at your stats!Data Porn
  110. 110. Faster builds >> less task switching Care about automation
  111. 111. More automation awesomeness!
  112. 112. Flakey Test Handle with care This side up Flakey Test Detector
  113. 113. Wallboards
  114. 114. Freud Bot
  115. 115. Use your skills to automate things! Keep improving!
  116. 116. Release Button single push deployment
  117. 117. Deliver Kick-Ass Software Kick-Ass Automation One Kick-Ass Team Kick-Ass Collaboration
  118. 118. Kick-Ass Software Development
  119. 119. Kick-Ass Software Development Kick-Ass dev speed Kick-Ass team Kick-Ass quality Kick-Ass customers Kick-Ass scale
  120. 120. Kick-Ass Software Development Kick-Ass dev speed Kick-Ass team Kick-Ass quality Kick-Ass customers Kick-Ass scale
  121. 121. Agile Is dead?
  122. 122. Be excellent in everything you do
  123. 123. Managers are humans, too! easier harder
  124. 124. Sharesuccess & failures
  125. 125. Builda kick-ass culture
  126. 126. Step out of your comfort zone and be more awesome
  127. 127. Did you kick ass today?
  128. 128. Thanks! @svenpet svenpet.com/slides

×