• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Intro to SW craftsmanship



Mainly about Pete McBreen's book

Mainly about Pete McBreen's book



Total Views
Views on SlideShare
Embed Views



2 Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • 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)
  • 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 seriouslyIt’s about you improving your skillsIt’s about you standing for your qualityIt’s about you using the black instead of the yellow-green wireWhy is this so important to Philips => next slide.
  • 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 2015On 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.

Intro to SW craftsmanship Intro to SW craftsmanship Presentation Transcript

  • Introduction to Software CraftsmanshipPhilips Healthcare, November 2010 Roy Nitert, Aron van Beurden
  • 2
    Content SW craftsmanship
    • What is craftsmanship?
    • Why are we bothered with it?
    • Manifesto
    • SW Craftsmanship book
    • Conclusion
  • Approved: 24-Feb- 2010
    iXR, R&D Software - One Page Strategy 2010
    Strategic Direction
    Metrics / KPI’s
    Hoshins 2010
    technologies effectively
    • Encourage craftsmanship., innovations and continuous learning
    • Well defined and deployed SW architecture, supporting
    Encourage craftsmanship, innovations and continuous learning
  • What is craftsmanship?
    The skills to deliver high qualitywork
    Skill in an occupation or trade.
    A person who practices or is highly skilled in a craft
    A man who practices a craft with great skill.
  • Why are we bothered with it? (1/2)
    Craftsmanship is about YOU!
  • Approved: 24-Feb- 2010
    iXR, R&D Software - One Page Strategy 2010
    Strategic Direction
    Metrics / KPI’s
    Hoshins 2010
    Cost of non quality for IT worldwide in 2015
    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
  • SW Craftsmanship manifesto
  • Manifesto’s combined
    SW Craftsmanship
    A community of professionals
    Well-crafted software
    Productive partnerships
    Steadily adding value
    SW engineering
    Processes and tools
    Comprehensive documentation
    Contract negotiation
    Following a plan
    Individuals and interactions
    Working software
    Customer collaboration
    Responding to change
  • 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
  • Software Craftsmanship: The New Imperative (2)
    Traditional craft
    Technical knowledge
    Practiced skill
  • Software Craftsmanship: The New Imperative (3)
    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
  • 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
  • Software Craftsmanship: The New Imperative (5)
    • 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
  • Software Craftsmanship: The New Imperative (6)
    • Contribute to simple tasks
    • Learn from journeyman
    • Situated learning
    • Review work of the master
    • Progression through demonstrated progress
  • 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
  • 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)
  • 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
  • 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.
  • 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
  • 20