Euruko 2009 - Software Craftsmanship

  • 162 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
162
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

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 Craftsmanship for better software Phillip Oertel @ EuRuKo 200912.05.2009 (Di)
  • 2. Overview • Where does this term come from? • How does it help us? • What does it demand?12.05.2009 (Di)
  • 3. We‘ve compared ourselves to ...12.05.2009 (Di)
  • 4. artists12.05.2009 (Di)
  • 5. musicians12.05.2009 (Di)
  • 6. writers12.05.2009 (Di)
  • 7. architects12.05.2009 (Di)
  • 8. engineers12.05.2009 (Di)
  • 9. We are professional software developers.12.05.2009 (Di)
  • 10. craftsmen12.05.2009 (Di)
  • 11. 12.05.2009 (Di)
  • 12. schedule requirements code quality12.05.2009 (Di)
  • 13. It‘s our fault.12.05.2009 (Di)
  • 14. How does Software Craftsmanship fix this?12.05.2009 (Di)
  • 15. Values12.05.2009 (Di)
  • 16. Responsibility12.05.2009 (Di)
  • 17. Practise12.05.2009 (Di)
  • 18. Discipline12.05.2009 (Di)
  • 19. Practises12.05.2009 (Di)
  • 20. Iterative development12.05.2009 (Di)
  • 21. Automated tests12.05.2009 (Di)
  • 22. KISS keep it simple, stupid.12.05.2009 (Di)
  • 23. Close customer collaboration12.05.2009 (Di)
  • 24. Continuous small improvements12.05.2009 (Di)
  • 25. 12.05.2009 (Di)
  • 26. Code for other humans, not machines.12.05.2009 (Di)
  • 27. Think of code in flux.12.05.2009 (Di)
  • 28. Refactoring12.05.2009 (Di)
  • 29. Hard, Basic skills12.05.2009 (Di)
  • 30. Comments Classes Formatting Unit Tests Meaningful Names Systems Functions Error Handling Objects and Data Structures Concurrency Boundaries12.05.2009 (Di)
  • 31. Functions12.05.2009 (Di)
  • 32. Functions • small • prefer exceptions • do one thing • don‘t repeat yourself • one level of abstraction • use descriptive names • function arguments • have no side effects12.05.2009 (Di)
  • 33. How we learn12.05.2009 (Di)
  • 34. 12.05.2009 (Di)
  • 35. learn like craftsmen: apprentice journeyman master12.05.2009 (Di)
  • 36. we loose masters.12.05.2009 (Di)
  • 37. values and skills are not enough.12.05.2009 (Di)
  • 38. 12.05.2009 (Di)
  • 39. 12.05.2009 (Di)
  • 40. some books • Clean Code, Robert C. Martin, 2008 • The Pragmatic Programmer, Andy Hunt, Dave Thomas, 1999 • Refactoring, Martin Fowler, 1999 • Software Craftsmanship, Pete McBreen, 200212.05.2009 (Di)
  • 41. photo credits • Musician: http://www.flickr.com/photos/tommarcello/2250681391/ • Fountain pen: http://www.flickr.com/photos/brightmeadow/281659324/ • Architecture model: http://www.flickr.com/photos/blahflowers/2613241979/ • F1 Engineers: http://www.flickr.com/photos/7480659@N06/2295266851/ • Craftsman: http://www.flickr.com/photos/andreasej/3120849218/ • Doctor: http://www.flickr.com/photos/orcoo/345583754/ • Monkeying around: http://www.flickr.com/photos/practicalowl/661094024/12.05.2009 (Di)