Extreme Programming
What is SDLC ? Splitting development into distinct phases
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
Why XP?
Frequent releases in short cycle.
Productivity improvement.
Checkpoints for Requirements of customer.
Kent BeckUniversity of OregonSoftware Engineer
Method goalsmultiple short development cycles, rather than a long one.
Any change is accepted, instead of defining a set of stable requirements.
Coding
Testing
ListeningDesigning
Without code, there is no working product.
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.
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.
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.
Pair Programming: two programmers work together at one workstation.
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.
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.
Other Principles
Courage.
Respect.
Rules.
Stephen Hawking