Top Banner
Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
55

Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Dec 31, 2015

Download

Documents

Dale Wells
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Coding Dojo

AgilePrague 2012Johannes Brodwall, Principal Architect

Steria Norway

@jhannes

Page 2: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.
Page 3: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.
Page 4: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.
Page 5: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.
Page 6: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Prague Coding Dojo?http://johannesbrodwall.com/2011/12/18/how-to-start-a-coding-dojo/

Page 7: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Motivation

Page 8: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Master programming

Page 9: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

through practice

Page 10: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What does good programming mean for you?

How do you want to apply this tomorrow?

What do you want to get out of the day?

Page 11: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Agenda

Page 12: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

• 9:10: Demo of TDD and pair programming• 9:20: Randori style Leap Years kata with everyone• 9:40: Paired style Prime Factors• 10:10: Retrospective• 10:30: Paired style Prime Factors, take 2• 11:00: Coding dojo 2:

Romans if you’re slow,

Yahtzee if you’re quick,

minesweeper if you’re smart• 12:00: Retrospective• 12:15: Lunch (?)• 13:00: Extreme startup – first round• 13:30: Break• 13:45: Extreme startup – second round• 15:45: Wrap-up

Page 13: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

TDD

Page 14: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

TDDNo code without test

Just enough test to red

Just enough code to green

(+ refactor!)

Page 15: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Pair programming

Page 16: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Ping/pong

Driver/Navigator

Page 17: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Failing test

Write code

Failing test

Write code

Failing test

Page 18: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 19: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What benefits can you get from pair programming?

Page 20: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata 0: Leap Year

Page 21: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata 1: Prime factors

Page 22: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata: Prime factors1 => []

2 => [2]

3 => [3]

4 => [2,2]

2*2*13*17*23*23 => [2,2,13,17,23,23]

Page 23: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Did you change drivers at good frequency?

How did the solution end up looking?

How did you determine next test?

What tests did you start with?

Which tests didn’t help you?

How did your choice of language help/hurt?

Page 24: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 25: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata 2a: Minesweeper

Page 26: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Given:var minefield = new Minefield([ "....", ".*..", ".*.*", "...*“ ])

Page 27: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.
Page 28: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 29: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Did you change drivers at good frequency?

How did the boundary conditions affect your test and code?

How did you determine next test?

What tests did you start with?

Which tests didn’t help you?

How did your choice of language help/hurt?

Page 30: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata 2b: Yahtzee

Page 31: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata: Yahtzee({1,1,1,1,1}, «ones»} => 5

({1,1,1,1,1}, «sixes»} => 0

({1,1,1,1,1}, «yahtzee»} => 50

Ones, twos, threes, fours, fives, sixes

Pair, two pairs, three of a kind, four of a kind, full house

Yahtzee

Little straight, big straight

Chance

Page 32: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 33: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Did you change drivers at good frequency?

What is ({2,2,3,6,6}, «pair»)?

How did you determine next test?

What tests did you start with?

Which tests didn’t help you?

How did your choice of language help/hurt?

Page 34: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata 2c: Romans

Page 35: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Kata: Romans1 => I

5 => V

1999 => MCMXCIX

Page 36: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 37: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Did you change drivers at good frequency?

How did you implement rules for «IV» etc?

How did you determine next test?

What tests did you start with?

Which tests didn’t help you?

How did your choice of language help/hurt?

Page 38: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Extreme startup

Page 39: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

The Extreme startup code competition

By Matt Wynne and Robert Chatly

Page 41: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

RulesCheat like mad!

Only results matter

No destruction of property

Obey local laws

Don’t f$%! with workshop computer

Page 42: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

GuidelinesWork as you like

(Tip: Use a language you know)

Help those behind

Upload your code (if possible)

Page 43: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

OrientationDownload starting point

(http://github.com/steria/extreme_startup_servers)

Start server

Register(http://192.168.155.249:3000/)

Solve questions

Page 44: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Form teams!

Page 45: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 1

Page 46: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 1

(fight!)

Page 47: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 1: Retrospective

Page 48: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 49: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 2

Page 50: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 2

(fight!)

Page 51: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Round 2: Retrospective

Page 52: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Course

Retrospective

Page 53: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

What surprised you?

How will you change how you work?

What did you learn?

Page 54: Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes.

Testing?

Teamwork?

Which questions did you solve?

Annoying questions?

How did you mess up?

How did you cheat?