Extreme Programming--a - PowerPoint PPT Presentation

About This Presentation
Title:

Extreme Programming--a

Description:

Title: Lectures on Software Engineering--C. Purdy--Week 3 Author: Preferred Customer Last modified by: cpurdy Created Date: 1/22/2003 7:15:11 PM Document presentation ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 19
Provided by: Preferr1194
Learn more at: https://eecs.ceas.uc.edu
Category:

less

Transcript and Presenter's Notes

Title: Extreme Programming--a


1
Extreme Programming--a New Process Model
  • Extreme Programming--
  • a New Process Model

2
Review of Process Models
  • System designsome popular process models
  • Linear Sequential Model
  • Prototyping Model
  • RAD Model
  • Incremental Model
  • Spiral Model
  • Concurrent Development Model
  • Component-Based Development
  • Formal Method Model

problem?develop?integrate each step is carried
out recursively until an appropriate level of
detail is achieved
Basic method
3
Introduction to Extreme Programming
4
12 Practices of XP
5
Metaphor
6
Release Planning
2. release planning requirements are given in
terms of "user stories" each "story" is a short
( 1 index card) description of what the customer
wants, in natural language requirements are
prioritized by customer resources and risks are
estimated by developer "planning game"--each
increment is restricted to a "time box" highest
priority and highest risk user stories are in
early time boxes after each increment, replay
the "planning game"
7
Testing
3. testing development is test-driven tests
are written before code unit must run at 100
before going on acceptance tests written with
customer they act as "contract", measure
progress
8
Pair Programming
4. pair programming two engineers, one task,
one computer "driver" controls keyboard
mouse "navigator" watches, identifies defects,
participates in brainstorming roles are rotated
periodically
9
Refactoring
5. refactoring improve design of existing code,
but don't change functionality relies on
testing no new errors can be introduced
10
Simple Design
6. simple design no big design up front "do
the simplest thing that could possibly work"
don't add features you won't need may use
"CRC cards"
11
Collective Code Ownership
7. collective code ownership code belongs to
project, not individual engineers may browse
into and modify ANY class
12
Continuous Integration
8. continuous integration pair writes unit
test cases code pair tests code to
100 pair integrates pair runs ALL test
cases to 100 pair moves on to next task
13
On-Site Customer
9. on-site customer clarifies stories,
participates in critical decisions developers
don't make assumptions no waiting for
decisions face-to-face communication
14
Small Releases
10. small releases timeboxed as small as
possible, but with "business value" get
feedback early and often do planning game
after each iteration
15
40-Hour Work Week
11. 40-hour work week burning midnight oil
kills performance tired developers make more
mistakes workforce is more content
16
Coding Standards
12. coding standards use coding
conventions write intention-revealing code
17
13th Practice
"13th practice" stand up meeting 15 minutes
at start of each day stand up to keep meeting
short each participant says --what they
did yesterday --what they plan to do
today --any obstacles they are
facing pairs can be reformed based on meeting
18
Contrast with Waterfall Model
  • example contrasts "waterfall model XP
  • planning upfront incremental
  • control of project, "people" questions
    centralized distributed
  • customer involvement only for specification,
    reviews ongoing
  • risk analysis, scheduling all at beginning in
    increments
  • code development assigned sections collective
    ownership
  • testing specific phase ongoing and required
    to 100
  • project type well-understood, static new,
    dynamic
Write a Comment
User Comments (0)
About PowerShow.com