Extreme Programming

pearlcatcharro 2,067 views 16 slides Feb 24, 2019
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

Extreme Programming is a software development methodology.


Slide Content

EXTREME PROGRAMMING

EXTREME PROGRAMMING  is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements . XP is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software. is one of the Agile software development methodologies. It provides values and principles to guide the team behavior .

History Extreme programming was created by  Kent Beck  during his work on the  Chrysler Comprehensive Compensation System  (C3) payroll project. [5]  Beck became the C3  project leader  in March 1996 and began to refine the development methodology used in the project and wrote a book on the methodology (in October 1999,  Extreme Programming Explained  was published)

XP Variables Cost -The amount of money to be spent. The resources (how many developers, equipment etc.) available for the project are directly related to this variable. Time -Determines when the system (release) should be done. Quality -The correctness of the system (as defined by the customer) and how well tested it will be. Scope -Describes what and how much will be done (functionality).

Change-driven process A risk is some “variable” that means a danger to the success of the project. Typical risks are for instance Requirements change . -The users needs change -The problem changes -The market changes -The requirements are imprecise or not fully understood XP explicitly deals with the first risk: “Embrace Change”.

XP Roles Developer (also called Programmer by some teams ) - developer should know how to program. Customer - who should know what to program tracker - The job of the tracker is to gather whatever metrics are being tracked for the project – at least the Load Factor and the Functional Test scores. Coach -is the responsibility of everyone in the team Tester - is really focused on the customer to help write test and runs them. Consultant - is to provide knowledge.

Values of XP COMMUNICATION - is one of the key factors necessary for the success of software projects SIMPLICITY - strives for simple system FEEDBACK - feedback-driven process COURAGE - have a confidence to work quickly and redevelop as soon and as often as necessary.

12 Practices of XP The Planning Game - The XP planning process. Business gets to specify what the system needs to do. Development specifies how much each feature costs and what budget is available per day/week/month. Small Releases - Every release should be as small as possible, containing the most valuable business requirements. Metaphor - is a simple evocative description of how the program works. Simple Design -. The system should be designed as simply as possible at any given moment Testing - Programmers develop software by writing tests first, and then code that fulfills the requirements reflected in the tests. Customers provide acceptance tests that enable them to be certain that the features they need are provided. Refactoring - XP Team Refactor out any duplicate code generated in a coding session

Pair Programming -All production code is written by two programmers sitting at one machine, with one keyboard and one mouse. Collective Ownership - the entire team takes responsibility for the whole of the system Continuous Integration - Code is integrated and tested many times a day, one set of changes at a time. 40-Hour week - it emphasizes on the limited number of hours of work per week for every team members, On-site customer - Development team has continuous access to the customer who will actually be using the system. Coding Standards - Developers write all code in accordance with the rules emphasizing-  Communication through the code.  The least amount of work possible.  Consistent with the “once and only once” rule (no duplicate code).  Voluntary adoption by the whole team.

5 Principle of XP Rapid Feedback - is to get the feedback, understand it, and put the learning back into the system as quickly as possible. Assume simplicity -to treat every problem as if it can be solved with simplicity. Incremental change -solve problems with a series of small changes Embracing Change -The best strategy is the one that preserves the most options while actually solving your most pressing problem. Quality work -emphasize test-first programming

XP Rules Planning - is also known as XP Planning Game Designing - The rule is ”always use the simplest possible design that gets the job done”. Coding - Coding standards are to be followed. Testing -All codes must pass all unit tests before it is released.

Advantages and Disadvantages of XP

Resources www.extreme_programming_tutorialpdf.com www.ExtremeProgramming(XP)Article.com www.ExtremeProgrammingpdf.com www.XP_Overviewpdf.com
Tags