coding dojo agile riga day 2012 johannes brodwall, principal architect steria norway @jhannes

53
Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Upload: hilary-hudson

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Coding Dojo

Agile Riga Day 2012Johannes Brodwall, Principal Architect

Steria Norway

@jhannes

Page 2: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Motivation

Page 3: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Master programming

Page 4: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

through practice

Page 5: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What is TDD for you?

How do you want to apply this on Monday?

What do you want to get out of the day?

Page 6: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Agenda

Page 7: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

• 10:05: Demo of TDD and pair programming• 10:20: Coding dojo 1: Prime numbers• 11:20: Retrospective• 11:30: Coding dojo 2: (Romans if you’re slow, Yahtzee

if you’re quick, minesweeper if you’re smart)• 12:30: Lunch• 13:15: Retrospective• 13:45: Break (???!)!• 14:00: Extreme startup• 15:30: Retrospective

Page 8: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

TDD

Page 9: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

TDDNo code without test

Just enough test to red

Just enough code to green

(+ refactor!)

Page 10: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Pair programming

Page 11: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Ping/pong

Driver/Navigator

Page 12: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What benefits can you get from pair programming?

Page 13: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata 0: Leap Year

Page 14: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata 1: Prime factors

Page 15: Coding Dojo Agile Riga Day 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 16: Coding Dojo Agile Riga Day 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 17: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 18: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata 2a: Minesweeper

Page 19: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

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

Page 20: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
Page 21: Coding Dojo Agile Riga Day 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 22: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 23: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata 2b: Yahtzee

Page 24: Coding Dojo Agile Riga Day 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 25: Coding Dojo Agile Riga Day 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 26: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 27: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata 2c: Romans

Page 28: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Kata: Romans1 => I

5 => V

1999 => MCMXCIX

Page 29: Coding Dojo Agile Riga Day 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 30: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What surprised you?

What do you want to achieve next round?

What did you learn?

Page 31: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Extreme startup

Page 32: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

The Extreme startup code competition

By Matt Wynne and Robert Chatly

Page 33: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

OrientationDownload starting point

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

Start server

Register(http://192.168.11.182:3000/)

Solve questions

Page 34: Coding Dojo Agile Riga Day 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 35: Coding Dojo Agile Riga Day 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 36: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

OrientationDownload starting point

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

Start server

Register(http://192.168.11.182:3000/)

Solve questions

Page 37: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Form teams!

Page 38: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 1

Page 39: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 1

(fight!)

Page 40: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 1: Retrospective

Page 41: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Testing?

Teamwork?

Page 42: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 2

Page 43: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 2

(fight!)

Page 44: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Round 2: Retrospective

Page 45: Coding Dojo Agile Riga Day 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?

Page 46: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Retrospective

Page 47: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

What surprised you?

What will you do different in the future?

What did you learn?

Page 48: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
Page 49: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
Page 50: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
Page 51: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
Page 52: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

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

Page 53: Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

Thank [email protected]

http://johannesbrodwall.com

http://twitter.com/jhannes