extreme programming (xp)

9
Extreme Programming (XP) Dr. Davut Çulha

Upload: dcsunu

Post on 11-Apr-2017

196 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Extreme Programming (XP)

Extreme Programming (XP)

Dr. Davut Çulha

Page 2: Extreme Programming (XP)

XP Life Cycle

• Planning

• Design

• Coding

• Testing

Page 3: Extreme Programming (XP)

XP Planning

• User stories are created.

• Story points are given to the user stories.

• Important user stories are selected for a release.

• The release is planned.

• A commitment is made on delivery date.

• Project velocity is determined. The end of the project is predicted using the velocity.

Page 4: Extreme Programming (XP)

XP Design

• Usage of CRC cards are encouraged.

• Spike solutions can be applied.

– Spike solution: a design prototype

• Refactoring is used.

• Simplicity is essential. Simple design is applied.

Page 5: Extreme Programming (XP)

XP Coding

• Unit tests should be coded.

• Pair programming is encouraged.

• Collective ownership is applied.

• Refactoring is used.

Page 6: Extreme Programming (XP)

XP Testing

• Continuous integration is realized.

• Unit tests are executed frequently.

• Acceptance tests are done by customer.

Page 7: Extreme Programming (XP)

XP Practices

• The Planning Game• Small Releases• System Metaphor• Simple Design• Refactoring• Testing• Pair Programming• Collective Ownership• Continuous Integration• 40-hour week• On-site-Customer• Coding Standards

Page 8: Extreme Programming (XP)

Values and Principles

• The philosophy of XP should be understood clearly for the success of the project.

• Important values and principles are:

– Communication

– Simplicity

– Feedback

– Courage

– Quality work

Page 9: Extreme Programming (XP)

Contributions of XP

• Adaptation

• Teamwork and collaboration

• Communication among all stakeholders, especially between customers and developers

• A set of 12 practices

• Values and principles