The Journey towards Software Craftsmanship · The Journey towards Software Craftsmanship Sebastian...

Post on 18-Jul-2020

5 views 0 download

Transcript of The Journey towards Software Craftsmanship · The Journey towards Software Craftsmanship Sebastian...

The

Journey towards

Software Craftsmanship

Sebastian Heglmeier @sebheglmeier Candlelightdoener www.improuv.com

©2015 improuv GmbH, Brecherspitzstr. 8, 81541 München

Often heard (at work, at conferences, in the beergarden)

I am the only one who writes

clean code

Why don‘t the others care?

WTF Ein Mal mit Profis

arbeiten!

Software Craftsmanship

The SW Craftsmanship Manifesto from

The next 45 minutes: an interactive exploration!

• An awesome project

-- ...what makes a project really awesome

• 7 Pillars of an agile Team

-- what‘s important for a successful project?

• Changing things

-- on which levels can you improve on your journey .. and how?

What makes a project really awesome?

Handout

The 7 Pillars of a really awesome project

Product Sense

Confidence

Focus on Business

Value

Collaboration

Supportive Culture

Technical Excellence

Self Improvement

Handout

The 7 Pillars of an agile Team

Product Sense

Confidence

Focus on Business

Value

Collaboration

Supportive Culture

Technical Excellence

Self Improvement

Brian Marick, Chet Hendrickson, Ron Jeffries, Uncle Bob, James Shore

Handout

Handout

Handout

The 7 Pillars of an agile Team

Product Sense

Confidence

Focus on Business

Value

Collaboration

Supportive Culture

Technical Excellence

Self Improvement

Brian Marick, Chet Hendrickson, Ron Jeffries, Uncle Bob, James Shore

Handout

7 Pillars - Self Assessment

A moment to learn, a lifetime to master

[0] Questioning - not sure what this is [1] Learning - I know it but have no 1st hand experience [2] Practicing - I actively use it. I can reference more than one resource I‘ve used to learn this skill. I used it within the last 30 days. [3] Journeying - Used skill in multiple environments. Peers from 2 different environments recognize person‘s competence. [4] Mastering - Unquestioned competence. Can explain underlying forces. Practiced skill along side other experts.

Brian Marick

How to help a team become Software Craftsmen?

Ways to improve

What can you do for

yourself?

What can the whole Team

do?

Where can your company

help you?

Spreading the Wisdom – the Concept of „Ba“

Knowledge • tacit (stillschweigend): not easy to express, hard to formalize • explicit: can be expressed in words & numbers, can be shared

Socialization Combination

Internalization

Externalization

Conversion Pattern • Leads to new knowledge

Ba • The place which makes a particular

conversion happen

Kitaro Nishida Shimizu

Nonaka, Konno

4 conversion patterns from tacit to explicit knowledge

Handout

So...

Write only good code

The sky is the limit

Find a community, find a mentor

Share & teach others

Know your unknowns

Further reading

• Brian Marick – The 7 pillars of an Agile team and Self Assessment Spider Diagram

• A try to dig deeper into the 7 Pillars

• Software Craftsmanship Manifesto

• Ikujiro Nonaka, Noburo Konno: The Concept of „Ba“

• Softwerkskammer

• European Conferences 2016