What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software...

54
What is (not) Software Craftsmanship? Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Transcript of What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software...

Page 1: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

What is (not)Software Craftsmanship?

Daniel Carral (@dcarral)Clean Code Days (Munich), 06/20/2018

Page 2: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

What is (not)Software Craftsmanship?Crafting

Daniel Carral (@dcarral)Clean Code Days (Munich), 06/20/2018

Page 3: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

What is (not)Software Craftsmanship?as a Craft

Daniel Carral (@dcarral)Clean Code Days (Munich), 06/20/2018

Page 4: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Daniel Carral (@dcarral)Clean Code Days (Munich), 06/20/2018

What is (not)Software Craftsmanship?Craft

Page 5: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Daniel Carral (@dcarral)Clean Code Days (Munich), 06/20/2018

What is (not)Software Craftsmanship?Crafters

Page 6: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Agenda

➔ Intro

➔ History

➔ 3 key concepts

➔ What is it? What not?

➔ The community :)

Page 7: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 8: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

github.com/dcarral/software-crafting

Page 9: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Intro

Page 10: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 11: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Q: What is Software Crafting?

Page 12: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 13: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

History

Page 14: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

1992: What is software design?

“Software development is still more a craft than an engineering discipline.

This is primarily because of a lack of rigor in the critical processes of validating and improving a design.”

Jack W. Reeves

Page 15: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2001: Software Craftsmanship

Page 16: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2001 - 2007: Agile transformation

Page 17: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2008: Craftsmanship over crap

Page 18: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2009: Craftsmanship manifesto

Page 19: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2011: 1st SoCraTes

Page 20: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Agenda

➔ Intro

➔ History

➔ 3 key concepts➔ What is it? What not?

➔ The community :)

Page 21: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

3 key concepts

Page 22: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

1.- Deliberate practice“Highly structured activity designed with

the specific goal of improving performance.”

Page 23: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Q: Ok, but practicing what?

Page 24: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A:

Page 25: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Q: So, is Software Crafting just rebranding XP?

Page 26: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A: No

Page 27: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

2.- Open Space Technology“One way to enable inspired meetings & events.”

Page 28: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 29: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 30: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

3.- Apprenticeship“System of training a new generation of

practitioners of a profession with on-the-job training and accompanying study.”

Page 31: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 32: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 33: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

So… …what is it? what not?

Page 34: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A: It's not...

…anti Software Engineering

Page 35: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A: It's not...

…anti agile

Page 36: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A: It's not...

…(just) being professional

Page 37: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

A: It's not...

…(just) writing crap (or not)

Page 38: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

It actually is...

Page 39: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

… a community of software professionals who:

Care, practice, learn & share

Page 40: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

The community :-)

Page 41: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018
Page 42: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Lean coffees

Page 43: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Code KatasCoding Dojos

Page 44: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Coderetreats

Page 45: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

+ info @ coderetreat.org

Page 46: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

SoCraTesevents

Page 47: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

+ info @ socrates-conference.de

Page 48: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Journey-level tours

Page 49: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

I got inspired…

Corey Haines Daniel Temme Peter Kofler

Page 50: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

…and did it! :-)

Page 51: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Q: Great. And now?

Page 52: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

Join the community.Raise the bar!

slack.softwarecrafters.org

Page 53: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

+ info @ crafting-sessions.trendig.com

Page 54: What is (not) Software Craftsmanship? - Embedded Testing · 2018-06-27 · What is (not) Software Craftsmanship? as a Craft Daniel Carral (@dcarral) Clean Code Days (Munich), 06/20/2018

● Inclusive language● Deliberate practice● Open Space Technology● Apprenticeship● The Community

● Lean coffees● Code katas / coding dojos● Coderetreats● SoCraTes events● Journey-level tours

@dcarraldcarral.org