Professional Documents
Culture Documents
Extreme Programming: - Team Members
Extreme Programming: - Team Members
Extreme Programming: - Team Members
• Team Members
– Aaron Zedonis
– Cesar Garduno
– Jian Song
– Jose Cortes
– Ko-Wei Pan
Designing Testing
Simplicity; System metaphor. All code must have and pass unit tests before it
Use CRC cards for design sessions. can be released; When a bug is found tests are
Spike solutions to reduce risk. created; Acceptance tests are run often and the
No functionality added early. score is published.
Refactor.
One iteration of Extreme
Programming
Development overview
Programmers activities and work
Style
User Stories
What are User Stories?
• A user story is a short description of what
the business or customer wants the software
to do, written by the customer in the
customer terminology without techno-
syntax.
They are in the format of
about three sentences
typically written on 4x6
cards.
Purpose
• User Stories are used to create time estimates for the release planning
meeting.
• They are also used instead of a large requirements document.
• User Stories also drive the creation of the acceptance tests.
Example
"Tell me the story and write down the name of the story and a paragraph or two."
License Enforcement
When run for the first time, JeraWorks puts up a license dialog, and will not proceed until
the user enters either:
A valid license is stored so the user doesn't have to re-enter it on subsequent runs.
When a demo license expires, the license dialog re-appears the next time JeraWorks is run.
XP "circle of life":
• the customer decides which features have value,
• programmers estimate the cost of providing the features,
• the customer chooses the best combination of features
based on value and cost,
• programmers build the features, learning how to estimate
costs in the process,
• the customer learns how to define value and how to make
effective choices.
Business Analysis in
Extreme Programming
• Both customers and programmers learn and prosper during the
“cycle of life”.
• Solutions:
– Business analysts should work as aides to the customer, not as an
interface between customer and programmer
– Have regular meetings between analysts and customers
– The analysts should help the customers to write their stories instead of
translating for them
Business Analysis in
Extreme Programming
– Help the customers decide the priorities instead of deciding for them
– Have all the customers understanding what they should know and make
them feel as much control over the project as possible
• Project Structure
– Project: Customized an existing Labor Collection System.
– Primary User: Human resource
– Project Team: Programer1, Programer2, Senior Programmer, DBA,
Project Manager.
– Project Manager owns: Project plan, project source code, project user
requirements.
– Prog1 owns Part P1; Prog2 owns Part P2; Senior Part P3; DBA Database
objects;
– User contact in team: project manager.
• Original project structure
diagram. User R
Program
P3
P1
DBA
Data
• Problems encountered:
– In the absence of any member of team, work slows down or stops.
– Impossible to maintain other programmer’s work;
– System testing and feedback takes long time;
– Programmers and users are in the dark about requirement interpretation
and implementation;
– Each part of system is owned by a team member;
– When one person is gone, it’s
difficult to back up the person’s
work. When more than one person P1, P2, P3
User R
P3
P1
Data
• Implement XP with limited available human resources to
revive the project:
– First work in pair and take over the ownership of code left by the senior
programmer using one computer in each other’s cubic.
– Started to work on each others code in pair. Promote a code standard.
Promote a collective ownership of project.
– Perform unit test, integration test, and user test frequently on each
implementation. Users are consistently available to each programmer on
feedback about changes, requirements implementations.
– User stories are used to describe requirements, and test the
implementation.
– All above had made development, modification, unit testing and
integration testing much easier and faster.
• New project diagram after
following XP
programming method.
P1, P2, P3
– Direct communication among R and Data
User
users and programmers. No
middle man;
– Direct access to any resources
of project. No middle barrier;
– Collective ownership of
project. Pro 2
Prog1