Introduction to PSP

Requirements Engineering
Lecture 4
Implementing XP at PUT
[email protected]
www.cs.put.poznan.pl/jnawrocki/mse/quality/
Copyright, 2000 © Jerzy R. Nawrocki
Plan of the lecture
Software development practices
Roles for people
Calendar
Measurements
The Planning Game
J. Nawrocki, Requirements Eng..,
Software development practices
Practices specific to XP
Error
• Pair programming (single
programmers + reviews)
• Design for today, not for
tomorrow (look-ahead design)
• Continuous integration
(controlled integration)
J. Nawrocki, Requirements Eng..,
Software development practices
Practices specific to XP
• Oral communication (written
communication)
• Artefacts: only code + test
cases (SRS, plans, design)
• On-side customer (remote
customer)
J. Nawrocki, Requirements Eng..,
Software development practices
Practices absent in XP
IEEE/ANSI
standard
830-1993
J. Nawrocki, Requirements Eng..,
• No SRS (user stories)
• No architecture design
(metaphor)
• No UML diagrams or other
stored pictures
• No formal reviews
• No long-term planning
• No traceability information
Software development practices
Common practices
Business
• Planning Game: business /
technical decisions
• Exploration phase +
concrete experiments
• Writing test cases as early
as possible
• Automated testing (as far as
Development possible)
J. Nawrocki, Requirements Eng..,
Software development practices
Common practices
• Incremental planning
• Short releases
• Software configuration
management tools
• Coding standards
• Open, honest
communication
• Accepted responsibility
J. Nawrocki, Requirements Eng..,
Roles for people
•
•
•
•
•
Teamwork
J. Nawrocki, Requirements Eng..,
Programmers (3rd year)
Coach (4th year)
Tracker (4th year)
Customer
Testers (5th year)
Calendar
Easter’01:
15.04
14-15.11: Rehearsals
21-22.11: Project presentations
till 25.11: Team building
till 20.12: Exploration/experiments
(Exploration report)
till 13.02: Winter break
till 11.04: Release 1 (8 weeks,
160 h/programmer)
till 17.04: Easter break
till 13.06: Release 2 (8 weeks,
160 h/programmer)
J. Nawrocki, Requirements Eng..,
Measurements
Time spend by team members
• Time the customer spend
with the team (in each week)
• Time spend on pair
programming (in each week)
• Other team work (per week)
• Time spend working alone
(in each week)
• Time spend on exploration,
release 1, release2.
J. Nawrocki, Requirements Eng..,
Measurements
XP-oriented measures
• Number of refactorings
• Number of integrations
• Total number of created /
modified / removed test
cases
• Total number of created /
modified / removed lines of
code
• Rework time ???
J. Nawrocki, Requirements Eng..,
Measurements
Delays
•
•
•
•
•
J. Nawrocki, Requirements Eng..,
Experimentation phase
Release1
Release2
Iterations
Meetings
Measurements
Defects
• In code
• In test cases
• In tools, operating
systems, and other
environment elements
• Misunderstandings
• Time spend on detecting
and fixing a defect
J. Nawrocki, Requirements Eng..,
The Planning Game
Goal
Maximise the value of the
software produced
• in a given time
• for a given amount of money.
J. Nawrocki, Requirements Eng..,
The Planning Game
Strategy
Minimal investment.
Minimal development time.
Most valuable functionality.
J. Nawrocki, Requirements Eng..,
The Planning Game
The pieces
Date: 6.11.01
Type of activity: New: X Fix:__ Enhance:__
Story number: 23
STORY DESCRIPTION: When the COLA rate changes in
the middle of the BIW Pay Period, we will want to pay the
1st week of the period at the old COLA rate, and the 2nd
week of the Pay Period at the NEW COLA rate. Should
occur automatically based on the system design.
NOTES:
J. Nawrocki, Requirements Eng..,
The moves
Exploration phase
Write a story
Estimate a story
(Ideal Eng. Time)
J. Nawrocki, Requirements Eng..,
Split a story
The moves
Commitment phase
Sort by value:
• necessary
• important
• optional
Sort by risk:
• predictable
• more or less
• unpredictable
Set velocity:
• IET / calendar
month
J. Nawrocki, Requirements Eng..,
Choose scope
The moves
Steering phase
•
•
•
•
J. Nawrocki, Requirements Eng..,
Iteration (2 weeks)
Recovery (Development)
New story (Business)
Re-estimate (Development)
Summary
Practices
Calendar
Measurements
The Planning Game as RE
J. Nawrocki, Requirements Eng..,
Further readings

• K. Beck, Extreme Programming
Explained, Addison-Wesley,
2000.
J. Nawrocki, Requirements Eng..,
Quality assessment
1. What is your general
impression? (1 - 6)
2. Was it too slow or too fast?
3. What important did you learn
during the lecture?
4. What to improve and how?
J. Nawrocki, Requirements Eng..,