INTRODUCTION HIRA KHURSHID BSCS 4TH B EXTREME PROGRAMMING
Extreme Programming Agile Software Development Methodology Iterative Lightweight Stresses customer satisfaction and teamwork
Extreme Programming Model
Planning User stories Written by the customers The stories that will be developed in one of three ways: All stories will be implemented immediately The stories with highest value will be implemented first . The riskiest stories will be implemented first
Release planning meeting Creation of a release plan document Planning of individual iterations Estimation of user stories in terms of ideal programming weeks
Make frequent small releases For valuable feedback Important features are introduced early
Project velocity How many user stories were finished during the iteration Poject velocity can then be used to help estimate delivery dates and schedule and implemented first.
Designing Simplicity Needs no explanation Use KIS principle. Design Of extra functionality is discourage.
CRC cards Class, Responsibilities and Collaboration Used to represent objects Class written on top Organize the components
system metaphor Allows consistent naming of classes and methods
Spike solution A very simple program to explore potential solutions
Refactoring Helps keep the design simple and keeping code clean and concise
Coding Coding standards Everybody chooses class names and variable names in the same style
Pair programming Sitting side by side in front of the monitor One person types The other one thinks strategically increases software quality comes big savings later in the project.
Sequential integration Code is integrated together Customer is always available.
On-site Customer To write user stories To select user stories Developers need to talk with the customer to get enough detail to complete a programming task
Testing Unit testing Written by developer Test only a single class are small cluster of classes.
Acceptance tests Created from user stories. Customer verifies the correctness of the tests. Test the entire system.