Software Craftsmanship
Sandro Mancuso
@sandromancuso
http://leanpub.com/socra
Software Craftsmen just care about
beautiful code
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.
We adopted Agile and now things will be OK
… and the Agile Transformation Era began.
And then we spend 10 year focusing on...
… people, interactions, team building, the ecosystem…
.. and processes became more important than technical
practices
Many Agile projects are now, steadily and
iteratively, producing crap mediocre software.
The Agile Hangover
We want to get things done...
… but we are under pressure
The wrong notion of time
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 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.
The invisible threat
Code
quality
Time per feature
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:
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
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
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
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
What is Software Craftsmanship?
Software Craftsmanship is all about putting
responsibility, professionalism, pragmatism and
pride back into software development
Does context matter?
Does it always matter?
How do we know we are building
the right thing?
How do we know we are building
the thing right?
Adding value through practices

Automated testing

Test first

Test-Driven Development

Pair-programming

Continuous Integration
Don't discuss practices, discuss value
~ Corey Haines
Mastering the practices is hard …
… and that's why we practice
Perfect practice
(narrowing the gap)
Software Craftsmanship is a
long journey to mastery
Seniority is relative and
transient
Software Craftsmanship Attitude
- Owning our careers
- Not a 9 to 5 profession
- Practice
- Boy scout rule
- Promotions
The attitude towards
legacy code
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
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 having it done
~ Eduardo Namur
Are you a software crafter?
Thank You
http://leanpub.com/socr
a
Sandro Mancuso
@sandromancuso

Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest

  • 1.
  • 2.
    Software Craftsmen justcare about beautiful code
  • 3.
    Agile Software Development Weare 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 Agileand now things will be OK … and the Agile Transformation Era began.
  • 5.
    And then wespend 10 year focusing on... … people, interactions, team building, the ecosystem… .. and processes became more important than technical practices
  • 6.
    Many Agile projectsare now, steadily and iteratively, producing crap mediocre software. The Agile Hangover
  • 7.
    We want toget things done... … but we are under pressure
  • 8.
  • 9.
    But what isto be Agile anyway?
  • 10.
    Agile Software Development Weare 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.
  • 11.
  • 13.
    Manifesto for SoftwareCraftsmanship 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:
  • 14.
    Manifesto for SoftwareCraftsmanship 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
  • 15.
    Manifesto for SoftwareCraftsmanship 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
  • 16.
    Manifesto for SoftwareCraftsmanship 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
  • 17.
    Manifesto for SoftwareCraftsmanship 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
  • 18.
    What is SoftwareCraftsmanship? Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development
  • 19.
    Does context matter? Doesit always matter?
  • 20.
    How do weknow we are building the right thing? How do we know we are building the thing right?
  • 22.
    Adding value throughpractices  Automated testing  Test first  Test-Driven Development  Pair-programming  Continuous Integration
  • 23.
    Don't discuss practices,discuss value ~ Corey Haines
  • 24.
    Mastering the practicesis hard … … and that's why we practice
  • 25.
  • 26.
    Software Craftsmanship isa long journey to mastery
  • 27.
    Seniority is relativeand transient
  • 28.
    Software Craftsmanship Attitude -Owning our careers - Not a 9 to 5 profession - Practice - Boy scout rule - Promotions
  • 29.
  • 30.
    Software Craftsmanship isnot... … 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
  • 31.
    Craftsmanship is notenough to guarantee the success of a project but the lack of it can be the main cause of its failure
  • 32.
    What does itmean to be a software craftsman?
  • 34.
    How it isdone is as important as having it done ~ Eduardo Namur
  • 36.
    Are you asoftware crafter?
  • 37.