Extreme Programming

75
Erkan Erol Extreme Programming 1 / 75 Extreme Programming http://bit.ly/erkanerolxp

Transcript of Extreme Programming

Page 1: Extreme Programming

Erkan Erol

Extreme Programming 1 / 75

ExtremeProgramming

http://bit.ly/erkanerolxp

Page 2: Extreme Programming

Erkan Erol

Extreme Programming 2 / 75

Disclaimer

Page 3: Extreme Programming

3 / 75Erkan Erol

Extreme Programming

XP is not

Page 4: Extreme Programming

4 / 75Erkan Erol

Extreme Programming

XP is not

Page 5: Extreme Programming

5 / 75Erkan Erol

Extreme Programming

XP is not

Page 7: Extreme Programming

Erkan Erol

Extreme Programming

a type of agile software development

7 / 75

Page 8: Extreme Programming

8 / 75Erkan Erol

Extreme Programming

BriefHistory of Agile

Page 9: Extreme Programming

9 / 75Erkan Erol

Extreme Programming

Page 10: Extreme Programming

10 / 75Erkan Erol

Extreme Programming

Page 11: Extreme Programming

Erkan Erol

Extreme Programming

“I want to change the way peoplethink about programming”

Kent Beck

“Never mind reality”Ward Cunningham

11 / 75

Page 12: Extreme Programming

12 / 75Erkan Erol

Extreme Programming

Page 13: Extreme Programming

13 / 75Erkan Erol

Extreme Programming

Page 14: Extreme Programming

14 / 75Erkan Erol

Extreme Programming

What is XP?

Page 15: Extreme Programming

15 / 75Erkan Erol

Extreme Programming

The goal● lower cost ● with fewer defects● with higher productivity● with much higher return on

investment.

Page 16: Extreme Programming

16 / 75Erkan Erol

Extreme Programming

● No matter the circumstance you can always improve.

● You can always start improving with yourself.

● You can always start improving today.

Page 17: Extreme Programming

17 / 75Erkan Erol

Extreme Programming

Embrace Change

Page 18: Extreme Programming

18 / 75Erkan Erol

Extreme Programming

Stay aware. Adapt. Change.

Page 19: Extreme Programming

19 / 75Erkan Erol

Extreme Programming

Everything in software changes.

RequirementsDesign

BusinessTechnology

TeamTeam members

Page 20: Extreme Programming

20 / 75Erkan Erol

Extreme Programming

The problem isn't change, because change is going to happen;

the problem, rather, is our inability to cope with change.

Page 21: Extreme Programming

Erkan Erol

Extreme Programming 21 / 75

Page 22: Extreme Programming

Erkan Erol

Extreme Programming 22 / 75

“Many Agile projects are now, steadily and iteratively, producing crap code.”

Sandro Mancuso

Page 23: Extreme Programming

23 / 75Erkan Erol

Extreme Programming

5 14(12+2)

15

Page 24: Extreme Programming

24 / 75Erkan Erol

Extreme Programming

Values

Page 25: Extreme Programming

25 / 75Erkan Erol

Extreme Programming

Communication

Page 26: Extreme Programming

26 / 75Erkan Erol

Extreme Programming

Simplicity

Page 27: Extreme Programming

27 / 75Erkan Erol

Extreme Programming

Feedback

Page 28: Extreme Programming

28 / 75Erkan Erol

Extreme Programming

Courage

Page 29: Extreme Programming

29 / 75Erkan Erol

Extreme Programming

Respect

“Every person whose life is touched by software development has equal value as a human being. No one is intrinsically worth more than anyone

else”

Page 30: Extreme Programming

30 / 75Erkan Erol

Extreme Programming

Principles

Page 31: Extreme Programming

Erkan Erol

Extreme Programming 31 / 75

Page 32: Extreme Programming

32 / 75Erkan Erol

Extreme Programming

Rapid Feedback

Page 33: Extreme Programming

33 / 75Erkan Erol

Extreme Programming

Assume Simplicity

Page 34: Extreme Programming

34 / 75Erkan Erol

Extreme Programming

Incremental Change

Page 35: Extreme Programming

35 / 75Erkan Erol

