0% found this document useful (0 votes)
437 views1 page

The Software Craftsman

The document discusses the ideology of software craftsmanship which focuses on developing well-crafted, high-quality code through practices like testing, clean design, and refactoring. It emphasizes the developer taking responsibility for their work and career through continuous learning and sharing knowledge with a community of professionals. True software craftsmanship involves not just meeting requirements but steadily improving the value of the work through passion for the craft.

Uploaded by

trha at hnepi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
437 views1 page

The Software Craftsman

The document discusses the ideology of software craftsmanship which focuses on developing well-crafted, high-quality code through practices like testing, clean design, and refactoring. It emphasizes the developer taking responsibility for their work and career through continuous learning and sharing knowledge with a community of professionals. True software craftsmanship involves not just meeting requirements but steadily improving the value of the work through passion for the craft.

Uploaded by

trha at hnepi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

THE SOFTWARE CRAFTSMAN

by sandro mancuso
What ? Ideology Lower the cost of quality

Not a religion What modern developers do :


AGILITY
Not a method Develop
Test How to build the RIGHT THING
Working code = the minimum for a professional
Analyze
Good senior developer code Make technical choices Focus on the process Customer centric
Help client
80's Now Does not make developers better
Recruit
...
Nobody understand
 the code
Clean
Human readable CRAFTSMANSHIP
Domain language
How to build the THING RIGHT
"Craftsmanship over crap" - Robert C. Martin

What ? Be PROUD to be a DEVELOPER


FAILURE
Development is a craft Learning from others OWN your CAREER VS "Peter's principle"

ADVANCEMENT
"Only incompetent people
Constantly sharing A long journey to mastery are scared to lose their job"
SUCCESS

ADVANCEMENT
Caring about what they do SUCCESS

RESPONSIBILITY/ PROFESSIONALISM / PRAGMATISM / PRIDE

MANIFESTO FOR SOFTWARE CRAFTSMANSHIP - 2008

1 Not only working software, but also WELL-CRAFTED software

Well-crafted = High quality code


"Code quality is not a guarantee of success
Automated tests
BUT can be the main cause of failure"
Business language in the code
Simple design

2 Not only responding to change, but also STEADILY ADDING VALUE

Constantly improve your code


Testable
Boy scout rule
Extendable "Always leave the campground cleaner than
Refactor you found it."

3 Not only individuals and interactions, but also A COMMUNITY OF PROFESSIONALS

Share / Mentor
Craftsmen want to work with
Knowledge passionates & inspiring professionals
Ideas a.k.a other craftsmen
Successes and failures

4 Not only customer collaboration, but also PRODUCTIVE PARTNERSHIPS

We are not factory workers


Some clients are not ready :
Must help our clients very difficult environment for craftsmen
Must say NO for clients good

REDUce the gap between the agile methodologies and the technical world

Attitude PRACTICE / PRACTICE / PRACTICE


Positive
Practice through Motivation towards a goal
SOMEONE wants you to do it

Code katas Open source projects


MOTIVATION

YOU want to do it

"Make this project sucessfully "I really want to work on


and you get a bonus" this project"
EXTRINSIC

INTRINSIC

Pair/mob "Do this project or "I really don't want to work


you are fired" on this project"
programming
pet projects
Negative
Motivation away from something
Discovery

practices Continuous learning


Create a
Extreme programming
Whole
culture of improvement
Team

Create a
Inject passion
culture of sharing
Collective Coding
Ownership Test-Driven Standard
Development
Brown bags
Pair Planning
Customer
Tests
programming
Refactoring game Book club Lean coffees

Continuous Simple Sustainable


integration Design Pace

Lightning talks Code reviews


Metaphor

Small
releases communities of practice

#sharingiscaring by Yoan THIRION @yot88

You might also like