intro to sw craftsmanship

20
Introduction to Software Craftsmanship Philips Healthcare, November 2010 Roy Nitert, Aron van Beurden

Upload: roy-nitert

Post on 16-Apr-2017

2.221 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Intro to SW craftsmanship

Introduction to Software Craftsmanship

Philips Healthcare, November 2010 Roy Nitert, Aron van Beurden

Page 2: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010 2

Content SW craftsmanship

• What is craftsmanship?

• Why are we bothered with it?

• Manifesto

• SW Craftsmanship book

• Conclusion

Page 3: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010 3

Strategic Direction Enablers Metrics / KPI’s Hoshins 2010

iXR, R&D Software - One Page Strategy 2010technologies effectively• Encourage craftsmanship., innovations and continuous

learning• Well defined and deployed SW architecture, supporting

Approved: 24-Feb- 2010

Encourage craftsmanship, innovations and continuous learning

Page 4: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

What is craftsmanship?

A man who practices a craft with great skill.

Skill in an occupation or trade.

The skills to deliver high quality work

A person who practices or is highly skilled in a craft

Page 5: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Why are we bothered with it? (1/2)

Craftsmanship is about YOU!

Page 6: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010 6

Strategic Direction Enablers Metrics / KPI’s Hoshins 2010

iXR, R&D Software - One Page Strategy 2010Approved: 24-Feb- 2010

Strategy of SoftwareReach defined targets that exceed historical performance in the

following areas:• Product quality (reliability, maintainability)• Product scope in terms of functionality (application, service,

operations)• Process efficiency in terms of effort distributions (more core /

less appraisal & rework)• Project performance in terms of schedule & budget

Cost of non quality for IT worldwide in 2015

$1.000.000.000.000

Page 7: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

SW Craftsmanship manifesto

http://manifesto.softwarecraftsmanship.org/

Page 8: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Manifesto’s combined

SW engineering

Processes and tools

Comprehensive documentation

Contract negotiation

Following a plan

Agile

Individuals and interactions

Working software

Customer collaboration

Responding to change

SW Craftsmanship

A community of professionals

Well-crafted software

Productive partnerships

Steadily adding value

Page 9: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (1)

Problem of SW engineering

• Development is not a systematic quantified process

• At best it is an empirical process, because it involves people

• Engineering does not address the social aspects

Page 10: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (2)

Traditional craft

Technical knowledge

Practiced skill

Aesthetics

Page 11: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (3)Objective

Obtain mastery over science and engineering so that we can continually refine our craft

Raising the bar

Continually work to improve your skills

Perpetual learning

• encourage participation in conferences • create a learning environment

Page 12: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (4)Master craftsman

• Leads a team of journeymen and apprentices• Infects the team with enthusiasm and passion for the craft• Has delivered many successful, robust, high-quality applications• Is recognized by users, customers and developers• Is responsible for passing on the craft• Chooses his own team

Page 13: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (5)Journeyman

• Has worked for several years with a master• Small teams• Coach apprentices• Learn from masters• Spread knowledge between masters• Focused on delivering applications• Does not work without master or other journeyman

Page 14: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (6)Apprentice

• Contribute to simple tasks• Learn from journeyman• Situated learning• Review work of the master• Progression through demonstrated progress

Page 15: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (7)Put back pride into SW development

• Sign your work• Take credit• Accountability• Reputation

No licensing/certification

• Craftsmanship is personal• Peer recognition• Peer recommendation

Page 16: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Software Craftsmanship: The New Imperative (8)Management style

• No horde of average programmers• Small team of good developers

• No detailed instructions or command and control• Facilitating and coordinating

• Knowledge workers• Pay them well (3 times as much as average developers)

Page 17: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Concrete examples• Review: Review the code of experienced developers (to other way

around)• DRY: Don’t repeat yourself• Boy scout rule: Leave the campground cleaner than you entered it• Readable code: Always code as if the guy who ends up maintaining

your code will be a violent psychopath who knows where you live• TDD: Test driven development• Automatic build & continuous integration• Apprenticing: find a mentor• Learn: Read, visit conferences, join communities• Exercise: breakable toy, Dojo, Kata, workshops

Page 18: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

ConclusionCurrently software development quality/profession is poor. And needs improvement.

Master-apprentice model will help to improve the quality/profession.

It is your responsibility to improve quality/profession.

Page 19: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010

Links• McBreen, Pete (2001). Software Craftsmanship: The New Imperative. Addison Wesley. ISBN 0201733862. • Martin, Robert C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Addison Wesley. ISBN

0132350882.• Hoover, Dave; Oshineye, Adewale. (2009) Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman.

O'Reilly. ISBN 0596518382.• Hunt, Andrew; Thomas, Dave (1999). The Pragmatic Programmer: From Journeyman to Master. ISBN 020161622X• Manifesto: http://manifesto.softwarecraftsmanship.org/• Wiki: http://en.wikipedia.org/wiki/Software_Craftsmanship• http://www.slideshare.net/urilavi/software-craftsmanship-1-meeting?src=related_normal&rel=4807795• http://www.slideshare.net/urilavi/software-craftsmanship-2• http://www.slideshare.net/urilavi/software-craftsmanship-3• http://www.slideshare.net/urilavi/software-craftsmanship-4• http://www.slideshare.net/bcoder/friday-final-test?src=related_normal&rel=4336926• http://www.slideshare.net/bcoder/it-is-a-sunny-day?src=related_normal&rel=3550699• http://www.slideshare.net/goeran/the-software-craftsman-2nd-edition-3550699?src=related_normal&rel=4010385• http://www.slideshare.net/goeran/software-craftsmanship-ntnu?src=related_normal&rel=3323035• http://www.slideshare.net/skillsmatter/coreyhaines?src=related_normal&rel=4439707• http://www.slideshare.net/giordano/better-software-developers-3989933• http://www.slideshare.net/CoryFoy/growing-and-fostering-software-craftsmanship• http://www.slideshare.net/DocOnDev/training-software-professionals-just-what-the-doctor-ordered• http://www.slideshare.net/DocOnDev/take-control-of-your-development-career• http://www.slideshare.net/henrydjacob/craftsmanship-the-meaning-of-life• http://www.slideshare.net/hebel/clean-code

Page 20: Intro to SW craftsmanship

Philips Healthcare Best, SW Craftsmanship, November 2010 20