Extreme Programming

Embracing Change

Page 36: Extreme Programming

36 / 75Erkan Erol

Extreme Programming

Quality Work

Page 37: Extreme Programming

37 / 75Erkan Erol

Extreme Programming

Teach Learning

Page 38: Extreme Programming

38 / 75Erkan Erol

Extreme Programming

Small Initial Investment

Page 39: Extreme Programming

39 / 75Erkan Erol

Extreme Programming

Play to win

Page 40: Extreme Programming

40 / 75Erkan Erol

Extreme Programming

Concrete Experiments

Page 41: Extreme Programming

41 / 75Erkan Erol

Extreme Programming

Open, honest Communication

Page 42: Extreme Programming

42 / 75Erkan Erol

Extreme Programming

Work with people’s instincs, not against them

Page 43: Extreme Programming

43 / 75Erkan Erol

Extreme Programming

Accepted Responsibility

Page 44: Extreme Programming

44 / 75Erkan Erol

Extreme Programming

Local Adaptations

Page 45: Extreme Programming

45 / 75Erkan Erol

Extreme Programming

Travel light

Page 46: Extreme Programming

46 / 75Erkan Erol

Extreme Programming

Honest Measurement

Page 47: Extreme Programming

47 / 75Erkan Erol

Extreme Programming

Practices

Page 48: Extreme Programming

Erkan Erol

Extreme Programming 48 / 75

Page 49: Extreme Programming

49 / 75Erkan Erol

Extreme Programming

On-site Customer

Page 50: Extreme Programming

50 / 75Erkan Erol

Extreme Programming

Planning Game

Page 51: Extreme Programming

51 / 75Erkan Erol

Extreme Programming

Short Releases

Page 52: Extreme Programming

52 / 75Erkan Erol

Extreme Programming

Standup-Meeting*

Page 53: Extreme Programming

53 / 75Erkan Erol

Extreme Programming

Retrospective*

Page 54: Extreme Programming

54 / 75Erkan Erol

Extreme Programming

Collective Code Ownership

Page 55: Extreme Programming

55 / 75Erkan Erol

Extreme Programming

Coding Standard

Page 56: Extreme Programming

56 / 75Erkan Erol

Extreme Programming

Metaphor

Page 57: Extreme Programming

57 / 75Erkan Erol

Extreme Programming

Continuous Integration

Page 58: Extreme Programming

Erkan Erol

Extreme Programming 58 / 75

Page 59: Extreme Programming

Erkan Erol

Extreme Programming 59 / 75

https://www.thoughtworks.com/continuous-integration

Page 60: Extreme Programming

60 / 75Erkan Erol

Extreme Programming

Testing(Test-Driven Development)

Page 61: Extreme Programming

Erkan Erol

Extreme Programming 61 / 75

Page 62: Extreme Programming

Erkan Erol

Extreme Programming 62 / 75

Page 63: Extreme Programming

63 / 75Erkan Erol

Extreme Programming

Design Improvement (Refactoring)

Page 64: Extreme Programming

Erkan Erol

Extreme Programming 64 / 75

Page 65: Extreme Programming

Erkan Erol

Extreme Programming 65 / 75

https://sourcemaking.com/refactoring

http://refactoring.com/catalog/

Page 66: Extreme Programming

66 / 75Erkan Erol

Extreme Programming

Simple Design

Page 67: Extreme Programming

67 / 75Erkan Erol

Extreme Programming

Pair Programming

Page 68: Extreme Programming

Erkan Erol

Extreme Programming 68 / 75

Page 69: Extreme Programming

69 / 75Erkan Erol

Extreme Programming

Sustainable Pace

Page 70: Extreme Programming

Erkan Erol

Extreme Programming 70 / 75

Page 71: Extreme Programming

Erkan Erol

Extreme Programming 71 / 75

Page 72: Extreme Programming

Erkan Erol

Extreme Programming 72 / 75

Page 73: Extreme Programming

73 / 75Erkan Erol

Extreme Programming

Page 74: Extreme Programming

74 / 75Erkan Erol

Extreme Programming

Page 75: Extreme Programming

75 / 75Erkan Erol

Extreme Programming

Thanks for listening