Extreme programming

Anup2015 35 views 23 slides Dec 16, 2019
Slide 1
Slide 1 of 23
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
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Extreme Programming is a methodology in an Agile way for developing quality software or change stakeholder's requirements quickly by putting more focus on coding rather than design and continuous collaboration with the customer.


Slide Content

Extreme Programming Methodology Course: Advanced Software Engineering 16-Dec-19 1

Outline What is a Methodology? What is Agile Method? What is XP ? History Agile vs XP Activities in Extreme Programming 12 Key Practices of XP References 16-Dec-19 2

What is a Methodology? A methodology is a formalized process for creating software A set of rules you have to follow A set of conventions the organization decides to follow A systematical, engineering approach for organizing software projects 16-Dec-19 3

What is Agile Method? Code is important rather than the design. An iterative approach to software development. Intended to deliver working software quickly and evolve this quickly to meet changing requirements. Involving constant collaboration with stakeholders and continuous improvement and iteration at every stage. 16-Dec-19 4 https://chercher.tech/jira/agile-methodology

What is Extreme Programming (XP) ? Extreme Programming (XP) is an agile Process model of software development Small to medium-sized teams, Requirements change quickly. Goal: Intend to decrease the cost of changes. 16-Dec-19 5

History Kent Beck developed extreme programming during his work in the Chrysler Comprehensive Compensation System (C3) payroll project. His first book on this methodology published in 1999 and the second version after five years. In the second edition he added more values and practices. 16-Dec-19 6

Agile vs XP XP is a set of practices that conform to the values and principles of Agile. XP is a discrete method, whereas Agile is a classification. Unlike other Agile approaches, XP has no intermediaries between the customer and the team. Unlike other Agile approaches, XP has a solution if the knowledge is lost. 16-Dec-19 7

Activities in Extreme Programming Coding Testing Listening Designing 16-Dec-19 8

12 Key Practices of XP The Planning Game Small Releases Metaphor Simple Design Test-Driven Development Refactoring Pair Programming Collective Code Ownership Continuous Integration 40-Hour Workweek On-site Customer Coding Standards https://www.xpprogramming.com 16-Dec-19 9

The Planning Game A result of a collaboration between the customer and the developers. Planning for the upcoming iteration. Uses stories provided by the customer. Technical persons determine schedules, estimates, costs, etc 16-Dec-19 10

Small Releases Small in terms of functionality ; R eleases happen more frequently ; Support the planning game . 16-Dec-19 11

Metaphor The oral architecture of the system . A common set of terminology . 16-Dec-19 12

Simple Design Do as little as needed, nothing more . Keep it simple, stupid 16-Dec-19 13

Testing Testing is done throughout the entire process. All tests must run and pass with 100% before new development. There are 2 types of tests that involve in this process: Test-Driven Development (TDD); Acceptance Tests. 16-Dec-19 14

Refactoring Changing how the system does something but not what is done . Improves the quality of the system in some way . 16-Dec-19 15

Pair Programming Two programmers are working on the same computer to complete a s ingle task. P rogrammer 1 – responsible to write and implement the code. P rogrammer 2 – watch the implementation and identifies any code errors. 16-Dec-19 16

Collective Code Ownership Any developer must have the ability to work on any part of the code. N o specific developer that responsible for a specific component. A new code is reviewed by the entire team. I ncrease the responsibility of developers . 16-Dec-19 17

Continuous Integration In xp developers must keep the system fully integrated at all times . A ll unit tests must be run and pass with 100 % . 16-Dec-19 18

40-Hour Week The work week should be limited to 40 hours . Regular overtime is a symptom of a problem and not a long term solution . 16-Dec-19 19

On-Site Customer Gives quick and continuous feedback to the development team. The customer should lead the project (requirements, priorities, and timelines). The customer should be available at all times (face to face communication). The customer is one of the most important resources in xp process. 16-Dec-19 20

Coding Standards Coding standards will help to develop better code. E very developer should follow the code standards . 16-Dec-19 21

References I Sommerville,Software Engineering,8th ed.England : Addison-Wesley, 2007. https://hygger.io/blog/extreme-programming-waterfall-agile-kanban-scrum-lean /. https://www.wrike.com/project-management-guide/faq/what-is-agile-methodology-in-project-management /. https:// www.slideshare.net/DavidTzemach/extreme-programming-xp-david-tzemach. https://en.wikipedia.org/wiki/Extreme_programming. https://chercher.tech/jira/agile-methodology 16-Dec-19 22

Thank you 16-Dec-19 23