Sw Craftsmanship<br />- Sioux weekend of code -<br />Roy Nitert<br />October 2011<br />
Agenda<br />© Sioux Embedded Systems 2010 | Confidential | <br />2<br />What is SW craftsmanship ?<br />Exercise 1<br />Ba...
What is SW Craftsmanship ?<br />© Sioux Embedded Systems 2010 | Confidential | <br />3<br />What do you think that it is?<...
Exercise<br />© Sioux Embedded Systems 2010 | Confidential | <br />4<br />Determine what belongs to SW craftsmanship and w...
Skills<br />© Sioux Embedded Systems 2010 | Confidential | <br />5<br />active listening<br />architecture<br />ASD<br />B...
SW Craftsmanship manifesto<br />© Sioux Embedded Systems 2010 | Confidential | <br />6<br />
Agile Manifesto<br />SW craftsmanship manifesto<br />Two Manifestos<br />© Sioux Embedded Systems 2010 | Confidential | <b...
Software Craftsmanship book The New Imperative (1)<br />The software business resides in a constant crisis<br />Engineerin...
Software Craftsmanship book The New Imperative (2)<br />Traditional craft: Technical knowledge, practiced skill and aesthe...
create a learning environment</li></li></ul><li>Software Craftsmanship book The New Imperative (4)<br />© Sioux Embedded S...
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</li></li></ul><li>Software Craftsmanship book The New Imperative (5)<br />Journeyman<br /><ul><li>Has...
Small teams
Coach apprentices
Learn from masters
Spread knowledge between masters
Focused on delivering applications
Does not work without master or other journeyman</li></ul>© Sioux Embedded Systems 2010 | Confidential | <br />12<br />
Software Craftsmanship book The New Imperative (6)<br />© Sioux Embedded Systems 2010 | Confidential | <br />13<br />Appre...
Learn from journeyman
Situated learning
Upcoming SlideShare
Loading in...5
×

SW Craftsmanship in Sioux Embedded Systems

