1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

28
1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    3

Transcript of 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

Page 1: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

1

IBM Software Group

®

Best Practices of Software DevelopmentRational Unified Process (RUP)

Page 2: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

2

Software Development Best Practices

Needs not met

Requirements churn

Modules don’t fit

Hard to maintain

Late discovery

Poor quality

Poor performance

Colliding developers

Build-and-release

Insufficient requirements

Ambiguous communications

Brittle architectures

Overwhelming complexity

Undetected inconsistencies

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

Page 3: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

3

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Practice 1: Develop Iteratively

Page 4: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

4

Waterfall Development Characteristics

Delays confirmation of critical risk resolution Measures progress by assessing work-products that

are poor predictors of time-to-completion Delays and aggregates integration and testing Precludes early deployment Frequently results in major unplanned iterations

Waterfall Process

Requirements Analysis

DesignCode and Unit Test

Subsystem Integration

System Test

Page 5: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

5

Iterative Development Produces Executables

Planning

Requirements

Analysis & Design

Implementation

Deployment

Test

Evaluation

ManagementEnvironment

Each iteration results in an executable release.

Page 6: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

6

Practice 2: Manage Requirements

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 7: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

7

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 software application.

Page 8: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

8

Problem

Solution Space

Problem Space

Needs

Features

SoftwareRequirements

Test ScriptsDesign User

Docs

The Product

to Be Built

Traceability

Map of the Territory

Page 9: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

9

Use Cases as a Basis for Iteration PlanningUse 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, use cases are implemented to validate the architecture.

Page 10: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

10

Use Cases as a Basis for System Modeling

verificationrealization

Use-Case Model(requirements)

Implementation Model(source code)

Test Scripts

influence

Design Model(classes and objects)

Page 11: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

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

Page 12: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

12

Practice 3: Use Component Architectures

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityManage Change

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityManage Change

Page 13: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

13

Purpose of a Component-Based Architecture

Basis for reuse Component reuse Architecture reuse

Basis for project management Planning Staffing Delivery

Intellectual control Manage complexity Maintain integrity

System-System-softwaresoftware

MiddlewareMiddleware

Business-Business-specificspecific

Application-Application-specificspecific

Component-based architecture with layers

Page 14: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

14

Practice 4: Model Visually (UML)

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 15: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

15

One language – One tool – One team

Data Modeling

Tecnology Modeling

Application Modeling

Business Modeling

RequirementsModeling

One Language for All Practitioners

Page 16: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

16

Role of UML in RUP

Rational Unified Process was developed hand-in-hand with the UML.

Many artifacts in Rational Unified Process have a UML representation.

Rational Unified Process also includes guidelines for UML concepts.

Page 17: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

17

Practice 5: Continuously Verify Quality

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)ContinuouslyVerify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)ContinuouslyVerify Quality

Manage Change

Page 18: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

18

Continuously Verify Your Software’s Quality

CostCost

Development Phases

Software problems are100 to 1000 times more costly

to find and repair after deployment

Software problems are100 to 1000 times more costly

to find and repair after deployment

Cost to Repair Software

Cost of Lost Opportunities

Cost of Lost Customers

Cost to Repair Software

Cost of Lost Opportunities

Cost of Lost Customers

Page 19: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

19

Testing Dimensions of Quality

ReliabilityReliability Test that the application

behaves consistently and predictably.

Test that the application behaves consistently and predictably.

PerformancePerformance Test online response

under average and peak loading

Test online response under average and peak loading

FunctionalityFunctionality Test the accurate

workings of each usage scenario

Test the accurate workings of each usage scenario

UsabilityUsability Test application from the

perspective of convenience to end-user.

Test application from the perspective of convenience to end-user.

SupportabilitySupportability Test the ability to maintain

and support application under production use

Test the ability to maintain and support application under production use

Page 20: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

20

UML Model and

Implementation

Tests

Iteration 1Iteration 1

Test Suite 1Test Suite 1

Iteration 2Iteration 2

Test Suite 2Test Suite 2

Iteration 4Iteration 4

Test Suite 4Test Suite 4

Iteration 3Iteration 3

Test Suite 3Test Suite 3

Test Each Iteration

Need for automated testing increases

Page 21: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

21

Practice 6: Manage Change

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 22: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

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

ApprovedDecisionProcess(CCB)

Single Channel for Approval

Coders inputsTesters inputs

ChangeRequest (CR)

Page 23: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

23

Unified Change Management

Page 24: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

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 PracticesBest Practices

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Page 25: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

25

RUP Implements Best Practices

Best PracticesProcess Made Practical Best Practices

Process Made Practical

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Page 26: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

26

Bringing It All Together: The Iterative Approachtime

content

Disciplines group related activities.

In an iteration, you walk through all disciplines.

Page 27: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

27

Changing Focus of Phases Over Time

Planned (Technical) Visibility Points

Inception Elaboration Construction Transition

PreliminaryIteration

ArchitectureIteration

Architecture Iteration

Development Iteration

Development Iteration

Development Iteration

TransitionIteration

TransitionIteration

Acceptanceor end of life

Product sufficiently mature for customers to use

Architecture baselined

Scope and Business

Case agreement

Planned (Business) Decision Points

understand problem

understandsolution

have a solution

efficient use of solution

Page 28: 1 IBM Software Group ® Best Practices of Software Development Rational Unified Process (RUP)

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