Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Craftsmanship - JAX London 2011

1,545 views

Published on

Published in: Technology, Business
  • Want to preview some of our plans? You can get 50 Woodworking Plans and a 440-Page "The Art of Woodworking" Book... Absolutely FREE ■■■ http://tinyurl.com/yy9yh8fu
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Software Craftsmanship - JAX London 2011

  1. 1. Think you don't need Software Craftsmanship? http://www.londonswcraft.com @londonswcraft Sandro Mancuso @sandromancuso
  2. 2. I'm an artist <ul><li>I love my beautiful code </li></ul><ul><li>Customers, deadlines, adding value? You are kidding right? </li></ul>
  3. 3. Agile Software Development <ul><li>We are uncovering better ways of developing software by doing it and  helping others do it. Through this work we have come to value: </li></ul><ul><li>Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan </li></ul><ul><li>That is, while there is value in the items on the right, we value the items on the left more. </li></ul>
  4. 4. <ul><li>We adopted Agile and now things will be OK </li></ul><ul><li>… and the Agile Transformation Era began. </li></ul>
  5. 5. And then we spend 10 year focusing on... <ul><li>… people, interactions, team building, the ecosystem </li></ul><ul><li>Process and Interactions became more important than technical practices </li></ul>
  6. 6. <ul><li>  </li></ul><ul><li>  </li></ul><ul><li>Many Agile projects are now, steadily and iteratively, producing crap mediocre software. </li></ul>The Agile Hangover
  7. 7. <ul><li>We want to get things done... </li></ul><ul><li>… but we are under pressure </li></ul>
  8. 8. <ul><li>The wrong notion of time </li></ul>
  9. 9. <ul><li>It's all about feedback ! </li></ul>
  10. 10. Agile Software Development <ul><li>We are uncovering better ways of developing software by doing it and  helping others do it. Through this work we have come to value: </li></ul><ul><li>Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan </li></ul><ul><li>That is, while there is value in the items on the right, we value the items on the left more. </li></ul>
  11. 11. The invisible threat Code quality Time per feature
  12. 12. Manifesto for Software Craftsmanship raising the bar <ul><li>As aspiring Software Craftsmen we are raising the bar of professional software development by practising it and helping others learn the craft. Through this work we have come to value: </li></ul><ul><li>  </li></ul><ul><li>             Not only working software,  </li></ul><ul><li>                             but also well-crafted software </li></ul><ul><li>             Not only responding to change ,   </li></ul><ul><li>                             but also steadily adding value </li></ul><ul><li>             Not only individuals and interactions ,  </li></ul><ul><li>                             but also a community of professionals </li></ul><ul><li>             Not only customer collaboration ,  </li></ul><ul><li>                             but also productive partnerships </li></ul><ul><li>  </li></ul>
  13. 13. What is Software Craftsmanship? <ul><li>Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development </li></ul>
  14. 14. <ul><li>Does context matter? </li></ul><ul><li>Does it always matter? </li></ul>
  15. 15. <ul><li>How do we know we are building the right thing? </li></ul><ul><li>How do we know we are building the thing right? </li></ul>
  16. 17. Adding value through practice <ul><li>Automated testing </li></ul><ul><li>Test first </li></ul><ul><li>Test-Driven Development </li></ul><ul><li>Pair-programming </li></ul><ul><li>Continuous Integration </li></ul>
  17. 18. <ul><li>Don't discuss practices, discuss value . </li></ul>
  18. 19. <ul><li>Healthy Intolerance </li></ul><ul><li>How can you add more value and/or have smaller feedback cycles when not using our practices? </li></ul>
  19. 20. <ul><li>Mastering the practices is hard … </li></ul><ul><li>… and that's why we practice </li></ul>
  20. 21. <ul><li>Perfect practice </li></ul><ul><li>(narrowing the gap) </li></ul>
  21. 22. <ul><li>Software Craftsmanship is a long journey to mastery </li></ul>
  22. 23. Software Craftsmanship Attitude <ul><ul><li>- Owning your career </li></ul></ul><ul><ul><li>- Not a 9 to 5 profession </li></ul></ul><ul><ul><li>- Practice </li></ul></ul><ul><ul><li>- Boy scout rule </li></ul></ul>
  23. 24. <ul><li>The attitude towards </li></ul><ul><li>legacy code </li></ul>
  24. 25. <ul><li>Why do we want to be better developers? </li></ul>
  25. 26. Software Craftsmanship Movement <ul><li>- Pragmatic Programmer and Software Craftsmanship books are published (1999 and 2001) </li></ul><ul><li>- Dec, 2008: Meeting in US defining a set of principles for Sofware Craftsmanship </li></ul><ul><li>- Feb, 2009: First Software Craftsmanship Conference in London </li></ul><ul><li>- Mar, 2009: Software Craftsmanship Manifesto </li></ul><ul><li>- Apr, 2009: Craftsman swap between Obtiva and 8th Light </li></ul><ul><li>- Aug, 2009: First SCNA conference in Chicago </li></ul><ul><li>- Oct, 2009: Apprenticeship Patterns is published </li></ul><ul><li>- Aug, 2010: LSCC was founded </li></ul><ul><li>- Oct, 2010: Second edition of conferences in London and Chicago </li></ul><ul><li>- Sep, 2011: Software Craftsmanship Conference in Germany </li></ul>
  26. 27. Software Craftsmanship is not... <ul><li>… a church, trying to convert all developers </li></ul><ul><ul><li>It's about leading by example and showing how we can be better </li></ul></ul><ul><li>… about beautiful code </li></ul><ul><ul><li>It's about continuously delivering value not writing crap code </li></ul></ul>
  27. 28. <ul><li>Raising the Bar </li></ul>
  28. 29. <ul><li>Stop... </li></ul><ul><ul><li>… being miserable and negative </li></ul></ul><ul><ul><li>… spreading your frustrations </li></ul></ul>
  29. 30. <ul><li>The only way to have people buying into what you believe is if they see you happy. </li></ul>
  30. 31. <ul><li>Craftsmanship is not enough to guarantee the success of a project but the lack of it can be the main cause of its failure </li></ul>
  31. 32. <ul><li>Agile and Craftsmanship complement each other and both are necessary. </li></ul><ul><li>Agile processes assume technical excellence and a professional attitude. </li></ul><ul><li>Software Craftsmanship takes technical excellence and professionalism to a whole new level. </li></ul>
  32. 33. London Software Craftsmanship Community - LSCC <ul><li>http://www.londonswcraft.com </li></ul>
  33. 34. <ul><li>Thank you </li></ul><ul><li>@sandromancuso </li></ul><ul><li>http://craftedsw.blogspot.com </li></ul><ul><li>http://www.londonswcraft.com </li></ul>

×