Extreme Programming

Post on 06-Apr-2017

172 views 0 download

Transcript of Extreme Programming

Erkan Erol

Extreme Programming 1 / 75

ExtremeProgramming

http://bit.ly/erkanerolxp

Erkan Erol

Extreme Programming 2 / 75

Disclaimer

3 / 75Erkan Erol

Extreme Programming

XP is not

4 / 75Erkan Erol

Extreme Programming

XP is not

5 / 75Erkan Erol

Extreme Programming

XP is not

Erkan Erol

Extreme Programming

a type of agile software development

7 / 75

8 / 75Erkan Erol

Extreme Programming

BriefHistory of Agile

9 / 75Erkan Erol

Extreme Programming

10 / 75Erkan Erol

Extreme Programming

Erkan Erol

Extreme Programming

“I want to change the way peoplethink about programming”

Kent Beck

“Never mind reality”Ward Cunningham

11 / 75

12 / 75Erkan Erol

Extreme Programming

13 / 75Erkan Erol

Extreme Programming

14 / 75Erkan Erol

Extreme Programming

What is XP?

15 / 75Erkan Erol

Extreme Programming

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

investment.

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.

17 / 75Erkan Erol

Extreme Programming

Embrace Change

18 / 75Erkan Erol

Extreme Programming

Stay aware. Adapt. Change.

19 / 75Erkan Erol

Extreme Programming

Everything in software changes.

RequirementsDesign

BusinessTechnology

TeamTeam members

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.

Erkan Erol

Extreme Programming 21 / 75

Erkan Erol

Extreme Programming 22 / 75

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

Sandro Mancuso

23 / 75Erkan Erol

Extreme Programming

5 14(12+2)

15

24 / 75Erkan Erol

Extreme Programming

Values

25 / 75Erkan Erol

Extreme Programming

Communication

26 / 75Erkan Erol

Extreme Programming

Simplicity

27 / 75Erkan Erol

Extreme Programming

Feedback

28 / 75Erkan Erol

Extreme Programming

Courage

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”

30 / 75Erkan Erol

Extreme Programming

Principles

Erkan Erol

Extreme Programming 31 / 75

32 / 75Erkan Erol

Extreme Programming

Rapid Feedback

33 / 75Erkan Erol

Extreme Programming

Assume Simplicity

34 / 75Erkan Erol

Extreme Programming

Incremental Change

35 / 75Erkan Erol

Extreme Programming

Embracing Change

36 / 75Erkan Erol

Extreme Programming

Quality Work

37 / 75Erkan Erol

Extreme Programming

Teach Learning

38 / 75Erkan Erol

Extreme Programming

Small Initial Investment

39 / 75Erkan Erol

Extreme Programming

Play to win

40 / 75Erkan Erol

Extreme Programming

Concrete Experiments

41 / 75Erkan Erol

Extreme Programming

Open, honest Communication

42 / 75Erkan Erol

Extreme Programming

Work with people’s instincs, not against them

43 / 75Erkan Erol

Extreme Programming

Accepted Responsibility

44 / 75Erkan Erol

Extreme Programming

Local Adaptations

45 / 75Erkan Erol

Extreme Programming

Travel light

46 / 75Erkan Erol

Extreme Programming

Honest Measurement

47 / 75Erkan Erol

Extreme Programming

Practices

Erkan Erol

Extreme Programming 48 / 75

49 / 75Erkan Erol

Extreme Programming

On-site Customer

50 / 75Erkan Erol

Extreme Programming

Planning Game

51 / 75Erkan Erol

Extreme Programming

Short Releases

52 / 75Erkan Erol

Extreme Programming

Standup-Meeting*

53 / 75Erkan Erol

Extreme Programming

Retrospective*

54 / 75Erkan Erol

Extreme Programming

Collective Code Ownership

55 / 75Erkan Erol

Extreme Programming

Coding Standard

56 / 75Erkan Erol

Extreme Programming

Metaphor

57 / 75Erkan Erol

Extreme Programming

Continuous Integration

Erkan Erol

Extreme Programming 58 / 75

Erkan Erol

Extreme Programming 59 / 75

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

60 / 75Erkan Erol

Extreme Programming

Testing(Test-Driven Development)

Erkan Erol

Extreme Programming 61 / 75

Erkan Erol

Extreme Programming 62 / 75

63 / 75Erkan Erol

Extreme Programming

Design Improvement (Refactoring)

Erkan Erol

Extreme Programming 64 / 75

Erkan Erol

Extreme Programming 65 / 75

https://sourcemaking.com/refactoring

http://refactoring.com/catalog/

66 / 75Erkan Erol

Extreme Programming

Simple Design

67 / 75Erkan Erol

Extreme Programming

Pair Programming

Erkan Erol

Extreme Programming 68 / 75

69 / 75Erkan Erol

Extreme Programming

Sustainable Pace

Erkan Erol

Extreme Programming 70 / 75

Erkan Erol

Extreme Programming 71 / 75

Erkan Erol

Extreme Programming 72 / 75

73 / 75Erkan Erol

Extreme Programming

74 / 75Erkan Erol

Extreme Programming

75 / 75Erkan Erol

Extreme Programming

Thanks for listening