CF Camp 2013 Software Craftsmanship for CFML Developers
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

CF Camp 2013 Software Craftsmanship for CFML Developers

on

  • 254 views

A session at CF Camp on how we as CFML developers should be better and ensure that we are always learning

A session at CF Camp on how we as CFML developers should be better and ensure that we are always learning

Statistics

Views

Total Views
254
Views on SlideShare
247
Embed Views
7

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 7

https://twitter.com 5
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Started Thursday evening as a drinks reception

CF Camp 2013 Software Craftsmanship for CFML Developers Presentation Transcript

  • 1. About Me  Developer for over 18 years  Solutions Architect @ General Electric  Worked in TV Broadcast, Healthcare, Travel & Finance  Adobe Community Professional  UK CF User Group Manager
  • 2. Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 3. We adopted Agile and now things will be OK … and the Agile Transformation Era began.
  • 4. And then we spend 10 year focusing on... … people, interactions, team building, the ecosystem Process and Interactions became more important than technical practices
  • 5. The Agile Hangover  Many Agile projects are now, steadily and iteratively, producing crap mediocre software.
  • 6. We want to get things done... … but we are under pressure
  • 7. The wrong notion of time
  • 8. But what is to be Agile anyway?
  • 9. Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 10. The invisible threat Code quality Time per feature
  • 11. Manifesto for Software Craftsmanship raising the bar 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: Not only working software, but also well-crafted software Not only responding to change, but also steadily adding value Not only individuals and interactions, but also a community of professionals Not only customer collaboration, but also productive partnerships
  • 12. What is Software Craftsmanship? Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development
  • 13. Does context matter? Does it always matter?
  • 14. How do we know we are building the right thing? How do we know we are building the thing right?
  • 15. Adding value through practice  Automated testing  Test first  Test-Driven Development  Pair-programming  Continuous Integration
  • 16. Don't discuss practices, discuss value.
  • 17. Healthy Intolerance How can you add more value and/or have smaller feedback cycles when not using our practices?
  • 18. Mastering the practices is hard … … and that's why we practice
  • 19. Perfect practice (narrowing the gap)
  • 20. Software Craftsmanship is a long journey to mastery
  • 21. Software Craftsmanship Attitude - Owning your career - Not a 9 to 5 profession - Practice - Boy scout rule - Expecting promotions
  • 22. Seniority is subjective and transient
  • 23. The attitude towards legacy code
  • 24. Why would we want to be better developers?
  • 25. Software Craftsmanship is not... … a church, trying to convert all developers It's about leading by example and showing how we can be better … about beautiful code It's about continuously delivering value not writing crap code
  • 26. Raising the Bar
  • 27. Stop... … being miserable and negative … spreading your frustrations
  • 28. The only way to have people buying into what you believe is if they see you happy.
  • 29. Craftsmanship is not enough to guarantee the success of a project but the lack of it can be the main cause of its failure
  • 30. Agile and Craftsmanship complement each other and both are necessary. Agile processes assume technical excellence and a professional attitude. Software Craftsmanship takes technical excellence and professionalism to a whole new level.
  • 31. Clean Code  Meaningful Names  Short Functions  Single Responsibility Principal  Minimal Arguments  Show intent  No need for comments  Formatting  Unit Testing
  • 32. Unit Testing
  • 33. Code Reviews
  • 34. Code Layout Matters  Easy to scan  Expressive layout  Compact format  Code is written once and Read ∞
  • 35. Books  Ebook on Lean Pub  Written by the London Software Craftsmanship Community Manager  https://leanpub.com/socra
  • 36.  Clean Code  Uncle Bob (Bob martin)  Changes your thought process  Also Clean Coders – More about your career
  • 37.  Extreme Programming Explained: Embrace Change  Kent Back  Good Technical Practices
  • 38.  Working Effectively with Legacy Code  Michael Feathers
  • 39. Questions
  • 40. Contact Me T: @bigmadkev W: BigMadKev.com