Your SlideShare is downloading. ×
0
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
SW Craftsmanship in Sioux Embedded Systems
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SW Craftsmanship in Sioux Embedded Systems

845

Published on

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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 -> 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.
  • Transcript

    • 1. Sw Craftsmanship<br />- Sioux weekend of code -<br />Roy Nitert<br />October 2011<br />
    • 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. 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. 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. 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. SW Craftsmanship manifesto<br />© Sioux Embedded Systems 2010 | Confidential | <br />6<br />
    • 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. 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. 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. 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. Infects the team with enthusiasm and passion for the craft
    • 12. Has delivered many successful, robust, high-quality applications
    • 13. Is recognized by users, customers and developers
    • 14. Is responsible for passing on the craft
    • 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. Small teams
    • 17. Coach apprentices
    • 18. Learn from masters
    • 19. Spread knowledge between masters
    • 20. Focused on delivering applications
    • 21. Does not work without master or other journeyman</li></ul>© Sioux Embedded Systems 2010 | Confidential | <br />12<br />
    • 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. Learn from journeyman
    • 24. Situated learning
    • 25. Review work of the master
    • 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. Take credit
    • 28. Accountability
    • 29. Reputation</li></ul>No licensing/certification<br /><ul><li>Craftsmanship is personal
    • 30. Peer recognition
    • 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. Small team of good developers
    • 33. No detailed instructions or command and control
    • 34. Facilitating and coordinating
    • 35. Knowledge workers
    • 36. Pay them well </li></ul>(3 times as much as average developers)<br />
    • 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. Martin, Robert C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. ISBN 0132350882.
    • 39. Martin, Robert C. (2011). The Clean Coder: A Code of Conduct for Professional Programmers. Prentice Hall. ISBN 0137081073.
    • 40. Hoover, Dave; Oshineye, Adewale. (2009) Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. O'Reilly. ISBN 0596518382.
    • 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. 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. Follow up on DC survey (Roy)
    • 44. Mentoring (Duncan)
    • 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. 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. Explain ‘don’t repeat yourself’
    • 48. Explain one of the SOLID principles
    • 49. Refactoring
    • 50. TDD
    • 51. BDD
    • 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. Discussion<br />© Sioux Embedded Systems 2010 | Confidential | <br />21<br />Do these skillsbelong to SW craftsmanship?<br />Skill1<br />Skill2<br />…<br />
    • 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. SW Craftsmanship<br />© Sioux Embedded Systems 2010 | Confidential | <br />23<br />Verbeter je skills,<br />begin bijjezelf<br />
    • 56. 24<br />© Sioux Embedded Systems 2010 | Confidential | <br />roy.nitert@sioux.eu<br />+31 40 2677100<br />roy.nitert<br />

    ×