sw craftsmanship in sioux embedded systems
Post on 19-Oct-2014
975 views
DESCRIPTION
TRANSCRIPT
Sw Craftsmanship
- Sioux weekend of code -
Roy Nitert
October 2011
© Sioux Embedded Systems 2010 | Confidential | 2
Agenda
What is SW craftsmanship ? Exercise 1 Background craftsmanship based on Pete
McBreens book SW Craftsmanship within Sioux Exercise 2 Wrap-up
© Sioux Embedded Systems 2010 | Confidential | 3
What is SW Craftsmanship ?
What do you think that it is? What activities/skills/attitude belong to it? Lets make a list
© Sioux Embedded Systems 2010 | Confidential | 4
Exercise
Determine what belongs to SW craftsmanship and what not
In two groups Use flipover and notes with ‘skills’ You can make new notes 10 minutes to cover all notes Keep discussions to a minimum
© Sioux Embedded Systems 2010 | Confidential | 5
Skills
active listening architecture ASD BDD/ATDD build automation C# C++ clean code code review coding dojo/kata coding standard communiceren configuration management conflict management continuous integration design patterns document review documenting don’t repeat yourself eclipse estimating java kanban leadership
mentoring model driven development OOA/D pair programming peer recognition presenteren projectmatig werken reading refactoring requirements engineering retrospection RUP scrum SQS SVN TDD team building test automation testing UML unit testing Visual Studio V-model
© Sioux Embedded Systems 2010 | Confidential | 6
SW Craftsmanship manifesto
© Sioux Embedded Systems 2010 | Confidential | 7
Agile Manifesto
SW craftsmanship manifesto
Two Manifestos
Processes and tools
Comprehensive documentation
Contract negotiation
Following a plan
Individuals and interactions
Working software
Customer collaboration
Responding to change
A community of professionals
Well-crafted software
Productive partnerships
Steadily adding value
© Sioux Embedded Systems 2010 | Confidential | 8
Software Craftsmanship book The New Imperative (1)
The software business resides in a constant crisis
Engineering only considers development as science, but does not address the social aspects
A different metaphor would be more suitable
© Sioux Embedded Systems 2010 | Confidential | 9
Software Craftsmanship book The New Imperative (2)
Traditional craft: Technical knowledge, practiced skill and aesthetics
Roles: Master craftsman, Journeyman, Apprentice
© Sioux Embedded Systems 2010 | Confidential | 10
Software Craftsmanship book 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
© Sioux Embedded Systems 2010 | Confidential | 11
Software Craftsmanship book 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
© Sioux Embedded Systems 2010 | Confidential | 12
Software Craftsmanship book 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
© Sioux Embedded Systems 2010 | Confidential | 13
Software Craftsmanship book The New Imperative (6)
Apprentice
•Contribute to simple tasks•Learn from journeyman•Situated learning•Review work of the master•Progression through demonstrated progress
© Sioux Embedded Systems 2010 | Confidential | 14
Software Craftsmanship book 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
© Sioux Embedded Systems 2010 | Confidential | 15
Software Craftsmanship book 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)
© Sioux Embedded Systems 2010 | Confidential | 16
More information
Books:• McBreen, Pete (2001). Software Craftsmanship: The New Imperative.
Addison Wesley. ISBN 0201733862. • Martin, Robert C. (2008). Clean Code: A Handbook of Agile Software
Craftsmanship. Prentice Hall. ISBN 0132350882.• Martin, Robert C. (2011). The Clean Coder: A Code of Conduct for
Professional Programmers. Prentice Hall. ISBN 0137081073.• 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. Addison Wesley. ISBN 020161622X
Manifesto: http://manifesto.softwarecraftsmanship.org/
Wiki: http://en.wikipedia.org/wiki/Software_Craftsmanship
© Sioux Embedded Systems 2010 | Confidential | 17
Think tank
SW Craftsmanship Think tank
Members: Duncan Stiphout, Roy Nitert, Tjakko Kleinhuis
Goal: Improve SW engineering skills by creating a continuous learning environment
Activities:- Define engineering skills- Follow up on DC survey (Roy)- Mentoring (Duncan)- Lunch sessions (Tjakko)
© Sioux Embedded Systems 2010 | Confidential | 18
Mentoring
Mentoring is a first step towards master-journeyman-apprentice model
Facilitate pairs of coach and coachee List of potential coaches available Coachees are approached during PM talks You can also subscribe yourself Indication: 2 to 4 hours a month Paid by personal training budget
© Sioux Embedded Systems 2010 | Confidential | 19
Lunch sessions
Monthly session by different speaker Case driven / with code Possible subjects:
- Explain one design pattern in depth- Explain ‘don’t repeat yourself’- Explain one of the SOLID principles- Refactoring- TDD- BDD- Code reviews
© Sioux Embedded Systems 2010 | Confidential | 20
Exercise
Again determine what belongs to SW craftsmanship and what not
Add more skills 5 minutes
© Sioux Embedded Systems 2010 | Confidential | 21
Discussion
Do these skills belong to SW craftsmanship? Skill1 Skill2 …
© Sioux Embedded Systems 2010 | Confidential | 22
Coming up
Cursus cafetaria Hot-or-not Craftsmanship Premium course Craftsmanship Lunch sessions Mentoring
Kevlin Henney
© Sioux Embedded Systems 2010 | Confidential | 23
SW Craftsmanship
Verbeter je skills,begin bij jezelf