1 - best practices rup
TRANSCRIPT
-
7/29/2019 1 - Best Practices RUP
1/29
1
IBM Software Group
Best Practices of Software Development
Rational Unified Process (RUP)
-
7/29/2019 1 - Best Practices RUP
2/29
2
Software Development Best Practices
Needs not met
Requirements churn
Modules dont fit
Hard to maintain
Late discovery
Poor quality
Poor performance
Colliding developers
Build-and-release
Insufficient requirements
Ambiguous communications
Brittle architectures
Overwhelming complexityUndetectedinconsistencies
Poor testing
Subjective assessment
Waterfall development
Uncontrolled change
Insufficient automation
Symptoms Root Causes Best Practices
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
-
7/29/2019 1 - Best Practices RUP
3/29
3
Best PracticesProcess Made Practical
Develop Iteratively
Manage RequirementsUse Component
Architectures
Model Visually (UML)
Continuously Verify QualityManage Change
Practice 1: Develop Iteratively
-
7/29/2019 1 - Best Practices RUP
4/29
4
Waterfall Development Characteristics
Delays confirmation of critical risk resolution
Measures progress by assessing work-products thatare poor predictors of time-to-completion
Delays and aggregates integration and testing
Precludes early deployment
Frequently results in major unplanned iterations
Waterfall Process
Requirements
AnalysisDesign
Code and Unit TestSubsystem
IntegrationSystem Test
-
7/29/2019 1 - Best Practices RUP
5/29
5
Iterative Development Produces Executables
Planning
Requirements
Analysis & Design
Implementation
Deployment
Test
Evaluation
Management
Environment
Each iterationresults in anexecutable release.
-
7/29/2019 1 - Best Practices RUP
6/29
6
Practice 2: Manage Requirements
Best PracticesProcess Made Practical
DevelopIteratively
ManageRequirementsUse Component
Architectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
7/29/2019 1 - Best Practices RUP
7/297
Requirements Management Means
Making sure you
solve the right problem
build the right system
by taking a systematic approach to
eliciting
organizing
documenting
managing
the changing requirements of a softwareapplication.
-
7/29/2019 1 - Best Practices RUP
8/29
8
Problem
SolutionSpace
ProblemSpace
Needs
Features
SoftwareRequirements
Test ScriptsDesign User
Docs
TheProduct
to BeBuilt
Map of the Territory
-
7/29/2019 1 - Best Practices RUP
9/29
9
Use Cases as a Basis for Iteration Planning
Use-Case Model
SupplementarySpecifications
Iteration Plan
Fine-grained plan for
a single iteration
Project
Management
Constraints
During Elaboration, usecases are implemented tovalidate the architecture.
-
7/29/2019 1 - Best Practices RUP
10/29
10
Use Cases as a Basis for System Modeling
verification
realizatio
n
Use-Case Model
(requirements)
Implementation Model(source code)
Test Scripts
influence
Design Model(classes and objects)
-
7/29/2019 1 - Best Practices RUP
11/29
11
Use Cases as a Basis for Test Planning
The complete behavior of a use case is tested using Test
Scripts and Test Suites.
Test Suite
Test Script
Test Script
Test Suite
-
7/29/2019 1 - Best Practices RUP
12/29
12
Practice 3: Use Component Architectures
Best PracticesProcess Made Practical
DevelopIteratively
Manage RequirementsUseComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
7/29/2019 1 - Best Practices RUP
13/29
13
Purpose of a Component-Based Architecture
Basis for reuseComponent reuseArchitecture reuse
Basis for projectmanagementPlanning
Staffing
Delivery
Intellectual controlManage complexity
Maintain integritySystem-software
Middleware
Business-specific
Application-specific
Component-basedarchitecture withlayers
-
7/29/2019 1 - Best Practices RUP
14/29
14
Practice 4: Model Visually (UML)
Best PracticesProcess Made Practical
DevelopIteratively
Manage RequirementsUse Component
Architectures
ModelVisually (UML)
Continuously Verify QualityManage Change
-
7/29/2019 1 - Best Practices RUP
15/29
15
One language One toolOne team
Data Modeling
TecnologyModeling
ApplicationModeling
BusinessModeling
RequirementsModeling
One Language for All Practitioners
-
7/29/2019 1 - Best Practices RUP
16/29
16
Role of UML in RUP
Rational Unified Process was developedhand-in-hand with the UML.
Many artifacts in Rational Unified Processhave a UML representation.
Rational Unified Process also includesguidelines for UML concepts.
-
7/29/2019 1 - Best Practices RUP
17/29
17
Practice 5: Continuously Verify Quality
Best PracticesProcess Made Practical
DevelopIteratively
Manage RequirementsUse Component
Architectures
Model Visually (UML)
ContinuouslyVerify Quality
Manage Change
-
7/29/2019 1 - Best Practices RUP
18/29
18
Continuously Verify Your Softwares Quality
Cost
Development Phases
Software problems are
100 to 1000 times more costlyto find and repair after deployment
Cost to Repair Software
Cost of Lost Opportunities
Cost of Lost Customers
-
7/29/2019 1 - Best Practices RUP
19/29
19
Testing Dimensions of Quality
Reliability
Test that the applicationbehaves consistently andpredictably.
Performance
Test online responseunder average and peakloading
Functionality
Test the accurateworkings of each
usage scenario
Usability
Test application from theperspective ofconvenience to end-user.
Supportability
Test the ability to maintain
and support applicationunder production use
-
7/29/2019 1 - Best Practices RUP
20/29
20
UML Modeland
Implementation
Tests
Iteration 1
Test Suite 1
Iteration 2
Test Suite 2
Iteration 4
Test Suite 4
Iteration 3
Test Suite 3
Test Each Iteration
Need for automated testing increases
-
7/29/2019 1 - Best Practices RUP
21/29
21
Practice 6: Manage Change
Best PracticesProcess Made Practical
DevelopIteratively
Manage RequirementsUse Component
Architectures
Model Visually(UML)
Continuously Verify QualityManage Change
-
7/29/2019 1 - Best Practices RUP
22/29
22
Muutostenhallinta - Change Request Management
Change requests come from many sources
throughout each iteration of the product lifecycle
Maint
Test
Code
Design
Req
Customer andUser inputs
MarketingNew
Feature
NewRequirement
Bug
Help DeskUser inputs
Approved
Decision
Process
(CCB)
Single Channel
for Approval
Coders inputsTesters inputs
ChangeRequest (CR)
-
7/29/2019 1 - Best Practices RUP
23/29
23
Unified Change Management
-
7/29/2019 1 - Best Practices RUP
24/29
24
Best Practices Reinforce Each Other: An Example
Validates architectural
decisions early on
Addresses complexity of
design/implementation incrementally
Measures quality early and often
Evolves baselines incrementally
Ensures users involved
as requirements evolve
Best Practices
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
-
7/29/2019 1 - Best Practices RUP
25/29
25
RUP Implements Best Practices
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
-
7/29/2019 1 - Best Practices RUP
26/29
26
Bringing It All Together: The Iterative Approach
time
content
Disciplines grouprelated activities.
In an
iteration,
you walkthrough all
disciplines.
-
7/29/2019 1 - Best Practices RUP
27/29
27
Changing Focus of Phases Over Time
Planned (Technical) Visibility Points
Inception Elaboration Construction Transition
Preliminary
Iteration
Architecture
Iteration
Architecture
Iteration
Development
Iteration
Development
Iteration
Development
Iteration
Transition
Iteration
Transition
Iteration
Acceptanceor end of life
Product sufficientlymature forcustomers to use
Architecturebaselined
Scope and BusinessCase agreement
Planned (Business) Decision Points
understand
problem
understand
solution
have a
solution
efficient use
of solution
-
7/29/2019 1 - Best Practices RUP
28/29
28
Typical Effort and Time Percentages by Phase
Inc Elab Const Trans
Effort 5% 20% 65% 10%
Time/Schedule 10% 30% 50% 10%
Time
People
ConstElab TransInc
-
7/29/2019 1 - Best Practices RUP
29/29
29