SW Craftsmanship in Sioux Embedded Systems
Upcoming SlideShare
Loading in...5
×
 

SW Craftsmanship in Sioux Embedded Systems

on

  • 913 views

 

Statistics

Views

Total Views
913
Views on SlideShare
911
Embed Views
2

Actions

Likes
3
Downloads
5
Comments
0

2 Embeds 2

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

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.

SW Craftsmanship in Sioux Embedded Systems SW Craftsmanship in Sioux Embedded Systems Presentation Transcript

  • Sw Craftsmanship
    - Sioux weekend of code -
    Roy Nitert
    October 2011
  • Agenda
    © Sioux Embedded Systems 2010 | Confidential |
    2
    What is SW craftsmanship ?
    Exercise 1
    Background craftsmanship based on Pete McBreens book
    SW Craftsmanship within Sioux
    Exercise 2
    Wrap-up
  • What is SW Craftsmanship ?
    © Sioux Embedded Systems 2010 | Confidential |
    3
    What do you think that it is?
    What activities/skills/attitude belong to it?
    Lets make a list
  • Exercise
    © Sioux Embedded Systems 2010 | Confidential |
    4
    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
  • Skills
    © Sioux Embedded Systems 2010 | Confidential |
    5
    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
    projectmatigwerken
    reading
    refactoring
    requirements engineering
    retrospection
    RUP
    scrum
    SQS
    SVN
    TDD
    team building
    test automation
    testing
    UML
    unit testing
    Visual Studio
    V-model
  • SW Craftsmanship manifesto
    © Sioux Embedded Systems 2010 | Confidential |
    6
  • Agile Manifesto
    SW craftsmanship manifesto
    Two Manifestos
    © Sioux Embedded Systems 2010 | Confidential |
    7
    Individuals and interactions
    Working software
    Customer collaboration
    Responding to change
    Processes and tools
    Comprehensive documentation
    Contract negotiation
    Following a plan
    A community of professionals
    Well-crafted software
    Productive partnerships
    Steadily adding value
  • 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 |
    8
  • Software Craftsmanship book The New Imperative (2)
    Traditional craft: Technical knowledge, practiced skill and aesthetics
    © Sioux Embedded Systems 2010 | Confidential |
    9
    • Roles: Master craftsman, Journeyman, Apprentice
  • Software Craftsmanship book The New Imperative (3)
    © Sioux Embedded Systems 2010 | Confidential |
    10
    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
  • Software Craftsmanship book The New Imperative (4)
    © Sioux Embedded Systems 2010 | Confidential |
    11
    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 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 |
    12
  • Software Craftsmanship book The New Imperative (6)
    © Sioux Embedded Systems 2010 | Confidential |
    13
    Apprentice
    • Contribute to simple tasks
    • Learn from journeyman
    • Situated learning
    • Review work of the master
    • Progression through demonstrated progress
  • Software Craftsmanship book The New Imperative (7)
    © Sioux Embedded Systems 2010 | Confidential |
    14
    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 book The New Imperative (8)
    © Sioux Embedded Systems 2010 | Confidential |
    15
    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)
  • More information
    © Sioux Embedded Systems 2010 | Confidential |
    16
    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
  • Think tank
    © Sioux Embedded Systems 2010 | Confidential |
    17
    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)
  • Mentoring
    © Sioux Embedded Systems 2010 | Confidential |
    18
    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
  • Lunch sessions
    © Sioux Embedded Systems 2010 | Confidential |
    19
    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
  • Exercise
    © Sioux Embedded Systems 2010 | Confidential |
    20
    Againdeterminewhatbelongs to SW craftsmanship and whatnot
    Add more skills
    5 minutes
  • Discussion
    © Sioux Embedded Systems 2010 | Confidential |
    21
    Do these skillsbelong to SW craftsmanship?
    Skill1
    Skill2

  • Coming up
    © Sioux Embedded Systems 2010 | Confidential |
    22
    Cursus cafetaria
    Hot-or-notCraftsmanship
    Premium courseCraftsmanship
    Lunch sessions
    Mentoring
    KevlinHenney
  • SW Craftsmanship
    © Sioux Embedded Systems 2010 | Confidential |
    23
    Verbeter je skills,
    begin bijjezelf
  • 24
    © Sioux Embedded Systems 2010 | Confidential |
    roy.nitert@sioux.eu
    +31 40 2677100
    roy.nitert