Develop Yourself

Kata, Kumite & Randori

About me

  • Ole Rößner
  • Bj. 1981
  • verheiratet
  • neusta GmbH
  • Webentwickler
  • Symfony Enthusiast
  • Clean Code Evangelist
  • Krachmacher A.D.

 

  @djbasster

Was macht einen guten Musiker aus?

  • Er kennt die Theorie?
  • Er weiß, wie sein Instrument funktioniert?
  • Talent?

Üben

Üben

Üben

Was macht einen guten Sportler aus?

  • Fitness?
  • Veranlagung?
  • Talent?

Üben

Üben

Üben

Und Softwareentwickler?

Der typische Entwickler

  • Kommt aus Ausbildung oder Uni...
  • ...oder ist Quereinsteiger...
  • ...mit einer Fülle theoretischem Wissen
  • ...und wird auf hochkomplexe Projekte losgelassen

     
  • "Trainiert" wird während der Arbeit

Softwareentwicklung?

  • Kreativer Prozess
  • &
  • Handwerk

Softwarehandwerk?

  • Keine Einstiegsvoraussetzungen
  • "Auch schlechter Code funktioniert"
  • Kein Blick "hinter die Fassade"
  • Keine einheitlichen Werkzeuge
  • Es gibt nicht "den richtigen Weg"!

Manifest

  • Nicht nur funktionierende Software,
    sondern auch gut gefertigte Software
  • Nicht nur auf Veränderung zu reagieren,
    sondern stets Mehrwert zu schaffen
  • Nicht nur Individuen und Interaktionen,
    sondern auch eine Gemeinschaft aus Experten
  • Nicht nur Zusammenarbeit mit dem Kunden,
    sondern auch produktive Partnerschaften

Know your tools

  • Was sind unsere Werkzeuge?
    • Editor
    • Tastatur
  • Was ist unser Material?
    • Programmiersprachen
    • Libraries
    • Muster
    • Kreativität

Euer Editor

  • Text Editor oder IDE?
  • Tastaturkürzel!
  • Customize!
  • Plugins?

Zusammenfassung:

  • Bedienung => Reflex
  • Komplexität erfordert Übung
  • Finde deinen Weg

Training

Kata

  • Konzept kommt aus dem Kampfsport
  • Bewegungsabläufe automatisieren
  • Wiederholung
  • Sicheres Terrain

Kumite

  • Kata zu zweit

Randori

  • Kata mit mehreren

Code Kata

  • Simples Problem
  • Timeboxed
  • ...von der grünen Wiese
    • Kickstarter
      (zurzeit C# NUnit, JavaScript Jasmine/qUnit, PhpUnit)

Kata Workflow

  • Entferne ablenkende Faktoren
  • Öffne deine Entwicklungsumgebung
  • Stelle dir den Wecker
  • Beginne zu Coden
    • immer TDD (red, green, refactor)!
  • Stop @ Timebox
  • Rekapituliere

(Kumite|Randori) Workflow

  • "Come green - Go green"
  • Mini Schritte
  • Person A: red, green, refactor
  • Person B: red, green, refactor
  • Person (C|A): red, green, refactor
  • usw.

Aber immer das Gleiche, wird das nicht langweilig?

  • Sucht euch Themen
    • SOLID, Pattern, No-Mouse, No Test Framework, Merciless Refactoring
  • Selbstreflektion
  • Es trainiert

Kata Projekte?

Einstiegs-Katas

OMG, Live Coding!

Wer traut sich?

Zusammenfassung

  • TDD unter optimalen Bedingungen
  • Refactoring
  • YAGNI
  • "Done is better than perfect"
  • Evaluierung

Quellen

Develop Yourself - Kata, Kumite & Randori

By Ole Rößner

Develop Yourself - Kata, Kumite & Randori

  • 1,256