Upload
mahesh-panchal
View
17.608
Download
3
Tags:
Embed Size (px)
DESCRIPTION
This slides I prepared for making my first screencast on the topic : Comparison of RUP & Agile method (XP) for Projects.
Citation preview
Prepared by:Mahesh Panchal
MBA-Software Development &Management
Symbiosis(SCIT) : 07-09
Overview of RUPOverview of XPComparative studyconclusion
RUP is a popular off-the-shelf process based on the idea of highly iterative development One thing that makes RUP unique is that it is a product in
addition to a process. RUP includes a disciplined approach to
requirements management that is based on the idea of managing changes. RUP incorporates software design using the Unified
Modeling Language (UML), a visual modeling system for graphically representing the use cases, class model, object interactions, and components of the software.
One core element of RUP is the continuous assessment of the quality of the system.
XP consists of a set of rules and practices that govern all areas of software development: planning, designing, coding, and testing. The goal of XP is to lower the cost of change. To
meet this goal, many XP practices are highly iterative.
XP is a disciplined and well-defined process. By making the stakeholders part of the project
team, XP addresses the problem of the hands-off customer.
Characteristics
Evolutionary development Collection of 12 „Best Practices“ Focus on working code that implements
customer needs (rather than documents) Testing is a crucial element of the
process Focus on flexibility and efficiency of the
process Designed for small teams (<10)
Write tests
Planning
Test
Pair Programming+ Refactoring
IntegrationMin.daily
Every 2-3weeks
Release
Document drivenElaborate workflow definitionsMany different rolesMany checkpointsHigh management overheadHighly bureaucratic
Focus on working coderather than documentationFocus on direct communication(between developers andbetween developers and the customer)Low management overhead
Heavyweighte.g., V-Process
CustomizableFrameworke.g., RationalUnifiedProcess (RUP)
Agile (Lightweight)e.g., eXtremeProgramming (XP)
Tasks RUP eXtreme Programming
Analysis of the requirements and business modeling
Vision document
Use-Case analysis
User Stories Communication Feedback
On-site customer Analysis & Design Preliminary architecture design System Metaphor
Implementation Creation of use-cases prototypes
Testing Creation of test plans
Configuration & Change Management
Change Control Strategy
Project Management Project Schedule Story Estimates
Tasks RUP eXtreme Programming
Analysis of the requirements and business modeling
Use-Case analysis
User Stories Communication Feedback
On-site customer
Analysis & Design Class, Sequence, Collaboration and Activity modeling
Simple Design, System design sketches (CRC sketches)
Implementation Architecture prototype
Frequent Small Releases Continual Integration Collective Ownership
Refactoring Pair programming
Testing Planning, design and
implementation of tests Test-First Programming
Configuration & Change Management Change Request documents
Project Management Defined Project Plan Status Assessment document
Iteration Plan
Tasks RUP eXtreme Programming
Analysis of the requirements and business modeling
Use-Case analysis
User Stories Communication Feedback
On-site customer
Analysis & Design Class, Sequence, Collaboration and Activity modeling
Simple Design, System design sketches (CRC sketches)
Implementation
Frequent Small Releases Continual Integration Collective Ownership
Refactoring Pair programming
Testing Planning, design and
implementation of tests Unit Testing
Configuration & Change Management Change Request documents
Project Management Status Assessment document Iteration Plan
Tasks RUP eXtreme Programming Analysis of the requirements and
business modeling
Use-Case analysis User Stories
Communication Feedback On-site customer
Analysis & Design Class, Sequence, Collaboration
and Activity modeling Simple Design, System design
sketches (CRC sketches)
Implementation
Frequent Small Releases Continual Integration Collective Ownership
Refactoring Pair programming
Deployment Deployment plan
User documentation Support plan
Configuration & Change Management Change Request documents
Project Management Status Assessment document Iteration Plan
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
XP is suitable, if both of the following conditions are true: You have a small team (2-12) Requirements are vague (users don’t know yet
what they want) RUP is suitable if one of the previous
conditions are false. When using XP with large teams, the
general (unspoken) idea that everyone needs to know everyone else's code details, becomes hard to defend, especially when requirements/specifications are clear.
12
Thank you for patient listening.