+ All Categories
Home > Documents > Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes...

Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes...

Date post: 01-Apr-2015
Category:
Upload: emerson-orvis
View: 216 times
Download: 1 times
Share this document with a friend
57
Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Gue st starring: Chaminda Sooriyapperuma
Transcript
Page 1: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Extreme Programming Live

WeActuallyBuildStuffJohannes Brodwall

Exilesoft Chief scientist

@jhannes

Guest starring: Chaminda Sooriyapperuma

Page 2: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

How do you become a

better programmer

Page 3: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

After this talk• You may find desire to train with TDD

• You may pair program sometimes• You may think of some ways to improve the

way you work

Page 4: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

1. Waddayamean«extreme programming»

2. What to look for3. Demonstration 4. Discussion5. Conclusion

Page 5: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

«Extreme programming»?

Page 6: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

It is better to• Do the thing right, then to

• Do the right thing• (first)

Page 7: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Ping pong

Page 8: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Ingredient #1:Pair programming

Page 9: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 10: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 11: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Ingredient #2:Test driven

development

Page 12: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Failing test

Write code

Failing test

Write code

Failing test

Page 13: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Ingredient #3:

Refactoring

Page 14: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 15: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Put together

Page 16: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Failing test

Write code

Failing test

Write code

Failing test

Page 17: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 18: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 19: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Demonstration

Page 20: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What to watch for?

Page 21: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What to watch for?• How do we work together?

• How do we use tests to understand?• How do we «grow» the code?

Page 22: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Please:• Talk about what you see to the person

next to you (whisper)•Tweet to @jhannes

Page 23: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Demonstration(Guest starring Chaminda

Sooriyapperuma)

Page 24: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Kata: Prime factors

Page 25: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Kata: Prime factors1 => []

2 => [2]

3 => [3]

4 => [2,2]

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

Page 26: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What did you see?

Page 27: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

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

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

•How do you expect it to be different?

Page 28: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What do you think?•Pairing two seniors?•Pairing two juniors?

• Pairing senior and talent?• Pairing senior and junior?

Page 29: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What did you see?• How many tests?

•Was the step size right?• What was the first test?

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

Page 30: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What did you see?•Did we refactor the right amount?

• How long was the code red?• Strengths in final design

•Weaknesses in final design•Enough comments?

Page 31: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Questions?

Your experience?

Page 32: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Becoming a better programmer

Page 33: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Why become better programmer?

Page 34: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Getting better quality

Page 35: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Getting better qualityCorrectness

Maintainability

Productivity

Page 36: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

But more importantly!

Page 37: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Think better

Page 38: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Think betterThink beyond the curly brackets

Page 39: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

How to get better

Page 40: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice

Page 41: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Deliberate Practice• Slow down

• Repeat• Reflect

Page 42: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice at school

Page 43: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice at school• Tests lets you solve it faster

Page 44: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice at home

Page 45: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice at home

Learn more here

Page 46: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Practice with friends

Page 47: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 48: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 49: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 50: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 51: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.
Page 52: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

What have you learned• TDD makes you productive

• TDD consists of small steps• TDD requires practice

• Pair programming is fun• Pair programming helps you keep flow

Page 53: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

+

TDD & different different Levels of

quality

Page 54: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Conclusion

Page 55: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

ConclusionFree your mind

Page 56: Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma.

Free your mindPractice our art


Recommended