Software Craftsmanship - It's an Imperative

1,747 views

Published on

Software Craftsmanship Slides

Published in: Technology, Sports
  • Be the first to comment

Software Craftsmanship - It's an Imperative

  1. 1. Software Craftsmanship By Fadi Stephanhttp://www.agilejourneyman.com/2011/04/software- craftsmanship-impertaive-or.html
  2. 2. Fadi Stephan AgileJourneyman.com
  3. 3. AcknowledgmentRobert Martin Corey Haines
  4. 4. OOPSLA 1991 HistoryTowards a Software Architecture Handbook
  5. 5. OOPSLA 1998 HistorySoftware as a Studio Discipline
  6. 6. Craftsman• =
  7. 7. HistoryIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
  8. 8. HistorySoftware craftsmanship over CRAP!Craftsmanship over execution• Most software development teams execute, but they don’t take care• We value execution, but we value craftsmanship more
  9. 9. Manifesto of Software Craftsmanship
  10. 10. Not only working software, but also well crafted softwareNot only responding to change, but also steadily adding valueNot only individuals and interactions, but also a community of professionalsNot only customer collaboration, but also productive partnerships
  11. 11. SCRUM
  12. 12. Change Risk Analyzer and PredictorCRAP(m) = comp(m)^2 (1 - cov(m)/100)^3 + comp(m)
  13. 13. Care
  14. 14. I will practice 2 hours every dayI will practice 2 hours every dayI will practice 2 hours every dayI will practice 2 hours every dayI will practice 2 hours every dayI will practice 2 hours every day Practice
  15. 15. I pity the foolwho doesn’t writetest cases! Test Driven Development
  16. 16. I pity the foolwho breaks thebuild! Continuous Integration
  17. 17. I pity the foolwho doesn’tcollaborate Pair Programming
  18. 18. tQA Should PrideFind Nothing
  19. 19. Boy Scout Rule
  20. 20. Extract till You Drop
  21. 21. No Argument is the Best Argument
  22. 22. Descriptive Names
  23. 23. Decouple
  24. 24. Baby Steps
  25. 25. YAGNI
  26. 26. Abstract Away Volatility
  27. 27. Short Iterations 2 to 4 weeks
  28. 28. Never Be Blocked
  29. 29. Automate Everything
  30. 30. Test Through the Right Interface
  31. 31. Avoid Debugging
  32. 32. Slow Down To Go FastProductivity Clean Code Bad Code Time
  33. 33. Dissenting Voices
  34. 34. Principle 9Continuous attention totechnical excellence andgood design enhancesagility
  35. 35. Manifesto
  36. 36. Software Engineering
  37. 37. Metaphors
  38. 38. Language
  39. 39. Code Kataskatacasts.com
  40. 40. Coding Dojos
  41. 41. Craftsman Swaps
  42. 42. Craftsman Journey
  43. 43. Craftsman Spikes
  44. 44. Software Craftsmanship Conferences
  45. 45. Software
  46. 46. AgileJourneyman.com
  47. 47. Pictures• http://www.flickr.com/photos/psd/2423294079/sizes/l/in/photostream/• http://www.flickr.com/photos/sakeeb/4647211575/sizes/m/in/photostream/• http://www.flickr.com/photos/24322735@N07/2393833499/sizes/m/in/photostre am/• http://www.flickr.com/photos/wwworks/4471608005/sizes/m/in/photostream• http://www.flickr.com/photos/timrich26/3308513067/sizes/m/in/photostream/• http://imgur.com/y7Hm9?full• http://www.flickr.com/photos/das_butzele/227637183/sizes/z/in/photostrea m/• http://www.flickr.com/photos/fotoecke/5177140233/sizes/m/in/photostream /• http://www.flickr.com/photos/drinksmachine/3732782275/sizes/m/in/photos tream/• http://www.flickr.com/photos/popilop/331357312/sizes/z/in/photostream/• http://www.flickr.com/photos/58289610@N00/3610407879/
  48. 48. Pictures• http://www.flickr.com/photos/25507200@N07/3120849218/• http://imgur.com/y7Hm9?full• http://lostechies.com/gabrielschenker/files/2011/03/giant_2.jpg• http://lostechies.com/derickbailey/files/2011/03/OpenClosedPrinciple2_2C596E1 7.jpg• http://lostechies.com/derickbailey/files/2011/03/LiskovSubtitutionPrinciple_52BB 5162.jpg• http://lostechies.com/derickbailey/files/2011/03/InterfaceSegregationPrinciple_6 0216468.jpg• http://lostechies.com/derickbailey/files/2011/03/DependencyInversionPrinciple_0 278F9E2.jpg• http://www.flickr.com/photos/70981241@N00/3979767112/
  49. 49. Pictures• http://www.flickr.com/photos/11904001@N00/3983980813/• http://www.flickr.com/photos/7821771@N05/4679360979/• http://www.flickr.com/photos/97041449@N00/5261698908/• http://www.flickr.com/photos/37164718@N02/5365226277/• http://www.flickr.com/photos/71962092@N00/2874328851/• http://www.flickr.com/photos/49715404@N00/3267627038/

×