Your SlideShare is downloading. ×
The Seven Wastes of Software Development
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

The Seven Wastes of Software Development

2,020

Published on

As presented at Memphis JUG, February 15, 2011.

As presented at Memphis JUG, February 15, 2011.

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

No Downloads
Views
Total Views
2,020
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
51
Comments
0
Likes
3
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. THE SEVEN WASTES OF SOFTWAREDEVELOPMENT Matt Stine
  • 2. THE SEVENDeadly Sins WASTES OF SOFTWAREDEVELOPMENT Matt Stine
  • 3. About your speaker...• Senior Software Architect/Web Developer• Speaker (JavaOne, SpringOne/2GX, Lambda Lounge, NFJS, RWX, PAX, UberConf)• Author (GroovyMag, NFJS the Magazine, Selenium 2.0 Refcard)• President of the Memphis/Mid-South Java User Group• Past Agile Zone Leader @ DZone http://agile.dzone.com/articles/seven-wastes- software
  • 4. Taiichi Ohno
  • 5. “All we are doing is looking at the time line, from the moment the customer gives us an order to the point when we collect the cash. And we arereducing the time line by reducing the non-value adding wastes.” Taiichi Ohno
  • 6. Shingo’s seven wastes• In-Process Inventory• Extra Processing• Overproduction• Transportation• Waiting• Motion• Defects
  • 7. MARY and tom’s seven wastes• Partially Done Work• Extra Processes• Extra Features• Handoffs• Delays• Task Switching• Defects
  • 8. Partially done work
  • 9. CLUTTER
  • 10. //TODO
  • 11. //FIXME
  • 12. @SuppressWarnings(“unchecked”)
  • 13. it gets in the way!
  • 14. Avoiding Partially Done Work
  • 15. Limit your work in progress
  • 16. short cycles
  • 17. January 1, 2011 February 25, 2011 Minimize Long Running Branches
  • 18. Continuous integration QA Deployment delivery
  • 19. Merciless Refactoring
  • 20. ExtrA Processes
  • 21. ceremony
  • 22. Integration
  • 23. TESTING
  • 24. Version Control
  • 25. Databasemigrations
  • 26. Deployment
  • 27. Solutions?
  • 28. The Butler Formerly Known as Hudson http://jenkins-ci.org
  • 29. http://gradle.org
  • 30. HTTP://geb.codehaus.org http://spockframework.org 2WebDriver http://seleniumhq.org
  • 31. http://www.liquibase.org
  • 32. http://git-scm.com
  • 33. https://github.com/capistrano/capistrano/wiki
  • 34. http://redcareditor.com http://www.gnu.org/software/emacs http://macromates.com http://www.vim.org
  • 35. pushd sh popd awk bashfind zsh grep cat sed ksh
  • 36. http://www.cygwin.com
  • 37. http://clojure.org http://scala-lang.orghttp://www.jython.orghttp://groovy.codehaus.org http://jruby.org
  • 38. ExtrA Features
  • 39. Pet Features
  • 40. Obsolete Features
  • 41. o l dG ing l a tP
  • 42. RDD
  • 43. PATTERNS
  • 44. Extra code• Must be tracked• Must be compiled• Must be integrated• Must be tested• Must be maintained• Increases complexity• Adds potential failure points• Likely will become obsolete before use
  • 45. the worst wastE?
  • 46. Avoiding extrA Features
  • 47. Frequent Product Demos
  • 48. Frequent ProductionDeployments
  • 49. YAGNI
  • 50. The cheapest, fastest, and mostreliable components of a computersystem are those that arent there. Gordon Bell
  • 51. HANDOFFS
  • 52. How the customer explained it...
  • 53. How the analyst designed it...
  • 54. How the programmer wrote it...
  • 55. What the testers received...
  • 56. What operations installed...
  • 57. What the customer really needed!
  • 58. tacit knowledge
  • 59. if each handoffleaves 50% behind:• 25% of knowledge left after 2 handoffs• 12% of knowledge left after 3 handoffs• 6% of knowledge left after 4 handoffs• 3% of knowledge left after 5 handoffs
  • 60. http://en.wikipedia.org/wiki/DevOps
  • 61. HIGH-BANDWIDTHCommunication
  • 62. Tone Words38% 7% Body Language 55%
  • 63. Source: Neal Ford, “On the Lam from the Furniture Police” DSSS 2009.
  • 64. Source: Neal Ford, “On the Lam from the Furniture Police” DSSS 2009.
  • 65. Source: Neal Ford, “On the Lam from the Furniture Police” DSSS 2009.
  • 66. e-mail is your LAST RESORT!!!
  • 67. DELAYS
  • 68. gateway drug
  • 69. partially done work
  • 70. extra processing
  • 71. task switching
  • 72. manifestations
  • 73. codecheck-in
  • 74. big bangintegration
  • 75. Design Planning big “anything” up frontRequirements Analysis
  • 76. testing
  • 77. deployment
  • 78. fight delays
  • 79. CHECK-IN-driven development
  • 80. CHECK-IN-driven development• Write enough test to fail
  • 81. CHECK-IN-driven development• Write enough test to fail• Write enough code to pass
  • 82. CHECK-IN-driven development• Write enough test to fail• Write enough code to pass• Refactor
  • 83. CHECK-IN-driven development• Write enough test to fail• Write enough code to pass• Refactor• CHECK-IN, CHECK-IN, CHECK-IN!!!
  • 84. continuousintegration
  • 85. tighten thefeedback loop!
  • 86. LIMIT WIP
  • 87. continuous qa
  • 88. continuous delivery
  • 89. TASK SWITCHING
  • 90. FLOW
  • 91. time disappearstunnel vision “in the zone”total concentration insanely productive Source: Neal Ford, “The Productive Programmer: Canonicality/Focus,” NESS 2008.
  • 92. Week 1 Week 2 Week 3 Week 4
  • 93. Task A Task B Task CWeek 1 Week 2 Week 3 Week 4
  • 94. Task A Task B Task CWeek 1 Week 2 Week 3 Week 4
  • 95. Task A Task B Task CWeek 1 Week 2 Week 3 Week 4
  • 96. Task A Task B Task CWeek 1 Week 2 Week 3 Week 4
  • 97. Task A Task B Task CWeek 1 Week 2 Week 3 Week 4
  • 98. MinimizeTask Switching
  • 99. work on one thing at a time
  • 100. http://www.pomodorotechnique.com/
  • 101. sacrificE aDeveloper
  • 102. shareKnowledge
  • 103. DEFECTS
  • 104. IMPACT x TOTAL TIMEUNDETECTED = WASTE
  • 105. CRITICAL x 3 MINUTESUNDETECTED =
  • 106. CRITICAL x 3 MINUTES UNDETECTED =Comparatively Low
  • 107. MINOR x 3 WEEKSUNDETECTED =
  • 108. MINOR x 3 WEEKS UNDETECTED =Comparatively High
  • 109. reduce waste byfinding defects asap!!!
  • 110. defectdetectionspeedups
  • 111. mistakeproofing tests
  • 112. ContinuousIntegration
  • 113. exploratory testing
  • 114. antibody tests “You Are Your Softwareʼs Immune System!”http://agile.dzone.com/articles/you-are-your-softwares-immune
  • 115. TOOLS FOR HARD PROBLEMS
  • 116. Combinatorialtesting tools
  • 117. MIRRORPRODUCTION
  • 118. RELEASE TOPRODUCTION ASAP!
  • 119. That’s all folks! Matt Stine matt.stine@gmail.com Twitter: mstine http://www.mattstine.comPlease fill out your evaluations!
  • 120. credits• http://www.flickr.com/photos/darwinbell/239572495/ • http://moparx.com/files/images/commodore_1541.jpg• http://www.flickr.com/photos/darwinbell/239573255/ • http://www.flickr.com/photos/talkingplant/2183210426• http://cleavefast.com/wp-content/uploads/2010/06/ • http://www.flickr.com/photos/kplawver/3532822079 Taichii_Ohno.jpg • http://www.flickr.com/photos/maisonbisson/3110247253/• http://www.flickr.com/photos/pagedooley/3302644588 • http://www.flickr.com/photos/aagius/3558810758• http://www.flickr.com/photos/sansumbrella/3489486144/ • The Simpsons, Fox Broadcasting Company• http://www.flickr.com/photos/nathancolquhoun/1086854949 • http://www.flickr.com/photos/nolarisingproject/4896224995/• http://www.flickr.com/photos/andidigress/4471100232/ • http://www.flickr.com/photos/nickpiggott/2545688097• http://216.92.30.49/tv/posters/hoarders_ver2_xlg.jpg • Office Space,• http://www.sxc.hu/photo/995894 • http://www.flickr.com/photos/nolarisingproject/4896789584/• The Karate Kid, 1984 Motion Picture from Columbia Pictures • http://www.flickr.com/photos/evilpeacock/2941175262/• http://www.flickr.com/photos/nolarisingproject/4896236515/ • http://www.sxc.hu/photo/1224062• http://www.flickr.com/photos/nolarisingproject/4896861104/ • http://www.flickr.com/photos/nolarisingproject/4896841468/• http://www.flickr.com/photos/geoffjones/3690612407/ • http://www.flickr.com/photos/nolarisingproject/4896813004/• http://www.flickr.com/photos/nolarisingproject/4896791356/ • http://www.flickr.com/photos/darwinbell/239572918/• http://www.flickr.com/photos/bigtallguy/148771151/
  • 121. What about the barrels? In the wake of the second major engineering failure to happen uponSoutheastern Louisiana in the last five years, Rox Steady has produced these installation pieces of street art. Each representing the seven deadly sins and placed in seven different neighborhoods of NewOrleans, they are representative of the things that have led up to such engineering disasters..Their symbolism is timely in the wake of the oil spill that BP and theircohorts are now saying is all cleaned up. May a swarm of locusts visit upon their homes and zombies eat their brains… From http://www.flickr.com/photos/nolarisingproject/4896789584/
  • 122. How the seven wastes were mapped to theseven deadly sins is a thought exercise left to the attendee.

×