experience agile programming

51
Experience Agile Programming Йоханнес Бродвалл Стерия Норвегия Featuring: Boris Staal

Upload: jess

Post on 23-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Experience Agile Programming. Featuring : Boris Staal. Йоханнес Бродвалл. Ст е р ия Норвегия. Experience Agile Programming. Software People 2012, Moscow Йоханнес Бродвалл , Just-a-programmer Ст е р ия Норвегия @ jhannes. Featuring : Boris Staal. Goal To have fun now ! - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Experience  Agile Programming

Experience Agile ProgrammingЙоханнес БродваллСтерия Норвегия

Featuring:Boris Staal

Page 2: Experience  Agile Programming

Experience Agile Programming

Software People 2012, MoscowЙоханнес Бродвалл, Just-a-programmer

Стерия Норвегия

@jhannesFeaturing: Boris Staal

Page 3: Experience  Agile Programming

Goal• To have fun now!

• For you to have fun now!• For you to have fun later

(stretch goal)

Page 4: Experience  Agile Programming

Agenda• Description

•Demonstration with Boris Staal• Discussion

• Tips and tricks

Page 5: Experience  Agile Programming

Please:• Talk about what you see to the person

next to you (whisper)•Tweet to @jhannes and @_inossidabile

in English or Russian

Page 6: Experience  Agile Programming

Description

Page 7: Experience  Agile Programming

Kata: Minesweeper

Page 8: Experience  Agile Programming
Page 9: Experience  Agile Programming
Page 10: Experience  Agile Programming

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

Page 11: Experience  Agile Programming

What do watch for• How we interact

• How we progress through the code• How we design

• How we use the language

Page 12: Experience  Agile Programming

Demonstration(Featuring Boris Staal)

Page 13: Experience  Agile Programming

What did you see?

Page 14: Experience  Agile Programming

What did you see?• How often did we switch ”driver”?

• Effects of pairing?• What did the ”non-driver” do?

Page 15: Experience  Agile Programming

What did you see?• Was the step size right?• What was the first test?

• How did we decide next test?• What was the final test?

Page 16: Experience  Agile Programming

What did you see?• Language tricks?

• Did we refactor the right amount?• How long was the code red?

• Strengths in final design•Weaknesses in final design

Page 17: Experience  Agile Programming

Why become better at programming?

Page 18: Experience  Agile Programming

Seriously. Why?

Page 19: Experience  Agile Programming

Only 13.37% of effort

Page 20: Experience  Agile Programming

Getting better quality

Page 21: Experience  Agile Programming

Getting better qualityCorrectness

Maintainability

Page 22: Experience  Agile Programming

But more importantly!

Page 23: Experience  Agile Programming

Think better

Page 24: Experience  Agile Programming

Think betterRaise your level of abstraction

Page 25: Experience  Agile Programming

What to practice

Page 26: Experience  Agile Programming

Test the contract

Page 27: Experience  Agile Programming

Test the contractAPI

Not behavior

Page 28: Experience  Agile Programming
Page 29: Experience  Agile Programming

Test from outside-in

Page 30: Experience  Agile Programming
Page 31: Experience  Agile Programming

Practice pair programming

Page 32: Experience  Agile Programming

Ping pong

Page 33: Experience  Agile Programming

Failing test

Write code

Failing test

Write code

Failing test

Page 34: Experience  Agile Programming

Failing test

Write code

Failing testWrite code

Failing test

Refactor code and tests

Refactor code and tests

Page 35: Experience  Agile Programming

Johannes Dmytro

SergeyDmitro

Volodymyr

Page 36: Experience  Agile Programming

Johannes Boris

SergeyDmitro

Volodymyr

Page 37: Experience  Agile Programming

Johannes Boris

SergeyDmitro

Volodymyr

Page 38: Experience  Agile Programming

All-green refactoring

Page 39: Experience  Agile Programming

All-green refactoringReduce the time of uncertainty

Page 40: Experience  Agile Programming

How to practice

Page 41: Experience  Agile Programming

PracticePractice at work

Practice katasPractice in dojos

Page 42: Experience  Agile Programming

Moscow Coding Dojo?

Page 43: Experience  Agile Programming
Page 44: Experience  Agile Programming
Page 45: Experience  Agile Programming
Page 46: Experience  Agile Programming
Page 47: Experience  Agile Programming

Moscow Coding Dojo(tweet @jhannes)

Page 48: Experience  Agile Programming

Conclusion

Page 49: Experience  Agile Programming

ConclusionFree your mind

Page 50: Experience  Agile Programming

Free your mindPractice our art

Page 51: Experience  Agile Programming

Thank [email protected]

http://johannesbrodwall.com

http://twitter.com/jhannes(Please tweet in Cyrillic with

english-like words)