Software Craftsmanship
Transcript of Software Craftsmanship
Software Craftsmanship
Sandro Mancuso@sandromancusohttp://leanpub.com/socra
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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
“This Agile thing looks great. We want to ‘do’ it.”… and the Agile Transformation Era began.
And then we spent over 10 year focusing on...
… process, people, interactions, team building, reducing waste and bureaucracy, the
ecosystem…
… and processes and tools became more important than technical excellence.
Individuals and interactions over processes and toolsHmm! I forgot that manifesto
thing…
Many Agile projects are now, steadily and iteratively, producing crap mediocre
software.
The Agile Hangover
But what is to be Agile anyway?
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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
The invisible threat
Code quality
Time per feature
Manifesto for Software Craftsmanshipraising 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:
Manifesto for Software Craftsmanshipraising 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
Manifesto for Software Craftsmanshipraising 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
Manifesto for Software Craftsmanshipraising 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
Manifesto for Software Craftsmanshipraising 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
What is Software Craftsmanship?
Software Craftsmanship is all about putting responsibility, professionalism,
pragmatism and pride back into software development
Building the right thing right.
Adding Value
Through Practices
Don't discuss practices, discuss value
~ Corey Haines
… and that's why we practice
Mastering practices is hard …
The Quality Myth
Quality cannot be measured.
Code coverage is a dangerous metric and should never be used as a target or management tool.
Software Craftsmanship is a long journey to mastery
Software Craftsmanship Attitude
PassionCareer ownership
Deliberate practice
Boy scout rule
If you want to be treated as a professional, start behaving like
one.
Herbert de Souza (Betinho)
Good practices are good until we find better ones to replace them.
Agile software development is not Scrum
Software Craftsmanship is not about beautiful code, TDD, or any technical practice.
It's about continuously delivering value via well-crafted software
Craftsmanship is not enough to guarantee the success of a project, but the lack of it can be the main cause of its failure
What does it mean to be a software craftsman?
How it is done is as important as getting it done
~ Eduardo Namur
take control of your career
@sandromancuso
Thank You
@sandromancuso