Slide 1

Slide 1 text

SOFTWARE CRAFTSMANSHIP VIA APPRENTICESHIP PATTERNS Ade Oshineye

Slide 2

Slide 2 text

www.oshineye.com/+

Slide 3

Slide 3 text

4.5 YEARS IN 1 MOMENT It took us 4.5 years to write the book. This is the only time Dave, me and Ward (who wrote the foreword) have ever been in the same place

Slide 4

Slide 4 text

HERE’S A THING THAT WORKS An exercise. 2 volunteers. 1 from each side of the room. 1 watches and will attempt to pass along what they saw 1 will have 30 seconds of explanation The goal is to share the lesson with everybody in your side of the room Time limit: 15 minutes

Slide 5

Slide 5 text

NO EASY ANSWERS Does this work? Why? Who learned fastest? Who was better at teaching?

Slide 6

Slide 6 text

NO EASY ANSWERS

Slide 7

Slide 7 text

WHAT IS A PATTERN? Is it just a clever trick?

Slide 8

Slide 8 text

“A pattern is a proven solution to a problem in a context”

Slide 9

Slide 9 text

“A pattern is a proven solution to a problem in a context” WARNING: STRAWMAN Apprenticeship Patterns is an attempt at a pattern language The patterns should take you from one context to another

Slide 10

Slide 10 text

THE WHITE BELT sort 1 + (6 ? 49) You’ve learned a few things and they’re stopping you from learning new things Create opportunities to wear the white belt. Learn to enjoy being a beginner Pick a problem and solve it in the weirdest language you know

Slide 11

Slide 11 text

PATTERN? Resolve forces in a context Transformation of context

Slide 12

Slide 12 text

PATTERN? Family of solutions Each solution transforms your context Explained by picking one family-member

Slide 13

Slide 13 text

PATTERN? Unpacking a pattern’s essence over time Initial exposition and Singleton

Slide 14

Slide 14 text

PATTERN? Familienähnlichkeit Family-resemblance: concept usually traced back to Wittgenstein Overlapping features without a common subset

Slide 15

Slide 15 text

SOFTWARE CRAFTSMANSHIP? “a community of practice united and defined by overlapping values”

Slide 16

Slide 16 text

THE QUESTION OF SKILL? Acquisition Growth Transmission

Slide 17

Slide 17 text

RECORD WHAT YOU LEARN “a nursery not a graveyard”

Slide 18

Slide 18 text

RECORD WHAT YOU LEARN

Slide 19

Slide 19 text

SHARE WHAT YOU LEARN “an ethical dimension to knowledge”

Slide 20

Slide 20 text

SHARE WHAT YOU LEARN

Slide 21

Slide 21 text

AGILE BY ANOTHER NAME? One question that gets asked quite frequently: there’s nothing new here, isn’t this all just agile by another name?

Slide 22

Slide 22 text

THE QUESTION OF LORE Making tacit knowledge explicit Creating a shared vocabulary Telling the stories behind our skills The reason we call this a craft is because we’re too young to be engineers or even scientists. We’re not ready yet. We have to build up a lore that will become knowledge.

Slide 23

Slide 23 text

FAMILIAR TOOLS “In time, all of your favourite tools will become junk” Every project has lots of new things. Your predictions (about quality and cost) are meaningless if everything is new. Identify a set of tools that you will master. Use them everywhere.

Slide 24

Slide 24 text

APPRENTICESHIP & TEACHERS Are we apprentices or disciples? So much of our knowledge is tacit that we often have to say: “trust me.” It’s very easy for that authority to be abused.

Slide 25

Slide 25 text

NO MASTERS...YET The last line of Apprenticeship Patterns upsets a lot of people. It suggests that it’s our job to train people who will disagree with us and eventually be better than us. If your students aren’t surpassing you then you’ve failed as a teacher.

Slide 26

Slide 26 text

THANK YOU!