866

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
866
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Intro:Craftsmanship is eenbenadering van SW ontwikkelingdatnadruklegt op programeerkwaliteiten van de ontwikkelaars. Het is eenantwoord op de benaderingwaarbijontwikkelaarszichzienalsingenieurs, waarbij de nadrukligt op goedgedefinieerdestatistischanalyse en processen en daaraangekoppeldelicenties en certificering. De agile manifesto gaathier al tegenin door individuen en interactiebovenprocessen en tools testellen. SW craftsmanship breidtditverderuit door tekijkennaar het Middeleeuwse ‘apprenticeship’ model van leerling-gezel-meester.De bewegingheeftzijnwortels in boeken (pragmatic programmer, SW craftsmanship, clean coder).
  • Vraagpubliekomdingentenoemen.Schrijf die op. 5 minutenIntroductie tot de volgendeoefening
  • 10 minuten
  • Loop rondomuitlegtegevenbij de ‘skills’Nietalleenskills: ook tools of activitiesStop oefeningom 15:45
  • Time 15:45In Februari 2009werd de eersteinternationale SW craftsmanship conferensie in Londengehouden.Eenmaand later, nawatdiscussies, werdereensamenvattinggemaakt, en werdditgepubliceerdals manifesto.Origineelgetekend dooro.a. Robert Martin (clean code), Dave Hoover (patterns), Ron Jeffries (XP)Ikheb ‘m ookgetekend.Read out the first part: as aspiring SW craftsmen4 values …. Zoals agile manifesto.
  • SW craftsmanship manifesto is eenuitbreiding van de Agile manifesto.
  • McBreen, Pete (2001). Software Craftsmanship: The New Imperative. Addison Wesley. ISBN 0201733862. Crisis -&gt; over budget, over time, low qualityHijsteltvoordat SW ontwikkelaarszichzelfniethoeventezienalsingenieurs, maardateenanderemetafoorbeter op z’nplaatszouzijn.
  • Hijkijksnaar de gildesuit de Middeleeuwen.Picture: Houtbewerking.Nietalleen KENNIS, maarook VAARDIGHEDEN en zelfs SCHOONHEID/CREATIVITEITMeester – gezel - leerling
  • Doel …Verbeteringalsindividu …Leren door doen …Het gaatomvaardighedenopdoen en verbeteren, en nietmeeromprocesverbetering.
  • Applicatiesopleveren, en daarmeeeengoedereputatieopbouwen.Nietalleen managing, maar is betrokkenbijalleaspecten van programmeren.
  • Gezel is de basis waaropkleineeffectieve teams zijngebouwd, en die geleidworden door eenmeester.Picture: verhuizennaareenanderemeester met eenrugzakvolkennis en vaardighedenSommigegezellenwordennaverloop van tijdmeester, maarveleblijvengezelvoor de rest van huncarriere.
  • Tijd 15.55Situated learning: Oefenvaardigheden in eenrealistisch project onderbegeleiding van eenervarengezel die veel feedback geeft.Review: leerlingleest code van eenmeester en leertzo indirect.Belangrijksteeigenschap van eenleerling is de houdingomvaardighedenteleren en verbeteren.
  • TrotsOnderteken je werkZoalsookarchitecteneentegel in eengebouwplaatsenZoalsgebruikelijk is in de open source gemeenschap- Zoalsgebruikelijk in Hollywood met de ‘credit list’ aan het eind van elke film.Licensie en certificering is eenillusie, omdat het veronderstelddat het mogelijk is omkwaliteit in eenproduktteinspecteren.Persoonlijk: Behandeliederafzonderlijk met zijn/haarunieketalenten en mogelijkheden.
  • Pay them well: Nietalleen KENNIS (ervaring), maar VAARDIGHEDEN moetenbeterwordenbeloondPay: instead of 10 times 100k, pay 300k + 2x 200k + 3x 100k
  • Coach – coacheeplannenzelf de coach contact uren.
  • SOLID: OOD principles:SRP: single responsibility principle: object should only be responsible for one thing(Open/closed, Liskov substitution, interface segregation, dependency inversion)
  • Tijd: 16.05Loop rond en schrijf deverschillen op tussen de 2 groepen.Dit is startpunt van de discussie: schrijf 5 skills op de volgende sheet
  • Tijd: 16.15Schrijfhier 5 skills waar de 2 groepen het niet over eenszijn.Vraag de groepenhunkeuze toe telichten en de anderegroepteovertuigenHoud twee minuten per skill aan
  • Tijd 16:25 Wrap upCafetaria: UML, OOD, review, TDD, etcSpreker: KevlinHenney
  • Voorwiemeerwilweten, lees de boeken en online links.Als je geinteresseerd bent meetehelpenom SW craftsmanship binnen Sioux uitterollen, laat het me weten.
  • SW Craftsmanship in Sioux Embedded Systems

    1. 1. Sw Craftsmanship<br />- Sioux weekend of code -<br />Roy Nitert<br />October 2011<br />
    2. 2. Agenda<br />© Sioux Embedded Systems 2010 | Confidential | <br />2<br />What is SW craftsmanship ?<br />Exercise 1<br />Background craftsmanship based on Pete McBreens book<br />SW Craftsmanship within Sioux<br />Exercise 2<br />Wrap-up<br />
    3. 3. What is SW Craftsmanship ?<br />© Sioux Embedded Systems 2010 | Confidential | <br />3<br />What do you think that it is?<br />What activities/skills/attitude belong to it?<br />Lets make a list <br />
    4. 4. Exercise<br />© Sioux Embedded Systems 2010 | Confidential | <br />4<br />Determine what belongs to SW craftsmanship and what not<br />In two groups<br />Use flipover and notes with ‘skills’<br />You can make new notes<br />10 minutes to cover all notes<br />Keep discussions to a minimum<br />
    5. 5. Skills<br />© Sioux Embedded Systems 2010 | Confidential | <br />5<br />active listening<br />architecture<br />ASD<br />BDD/ATDD<br />build automation<br />C#<br />C++<br />clean code<br />code review<br />coding dojo/kata<br />coding standard<br />communiceren<br />configuration management<br />conflict management<br />continuous integration<br />design patterns<br />document review<br />documenting<br />don’t repeat yourself<br />eclipse<br />estimating<br />java<br />kanban<br />leadership<br />mentoring<br />model driven development<br />OOA/D<br />pair programming<br />peer recognition<br />presenteren<br />projectmatigwerken<br />reading<br />refactoring<br />requirements engineering<br />retrospection<br />RUP<br />scrum<br />SQS<br />SVN<br />TDD<br />team building<br />test automation<br />testing<br />UML<br />unit testing<br />Visual Studio<br />V-model<br />
    6. 6. SW Craftsmanship manifesto<br />© Sioux Embedded Systems 2010 | Confidential | <br />6<br />
    7. 7. Agile Manifesto<br />SW craftsmanship manifesto<br />Two Manifestos<br />© Sioux Embedded Systems 2010 | Confidential | <br />7<br />Individuals and interactions<br />Working software<br />Customer collaboration<br />Responding to change<br />Processes and tools<br />Comprehensive documentation<br />Contract negotiation<br />Following a plan<br />A community of professionals<br />Well-crafted software<br />Productive partnerships<br />Steadily adding value<br />
    8. 8. Software Craftsmanship book The New Imperative (1)<br />The software business resides in a constant crisis<br />Engineering only considers development as science, but does not address the social aspects<br />A different metaphor would be more suitable<br />© Sioux Embedded Systems 2010 | Confidential | <br />8<br />
    9. 9. Software Craftsmanship book The New Imperative (2)<br />Traditional craft: Technical knowledge, practiced skill and aesthetics<br />© Sioux Embedded Systems 2010 | Confidential | <br />9<br /><ul><li>Roles: Master craftsman, Journeyman, Apprentice</li></li></ul><li>Software Craftsmanship book The New Imperative (3)<br />© Sioux Embedded Systems 2010 | Confidential | <br />10<br />Objective<br />Obtain mastery over science and engineering so that we can continually refine our craft<br />Raising the bar<br />Continually work to improve your skills<br />Perpetual learning <br /><ul><li>encourage participation in conferences
    10. 10. create a learning environment</li></li></ul><li>Software Craftsmanship book The New Imperative (4)<br />© Sioux Embedded Systems 2010 | Confidential | <br />11<br />Master craftsman<br /><ul><li>Leads a team of journeymen and apprentices
    11. 11. Infects the team with enthusiasm and passion for the craft
    12. 12. Has delivered many successful, robust, high-quality applications
    13. 13. Is recognized by users, customers and developers
    14. 14. Is responsible for passing on the craft
    15. 15. Chooses his own team</li></li></ul><li>Software Craftsmanship book The New Imperative (5)<br />Journeyman<br /><ul><li>Has worked for several years with a master
    16. 16. Small teams
    17. 17. Coach apprentices
    18. 18. Learn from masters
    19. 19. Spread knowledge between masters
    20. 20. Focused on delivering applications
    21. 21. Does not work without master or other journeyman</li></ul>© Sioux Embedded Systems 2010 | Confidential | <br />12<br />
    22. 22. Software Craftsmanship book The New Imperative (6)<br />© Sioux Embedded Systems 2010 | Confidential | <br />13<br />Apprentice<br /><ul><li>Contribute to simple tasks
    23. 23. Learn from journeyman
    24. 24. Situated learning
    25. 25. Review work of the master
    26. 26. Progression through demonstrated progress</li></li></ul><li>Software Craftsmanship book The New Imperative (7)<br />© Sioux Embedded Systems 2010 | Confidential | <br />14<br />Put back pride into SW development<br /><ul><li>Sign your work
    27. 27. Take credit
    28. 28. Accountability
    29. 29. Reputation</li></ul>No licensing/certification<br /><ul><li>Craftsmanship is personal
    30. 30. Peer recognition
    31. 31. Peer recommendation</li></li></ul><li>Software Craftsmanship book The New Imperative (8)<br />© Sioux Embedded Systems 2010 | Confidential | <br />15<br />Management style<br /><ul><li>No horde of average programmers
    32. 32. Small team of good developers
    33. 33. No detailed instructions or command and control
    34. 34. Facilitating and coordinating
    35. 35. Knowledge workers
    36. 36. Pay them well </li></ul>(3 times as much as average developers)<br />
    37. 37. More information<br />© Sioux Embedded Systems 2010 | Confidential | <br />16<br />Books:<br /><ul><li>McBreen, Pete (2001). Software Craftsmanship: The New Imperative. Addison Wesley. ISBN 0201733862.
    38. 38. Martin, Robert C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. ISBN 0132350882.
    39. 39. Martin, Robert C. (2011). The Clean Coder: A Code of Conduct for Professional Programmers. Prentice Hall. ISBN 0137081073.
    40. 40. Hoover, Dave; Oshineye, Adewale. (2009) Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. O'Reilly. ISBN 0596518382.
    41. 41. Hunt, Andrew; Thomas, Dave (1999). The Pragmatic Programmer: From Journeyman to Master. Addison Wesley. ISBN 020161622X</li></ul>Manifesto: http://manifesto.softwarecraftsmanship.org/<br />Wiki: http://en.wikipedia.org/wiki/Software_Craftsmanship<br />
    42. 42. Think tank<br />© Sioux Embedded Systems 2010 | Confidential | <br />17<br />SW Craftsmanship Think tank<br />Members: Duncan Stiphout, Roy Nitert, Tjakko Kleinhuis<br />Goal: Improve SW engineering skills by creating a continuous learning environment<br />Activities:<br /><ul><li>Define engineering skills
    43. 43. Follow up on DC survey (Roy)
    44. 44. Mentoring (Duncan)
    45. 45. Lunch sessions (Tjakko)</li></li></ul><li>Mentoring<br />© Sioux Embedded Systems 2010 | Confidential | <br />18<br />Mentoring is a first step towards master-journeyman-apprentice model<br />Facilitate pairs of coach and coachee<br />List of potential coaches available<br />Coachees are approached during PM talks <br />You can also subscribe yourself<br />Indication: 2 to 4 hours a month<br />Paid by personal training budget<br />
    46. 46. Lunch sessions<br />© Sioux Embedded Systems 2010 | Confidential | <br />19<br />Monthly session by different speaker<br />Case driven / with code<br />Possible subjects:<br /><ul><li>Explain one design pattern in depth
    47. 47. Explain ‘don’t repeat yourself’
    48. 48. Explain one of the SOLID principles
    49. 49. Refactoring
    50. 50. TDD
    51. 51. BDD
    52. 52. Code reviews</li></li></ul><li>Exercise<br />© Sioux Embedded Systems 2010 | Confidential | <br />20<br />Againdeterminewhatbelongs to SW craftsmanship and whatnot<br />Add more skills<br />5 minutes<br />
    53. 53. Discussion<br />© Sioux Embedded Systems 2010 | Confidential | <br />21<br />Do these skillsbelong to SW craftsmanship?<br />Skill1<br />Skill2<br />…<br />
    54. 54. Coming up<br />© Sioux Embedded Systems 2010 | Confidential | <br />22<br />Cursus cafetaria<br />Hot-or-notCraftsmanship<br />Premium courseCraftsmanship<br />Lunch sessions<br />Mentoring<br />KevlinHenney<br />
    55. 55. SW Craftsmanship<br />© Sioux Embedded Systems 2010 | Confidential | <br />23<br />Verbeter je skills,<br />begin bijjezelf<br />
    56. 56. 24<br />© Sioux Embedded Systems 2010 | Confidential | <br />roy.nitert@sioux.eu<br />+31 40 2677100<br />roy.nitert<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×