SlideShare uma empresa Scribd logo
1 de 20
Introduction to
Software Craftsmanship
Philips Healthcare, November 2010
Roy Nitert, Aron van Beurden
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
Philips Healthcare Best, SW Craftsmanship, November 2010 3
Strategic Direction Enablers Metrics / KPI’s Hoshins 2010
iXR, R&D Software - One Page Strategy 2010
technologies effectively
•Encourage craftsmanship., innovations and continuous
learning
•Well defined and deployed SW architecture, supporting
Approved: 24-Feb- 2010
Encourage craftsmanship,
innovations and continuous learning
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
Philips Healthcare Best, SW Craftsmanship, November 2010
Why are we bothered with it? (1/2)
Craftsmanship
is about YOU!
Philips Healthcare Best, SW Craftsmanship, November 2010 6
Strategic Direction Enablers Metrics / KPI’s Hoshins 2010
iXR, R&D Software - One Page Strategy 2010
Approved: 24-Feb- 2010
Strategy of Software
Reach 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
Philips Healthcare Best, SW Craftsmanship, November 2010
SW Craftsmanship manifesto
http://manifesto.softwarecraftsmanship.org/
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
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
Philips Healthcare Best, SW Craftsmanship, November 2010
Software Craftsmanship: The New Imperative (2)
Traditional craft
Technical knowledge
Practiced skill
Aesthetics
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
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
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
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
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
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)
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
Philips Healthcare Best, SW Craftsmanship, November 2010
Conclusion
Currently 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.
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
Philips Healthcare Best, SW Craftsmanship, November 2010 20

Mais conteúdo relacionado

Destaque

Software craftsmanshippresentation
Software craftsmanshippresentationSoftware craftsmanshippresentation
Software craftsmanshippresentation
Meagan Waller
 
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SGSoftware Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Jose Casal-Gimenez FBCS CITP
 
Clean Code III - Software Craftsmanship
Clean Code III - Software CraftsmanshipClean Code III - Software Craftsmanship
Clean Code III - Software Craftsmanship
Theo Jungeblut
 
Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용
Sangcheol Hwang
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
Andy Maleh
 

Destaque (17)

A case for Code craftsmanship
A case for Code craftsmanship A case for Code craftsmanship
A case for Code craftsmanship
 
Software Craftsmanship - 1 Meeting
Software Craftsmanship - 1 MeetingSoftware Craftsmanship - 1 Meeting
Software Craftsmanship - 1 Meeting
 
A developer's journey to craftsmanship
A developer's journey to craftsmanshipA developer's journey to craftsmanship
A developer's journey to craftsmanship
 
Continuous development - Growing Pains
Continuous development - Growing PainsContinuous development - Growing Pains
Continuous development - Growing Pains
 
Software Craftsmanship: Agile Is Not Enough
Software Craftsmanship: Agile Is Not EnoughSoftware Craftsmanship: Agile Is Not Enough
Software Craftsmanship: Agile Is Not Enough
 
Software craftsmanshippresentation
Software craftsmanshippresentationSoftware craftsmanshippresentation
Software craftsmanshippresentation
 
Craftsmanship: The Meaning of Life
Craftsmanship: The Meaning of LifeCraftsmanship: The Meaning of Life
Craftsmanship: The Meaning of Life
 
A Question of Craftsmanship
A Question of CraftsmanshipA Question of Craftsmanship
A Question of Craftsmanship
 
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SGSoftware Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
 
소프트웨어개발참여자를위한철학 공간정보통신
소프트웨어개발참여자를위한철학 공간정보통신소프트웨어개발참여자를위한철학 공간정보통신
소프트웨어개발참여자를위한철학 공간정보통신
 
Be a better developer
Be a better developerBe a better developer
Be a better developer
 
The Software Craftsman
The Software CraftsmanThe Software Craftsman
The Software Craftsman
 
