Permeation of RUP and XP on Small and Middle-Size Projects

Download Report

Transcript Permeation of RUP and XP on Small and Middle-Size Projects

Permeation of RUP and XP on
Small and Middle-Size Projects
KREŠIMIR FERTALJ
University of Zagreb
Faculty of Electrical Engineering and Computing
Department of applied computing
Unska 3, Zagreb 10000, CROATIA
[email protected]
Introduction
Most of the present software projects fit into
the class of middle-sized projects


XP is too “little and firm”,
RUP is too “big and universal”
» for literal and strict implementation.
Releasing and adjusting some of the
directives, and combining ideas of both of
these philosophies, as a logical solution for
filling the gap between the two.
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
2
Overview of the RUP
RUP - Rational Unified Process




formerly Unified Development Process
a universal software development framework
provides a number of predefined “templates” (roadmaps)
which model different types of processes suited for
different types of software development projects
enables the user to choose the subset of artefacts that
will be produced and even to create its own artefacts
RUP emphasises the “best practices”

Iterative development, Management of requirements,
Application of component-based architectures, Visual
modelling, Continuous quality verification, Control and
tracking of changes.
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
3
The RUP lifecycle
Inception

Determines the scope, the preliminary schedule and the
basic architecture  Vision document
Elaboration

Clarifies the system architecture, determines the most
important requirements and risks  Software
Requirements Specification, Software Architecture
Document and a refined project plan
Construction

Manufacturing and iterative improvement of the system
being developed  Development plan
Transition

Testing and releasing the product, fine tuning based on
the users’ feedback  Change Management
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
4
Iteration and phases
Phases
Core Workflows
Inception
Elaboration
Construction
Transition
Requirements
Analysis
Design
Implementation
Testing
iter.
#1
iter.
#2
—
—
—
—
—
iter.
#n-1
iter.
#n
Increments
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
5
Overview of XP
XP - Extreme Programming
The values - establish the basic rules

Communication, Simplicity, Feedback, Courage and
Respect.
The basic principles – operating principles

Humanity, Economics, Mutual benefit, Self-Similarity,
Improvement, Diversity, Reflection, Flow, Opportunity,
Redundancy, Failure, Quality, Baby Steps, Accepted
Responsibility
Practices – concrete directions


Beck recognizes Primary and Corollary practices
some authors do some further classifications
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
6
RUP Practices


Primary practices: Stories (User Stories), Weekly Cycle,
Quarterly Cycle and Slack, Sit Together, Whole Team,
Informative Workspace, Energised Work (formerly
Sustainable Pace), Pair programming, Incremental Design
(comprises two former – Refactoring and Simple Design),
Test-First Programming (Continuous Testing), Ten-Minute
Build, and Continuous Integration.
Corollary practices: Real Customer Involvement
(formerly On-Site Customer), Incremental Deployment.
Negotiated Scope Contract, Pay-Per-Use, Team Continuity,
Shrinking Teams, Root-Cause Analysis, Code and Tests,
Shared Code (formerly Collective Code Ownership),
Single Code Base, and Daily Deployment.
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
7
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
8
XP lifecycle
Exploration
Planning
Iterations to Release
Productionizing
Maintenance
Death
Review /
Inspection
Supplements
Stories for
the next
iteration
Pair Programming
Analysis
Feedback
(User)
Stories
Priorities
Design
Test
plan
Testing
Continuous
Integration
Effort
Estimate
Test
Shared Code,
Single Code Base
Short/Small
Release
Release
Update
Final
Release
User
Acceptance
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
9
Permeation of RUP and XP
 Best of Breed


The majority of software is too dynamic and unpredictable for “huge
and time-consuming” RUP, and
software projects are too expensive and important to be left to “adhoc” planning in XP.
 XP

focus set on coding, short projects (up to a year), small teams (up to
ten), reduced documentation, on-site customer, pair programming
and short releases as main risk reduction mechanisms.
 RUP

a configurable process framework, adaptable, no limits to the project
size, price or the team size and deployment, the main risk reduction
mechanisms are iterations and detailed documentation.
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
10
Preliminirary Study
Tasks
Analysis of the requirements and
business modeling
Analysis & Design
Implementation
Testing
Configuration & Change
Management
Project Management
RUP
eXtreme Programming
Vision document
User Stories
Communication Feedback
On-site customer
Use-Case analysis
Preliminary architecture
design
Creation of use-cases
prototypes
Creation of test plans
System Metaphor
Change Control Strategy
Project Schedule
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Story Estimates
11
System Analysis and Design
Tasks
Analysis of the requirements and
business modeling
RUP
Use-Case analysis
Analysis & Design
Class, Sequence, Collaboration
and Activity modeling
Implementation
Architecture prototype
Testing
Planning, design and
implementation of tests
Configuration & Change
Management
Change Request documents
Project Management
Defined Project Plan
Status Assessment document
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
eXtreme Programming
User Stories
Communication Feedback
On-site customer
Simple Design, System design
sketches (CRC sketches)
Frequent Small Releases
Continual Integration
Collective Ownership
Refactoring
Pair programming
Test-First Programming
Iteration Plan
12
System Construction
Tasks
Analysis of the requirements and
business modeling
Analysis & Design
RUP
Use-Case analysis
Class, Sequence, Collaboration
and Activity modeling
Implementation
Testing
Configuration & Change
Management
Project Management
Planning, design and
implementation of tests
eXtreme Programming
User Stories
Communication Feedback
On-site customer
Simple Design, System design
sketches (CRC sketches)
Frequent Small Releases
Continual Integration
Collective Ownership
Refactoring
Pair programming
Unit Testing
Change Request documents
Status Assessment document
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Iteration Plan
13
Transition
Tasks
Analysis of the requirements and
business modeling
Analysis & Design
RUP
Use-Case analysis
Class, Sequence, Collaboration
and Activity modeling
Implementation
Deployment
Configuration & Change
Management
Project Management
eXtreme Programming
User Stories
Communication Feedback
On-site customer
Simple Design, System design
sketches (CRC sketches)
Frequent Small Releases
Continual Integration
Collective Ownership
Refactoring
Pair programming
Deployment plan
User documentation
Support plan
Change Request documents
Status Assessment document
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Iteration Plan
14
Premise
RUP



highly formal and structured
providing out-of-the-box roadmaps for a number of
project types
does not say anything about how to actually run a
project
XP




devoted to everyday life and low-level management of
the development team
does not insist on documentation
does not provide project templates
people oriented methodology, relying on human
intelligence
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
15
Conclusion
 A permeation presented in the paper




retained the four RUP alike phases in project lifecycle
significantly reduced the documentation, selecting the artefacts
necessary to support a little larger and less compact team than
expected in XP
adopts reduced XP’s people-orientation and most of the XP practices,
especially communication, frequent small releases, code refactoring
and testing, etc.
XP practice of writing tests before or at least in parallel with code
proved to be an excellent risk reduction mechanism in practice.
 The proposed combination of RUP and XP


certainly appropriate for small and middle-size projects
efficiently exploits the human experience in SW development
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
16
?