16
Extreme Programming

XP _ Final

Embed Size (px)

Citation preview

Page 1: XP _ Final

Extreme Programming

Page 2: XP _ Final

What is SDLC ? Splitting development into distinct phases

Page 3: XP _ Final

Development ProcessCore Models Methods Tools

Requirements

Design

Construction

Testing

Debugging

Deployment

Waterfall

Prototyping

V-Model

Agile

Spiral

Cleanroom

TSP

XP

Scrum

Compiler

Profiler

Release Automation

Page 4: XP _ Final

Why XP?

Frequent releases in short cycle.

Productivity improvement.

Checkpoints for Requirements of customer.

Page 5: XP _ Final

Kent BeckUniversity of OregonSoftware Engineer

Page 6: XP _ Final

Method goalsmultiple short development cycles, rather than a long one.

Any change is accepted, instead of defining a set of stable requirements.

Page 7: XP _ Final

Coding

Testing

ListeningDesigning

Page 8: XP _ Final

Without code, there is no working product.

Page 9: XP _ Final

if a little testing can eliminate a few flaws, a lot of testing can eliminate many more flaws.

Acceptance Test Unit Testwhether a given feature works as intended.Program satisfy the customer's actual requirements.

Page 10: XP _ Final

Programmers must listen to what the customers need the system to do.Communication between the customer and programmer is further addressed in the planning game.

Page 11: XP _ Final

DesigningGood design will avoid lots of dependencies within a system.

this means that changing one part of the system will not affect other parts of the system.

Page 12: XP _ Final

Pair Programming: two programmers work together at one workstation.

Page 13: XP _ Final

Planning Game

The main planning process within extreme programming.

The game is a meeting that occurs once per iteration, typically once a week.

Release Planning focused on determining what requirements are included in

which near-term releases, and when they should be

delivered. The customers and developers are both part of

this.

Iteration Planning This plans the activities and tasks of the developers. In

this process the customer is not involved.

Page 14: XP _ Final

Feedback

From System by writing unit tests, or running

periodic integration tests, the programmers have direct feedback from the state of the system after

implementing changes.

From Customer They will get

concrete feedback about the current

state of their system.

From Team When customers come up with

new requirements in the planning game the team

directly gives an estimation of the time that it will take to

implement.

Page 15: XP _ Final

Other Principles

Courage.

Respect.

Rules.

Page 16: XP _ Final

Stephen Hawking