Clean Code III - Software Craftsmanship
Clean Code III - Software CraftsmanshipClean Code III - Software Craftsmanship
Clean Code III - Software Craftsmanship
 
Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 

Semelhante a Intro to SW craftsmanship

The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery EventThe Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
XebiaLabs
 
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
Sandy Justice
 

Semelhante a Intro to SW craftsmanship (20)

DevOps Challenges and Best Practices
DevOps Challenges and Best PracticesDevOps Challenges and Best Practices
DevOps Challenges and Best Practices
 
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery EventThe Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
 
The IC Who "Lived" Me, Transitioning from implementing D2L to operations
The IC Who "Lived" Me, Transitioning from implementing D2L to operationsThe IC Who "Lived" Me, Transitioning from implementing D2L to operations
The IC Who "Lived" Me, Transitioning from implementing D2L to operations
 
DevOps and Agile in an ITSM world
DevOps and Agile in an ITSM worldDevOps and Agile in an ITSM world
DevOps and Agile in an ITSM world
 
Workshop Slides - HDR55 Build Evidence of Good Practice (improving the qualit...
Workshop Slides - HDR55 Build Evidence of Good Practice (improving the qualit...Workshop Slides - HDR55 Build Evidence of Good Practice (improving the qualit...
Workshop Slides - HDR55 Build Evidence of Good Practice (improving the qualit...
 
SFHDIFeb2017-How DevOps Thinking Can Improve Service and Support
SFHDIFeb2017-How DevOps Thinking Can Improve Service and SupportSFHDIFeb2017-How DevOps Thinking Can Improve Service and Support
SFHDIFeb2017-How DevOps Thinking Can Improve Service and Support
 
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
Expediting the Application Workshop Presentation -- 2015 SRA -- Dianne Donnel...
 
Transforming Digital Government Services Workshop - Tuesday 21st October
Transforming Digital Government Services Workshop - Tuesday 21st OctoberTransforming Digital Government Services Workshop - Tuesday 21st October
Transforming Digital Government Services Workshop - Tuesday 21st October
 
When You Can’t Find Tech Talent, Grow Your Own
When You Can’t Find Tech Talent, Grow Your OwnWhen You Can’t Find Tech Talent, Grow Your Own
When You Can’t Find Tech Talent, Grow Your Own
 
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftChallenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
 
Cleared Job Fair Handbook February 4, Mid-Atlantic Region
Cleared Job Fair Handbook February 4, Mid-Atlantic RegionCleared Job Fair Handbook February 4, Mid-Atlantic Region
Cleared Job Fair Handbook February 4, Mid-Atlantic Region
 
Project management.docx communiction
Project management.docx communictionProject management.docx communiction
Project management.docx communiction
 
Creating a Growth Mindset: Preparing for the Future of Work
Creating a Growth Mindset: Preparing for the Future of WorkCreating a Growth Mindset: Preparing for the Future of Work
Creating a Growth Mindset: Preparing for the Future of Work
 
DevOps in action - Azure DevOps
DevOps in action - Azure DevOpsDevOps in action - Azure DevOps
DevOps in action - Azure DevOps
 
Devops intro
Devops introDevops intro
Devops intro
 
Berkeley Method of Innovation Leadership
Berkeley Method of Innovation LeadershipBerkeley Method of Innovation Leadership
Berkeley Method of Innovation Leadership
 
You don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open SourceYou don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open Source
 
SIT - Innovation Consulting - New Product Development
SIT - Innovation Consulting - New Product DevelopmentSIT - Innovation Consulting - New Product Development
SIT - Innovation Consulting - New Product Development
 
Selection processes
Selection processesSelection processes
Selection processes
 

Último

Último (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

Intro to SW craftsmanship

  • 1. Introduction to Software Craftsmanship Philips Healthcare, November 2010 Roy Nitert, Aron van Beurden
  • 2. 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
  • 3. Philips Healthcare Best, SW Craftsmanship, November 2010 3 Strategic Direction Enablers Metrics / KPI’s Hoshins 2010 iXR, R&D Software - One Page Strategy 2010 technologies effectively •Encourage craftsmanship., innovations and continuous learning •Well defined and deployed SW architecture, supporting Approved: 24-Feb- 2010 Encourage craftsmanship, innovations and continuous learning
  • 4. 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
  • 5. Philips Healthcare Best, SW Craftsmanship, November 2010 Why are we bothered with it? (1/2) Craftsmanship is about YOU!
  • 6. Philips Healthcare Best, SW Craftsmanship, November 2010 6 Strategic Direction Enablers Metrics / KPI’s Hoshins 2010 iXR, R&D Software - One Page Strategy 2010 Approved: 24-Feb- 2010 Strategy of Software Reach 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
  • 7. Philips Healthcare Best, SW Craftsmanship, November 2010 SW Craftsmanship manifesto http://manifesto.softwarecraftsmanship.org/
  • 8. 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
  • 9. 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
  • 10. Philips Healthcare Best, SW Craftsmanship, November 2010 Software Craftsmanship: The New Imperative (2) Traditional craft Technical knowledge Practiced skill Aesthetics
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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)
  • 17. 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
  • 18. Philips Healthcare Best, SW Craftsmanship, November 2010 Conclusion Currently 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.
  • 19. 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
  • 20. Philips Healthcare Best, SW Craftsmanship, November 2010 20

Notas do Editor

  1. Title
  2. Title
  3. At the beginning of 2010 the new OPS was presented. While reading the OPS I saw the sentence “Encourage craftsmanship, innovations and continuous learning”. I start wondering what craftsmanship means? Why is craftsmanship so important to our management? What do they want to achieve with this by putting it on the OPS? A lot of questions and no direct answers. A lot of people have ideas about craftsmanship, however, there are a lot of different ideas…. So, lets think about craftsmanship for a while. What do you think it is about. (have group discussion)
  4. Title
  5. Why are we telling you about this? If you look at the OPS (pasted in this sheet) there are a lot of ways described how we can achieve our goals. They all affect you work, hopefully in a positive manner! (Click) However, I think craftsmanship is something about us as developers. It is really about you (Click) The others are items on process or architectural level. Not saying that these are less important… I believe craftsmanship is about you. It’s about you taking your profession seriously It’s about you improving your skills It’s about you standing for your quality It’s about you using the black instead of the yellow-green wire Why is this so important to Philips => next slide.
  6. One of our main focus points for this year (and the coming years) is to improve the product quality. I’m sure craftsmanship can help in this area. The cost of non-quality for IT worldwide is estimated at the end of 2010 to hit $500 billion. The projection is to hit $1 trillion by 2015! (click) If we say that only 10% of it is due to poor coding practice then we are looking at $100 billion. This is more that the complete year’s salary for every developer on earth! For this several initiatives have been started. However, for craftsmanship is still unclear what concrete actions we should do. After looking around on the craftsmanship subject, I found something about a software craftsmanship manifesto. Also, there is already a community of software craftsman. About this manifesto/community and their ideas Roy will tell you about. $1 Trillion by 2015 On September 10, 2010, Gartner Group published a comprehensive study of IT Debt worldwide. The debt is estimated at $500 billion at the end of 2010 with a projection to hit $1 trillion by 2015. Many discussions on software quality meander their way into a debate about the lack of need for rigor when lives are not at stake. Given worldwide IT Debt at $1 trillion, even if only 10 percent of it is from code, we are looking at $100 billion due to poor coding practices. This is somewhere in the range of $14 for each living human. This is more than a complete year's salary for every developer on earth. While we may not be able to draw a straight line from this debt to the loss of human lives, I've no doubt the connection exists. Our profession is failing to deliver. We must do something.
  7. Title
  8. Title
  9. Title
  10. Title
  11. Title
  12. Title
  13. Title
  14. Title
  15. Title
  16. Title
  17. Title
  18. Title
  19. Title
  20. Title