experience agile programming

58
Experience Agile Programming Agile Meetup, Sri Lanka Johannes Brodwall Steria Norway @jhannes Featuring: Shihan Iqbal

Upload: iren

Post on 23-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Experience Agile Programming. Agile Meetup , Sri Lanka Johannes Brodwall Steria Norway @ jhannes. Featuring : Shihan Iqbal. Goal Introduce Agile To have fun now ! For you to have fun now ! For you to have fun later (stretch goal). Agenda - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Experience  Agile  Programming

Experience Agile Programming

Agile Meetup, Sri LankaJohannes Brodwall

Steria Norway

@jhannesFeaturing: Shihan Iqbal

Page 2: Experience  Agile  Programming

Goal• Introduce Agile

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

(stretch goal)

Page 3: Experience  Agile  Programming

Agenda• What is «agile programming»

•What to look for•Demonstration

•Discussion•Possibly: Tips and tricks

Page 4: Experience  Agile  Programming

What is «agile programming»?

Page 5: Experience  Agile  Programming

What is Agile?

Page 6: Experience  Agile  Programming
Page 7: Experience  Agile  Programming

Deliver frequently

Page 8: Experience  Agile  Programming

Deliver frequently

=> Incomplete code

Page 9: Experience  Agile  Programming

Incomplete code

=> Ability to change

Page 10: Experience  Agile  Programming

Ability to change

=> Quality and discipline

Page 11: Experience  Agile  Programming

Practicing discipline:Ping pong

Page 12: Experience  Agile  Programming

Ingredience #1:Pair programming

Page 13: Experience  Agile  Programming
Page 14: Experience  Agile  Programming
Page 15: Experience  Agile  Programming

Ingredience #2:Test driven

development

Page 16: Experience  Agile  Programming

Failing test

Write code

Failing test

Write code

Failing test

Page 17: Experience  Agile  Programming

Ingredience #3:Refactoring

Page 18: Experience  Agile  Programming

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 19: Experience  Agile  Programming

Put together

Page 20: Experience  Agile  Programming

Failing test

Write code

Failing test

Write code

Failing test

Page 21: Experience  Agile  Programming

Failing test

Write code

Failing testWrite code

Failing test

Refactor code and tests

Refactor code and tests

Page 22: Experience  Agile  Programming

What effect do you expect?• On time• On cost

• On quality• On work environment

Page 23: Experience  Agile  Programming

Demonstration

Page 24: Experience  Agile  Programming

What to watch for?

Page 25: Experience  Agile  Programming

If you’re a project manager

Page 26: Experience  Agile  Programming

If you’re a developer

Page 27: Experience  Agile  Programming

If you’re a tester

Page 28: Experience  Agile  Programming

If you’re neither

Page 29: Experience  Agile  Programming

Please:• Talk about what you see to the person

next to you (whisper)•Tweet to @jhannes

Page 30: Experience  Agile  Programming

Demonstration(Featuring Shihan Iqbal)

Page 31: Experience  Agile  Programming

Kata: Minesweeper

Page 32: Experience  Agile  Programming
Page 33: Experience  Agile  Programming
Page 34: Experience  Agile  Programming

What did you see?

Page 35: Experience  Agile  Programming

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 36: Experience  Agile  Programming

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

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

Page 37: 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 38: Experience  Agile  Programming

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 39: Experience  Agile  Programming

How to practice

Page 40: Experience  Agile  Programming

PracticePractice at work

Practice katasPractice in dojos

Page 41: Experience  Agile  Programming

Why become better at programming?

Page 42: Experience  Agile  Programming

Seriously. Why?

Page 43: Experience  Agile  Programming

Only 13.37% of effort

Page 44: Experience  Agile  Programming

Getting better quality

Page 45: Experience  Agile  Programming

Getting better qualityCorrectness

Maintainability

Page 46: Experience  Agile  Programming

But more importantly!

Page 47: Experience  Agile  Programming

Think better

Page 48: Experience  Agile  Programming

Think betterRaise your level of abstraction

Page 49: Experience  Agile  Programming

Sri Lanka Coding Dojo?

Page 50: Experience  Agile  Programming
Page 51: Experience  Agile  Programming
Page 52: Experience  Agile  Programming
Page 53: Experience  Agile  Programming
Page 54: Experience  Agile  Programming

Sri Lanka Code Retreat

http://www.coderetreat.lk/

Page 55: Experience  Agile  Programming

Conclusion

Page 56: Experience  Agile  Programming

ConclusionFree your mind

Page 57: Experience  Agile  Programming

Free your mindPractice our art