Upload
susanne-moog
View
103
Download
1
Embed Size (px)
Citation preview
Develop Yourself
Kata, Kumite & Randori
Who am I?
● Susi Moog● 50% Neusta / 50% TYPO3 Inc.
● Coaching / Teaching Devs● Scrum Master● Dev-”Mom”
What Makes a good Musician?Knows music theory
Knows how his instrument works
Some talent and creativity
And…
Training, Training, Training
What Makes a good Athlete?Fitness
Predisposition
Some talent
And…
Training, Training, Training
...And Develope
rs?
The Typical DevTrained by an apprenticeship or from university
… or not trained in IT at all
Lots of theoretical knowledge
Expected to solve highly complex problems“Training” is done on the job
Software Development?Creative Process
… and a craft
Software craftsmanship?No entry barriers
“Bad code works, too”
No unified tools
There is no “right way”
Manifest For Software CraftsManshipKnow your tools
Editor
Keyboard
Language
Libraries
Patterns
Creativity
http://manifesto.softwarecraftsmanship.org/#/en
Your Editor / IDELearn shortcuts
Customize it!
Look for plugins
Extension of your limbs
Take time to learn it
Editor SummaryUsing your editor should be like a reflex
Needs to be trained
Go your way
Training
Training - Kata, Kumite, RandoriConcept from martial arts
Automate motions
Repeat, Repeat, Repeat
Secure Space to Practice
Kata = only you
Kumite = you and a partner
Randori = group of people / team
What’s A Kata?Simple problem
Time Box
Start from scratch - every time!
Kickstarter on github (php, C#, JavaScript)
Kata WorkflowRemove distractions
Open your IDE
Start the counter
Start to code
TDD style: red, green, refactor
Stop after time is up
Recap
Delete code
Kumite | Randori WorkflowEither “come green - go green” or
“come red - go red”
Smallest possible step to get the test green
So e.g.
Person A: red Test, green Test, Refactor
Person B: red Test, green Test, Refactor
After every cycle switch person
For 1 hour not more than 5 people
Only the current pair talks
Recap with group at the end
Kata - Critics Every day the same - that’s boring / not helpful
Do it differently every day
Variations
Use specific patterns
No mouse
SOLID principles
… your own
Don’t forget the recap
It’s training!
Kata Exampleshttps://projecteuler.net/
http://www.codewars.com/ -> https://www.codewars.com/kata/heavy-metal-umlauts/train/php
OMG! Live
Coding!
Code Reviews
Pair Program
ming
Code Reviews / Pair ProgrammingGreat way to learn
Be open to critique
Find the right partner
Trust
Honesty
Skill Level
Sympathy
SummaryConsciously train your skills
Refactor (or throw away) frequently
Adhere to YAGNI
Evaluate and recapitulate your work
Achieve Greatness!
Links; Further Readinghttp://youtu.be/2mhjxp1SdKY?t=3m43s (Rowan Merewood - Building Better Developers)
codekata.comcodingdojo.orgkatas.softwarecraftsmanship.orgpaulwpagel/codekatahttp://blog.codinghorror.com/the-ultimate-code-kata/Credit for the basic presentation goes to @djbasster
Thank You