CF Camp 2013 Software Craftsmanship for CFML Developers
1.
2. 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
3. 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.
4. We adopted Agile and now things
will be OK
… and the Agile Transformation
Era began.
5. And then we spend 10 year
focusing on...
… people, interactions, team building, the ecosystem
Process and Interactions became more important than
technical practices
6. The Agile Hangover
Many Agile projects are now, steadily
and iteratively, producing crap
mediocre software.
7. We want to get things
done...
… but we are under
pressure
10. 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.
12. 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
13. What is Software
Craftsmanship?
Software Craftsmanship is all about putting
responsibility, professionalism, pragmatism and
pride back into software development
27. 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
30. The only way to have people
buying into what you believe is if
they see you happy.
31. Craftsmanship is not enough to
guarantee the success of a project
but the lack of it can be the main
cause of its failure
32. 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.
33. Clean Code
Meaningful Names
Short Functions
Single Responsibility Principal
Minimal Arguments
Show intent
No need for comments
Formatting
Unit Testing