Rational Unified Process

40
Rational Unified Process Best Practices for Software Development Teams

description

Rational Unified Process. Best Practices for Software Development Teams. Agenda. What is the Rational Unified Process Implementing Best Practices Phases, Iterations and Activities The Product Implementing the Rational Unified Process Summary. focus. drive. Guidance. Customers. - PowerPoint PPT Presentation

Transcript of Rational Unified Process

Page 1: Rational Unified Process

p1

Rational Unified Process

Best Practices forSoftware Development Teams

Page 2: Rational Unified Process

p2

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 3: Rational Unified Process

p3

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 4: Rational Unified Process

p4

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 5: Rational Unified Process

p5

The Problem...

Most software projects use no Most software projects use no well-defined process. Instead well-defined process. Instead team members (re-)invent team members (re-)invent process as they goprocess as they go

??

??

??

?

If process is used, different If process is used, different functional teams use functional teams use normally inconsistent normally inconsistent processes and modeling processes and modeling languageslanguages

Analysis process

Requirements book

Test process

Design book

Processes are not linked Processes are not linked properly to tools, or are not properly to tools, or are not properly automatedproperly automated

ToolProcess ?

Page 6: Rational Unified Process

p6

Rational Unified Process (RUP)

Unifies best practices from many disciplines into a consistent Unifies best practices from many disciplines into a consistent full lifecycle processfull lifecycle process

Premier process for the UML, developed by the company that Premier process for the UML, developed by the company that brought you the UMLbrought you the UML

Online mentor integrated with and supported by Rational toolsOnline mentor integrated with and supported by Rational toolsApplicable to a wide variety of applications and industriesApplicable to a wide variety of applications and industries

Page 7: Rational Unified Process

p7

Increased Team Productivity

All team members shareAll team members share 1 knowledge base1 knowledge base 1 process1 process 1 view of how to develop software1 view of how to develop software 1 modeling language1 modeling language

Designer /Developer

Analyst Tester

DatabaseAdministrator

PerformanceEngineer

Release Engineer

Project Leader

Page 8: Rational Unified Process

p8

The Rational Unified Process and the UML — The Rational Unified Process and the UML — developed hand-in-hand — by Rationaldeveloped hand-in-hand — by Rational

Contributions by major vendorsContributions by major vendors MicrosoftMicrosoft HPHP IBMIBM

OracleOracle Texas InstrumentsTexas Instruments MCI MCI

SystemHouseSystemHouse StandardStandard through OMG through OMG

The Unified Modeling Language (UML)

Page 9: Rational Unified Process

p9

History of the Process

RequirementsCollege

Objectory Process 3.8

RationalApproach

Rational Objectory Process 4.0 12/1996

Rational Objectory Process 4.1

10/1997

SQAProcess

UML 0.8

Rational Unified Process 5.0

Configuration& change Mgmt

1998

1995

BusinessEngineering

Data Engineering

Performance testing

Page 10: Rational Unified Process

p10

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 11: Rational Unified Process

p11

Rational Unified Process

Describes the effective implementation of key “Best Describes the effective implementation of key “Best Practices” Practices”

Control Changes

Manage Requirements

Use Component

Architectures

DevelopIteratively

Model Visually

VerifyQuality

Page 12: Rational Unified Process

p12

Attack risks through demonstrable progressAttack risks through demonstrable progress Progress measured in products, not documentation or Progress measured in products, not documentation or

engineering estimatesengineering estimates

Continuous integrationContinuous integrationFrequent, executable releasesFrequent, executable releasesContinuous end user involvementContinuous end user involvement

1. Important Features of the Iterative Approach

InitialInitialPlanningPlanning

PlanningPlanning

RequirementsRequirementsCaptureCapture Analysis & DesignAnalysis & Design

ImplementationImplementation

TestTest

DeploymentDeployment

EvaluationEvaluation

ManagementManagementEnvironmentEnvironment

Page 13: Rational Unified Process

p13

Risk Profile of an Iterative Development

TransitionTransition

RiskRisk

InceptionInception

ElaborationElaboration

ConstructionConstruction

PreliminaryPreliminaryIterationIteration

Architect.Architect.IterationIteration

Architect.Architect.IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

TransitionTransitionIterationIteration

TransitionTransitionIterationIteration

Post-Post-deploymentdeployment

WaterfallWaterfall

TimeTime

Staffing

RiskRisk

Page 14: Rational Unified Process

p14

2. Manage Your Requirements Elicit, organize, and document required functionality and Elicit, organize, and document required functionality and

constraintsconstraints Track and document tradeoffs and decisions Track and document tradeoffs and decisions Business requirements are easily captured and communicated Business requirements are easily captured and communicated

through use casesthrough use cases Use cases are important planning instrumentsUse cases are important planning instruments

Design ModelImplementation Model Test Model

verifiesrealization influenced byUse Cases drives the work from analysis through test

Use-Case Model

Page 15: Rational Unified Process

p15

3. Employ Component-based Architecture Design, implement and test your architecture up-front!Design, implement and test your architecture up-front!

A systematic approach to define a “good” architectureA systematic approach to define a “good” architecture resilient to change by using well-defined interfacesresilient to change by using well-defined interfaces by using and reverse engineering componentsby using and reverse engineering components derived from top rank use casesderived from top rank use cases intuitively understandableintuitively understandable

System-System-softwaresoftware

MiddlewareMiddleware

Business-Business-specificspecific

Application-Application-specificspecific

Component-based Architecture with layers

Page 16: Rational Unified Process

p16

4. Model Software Visually Capture the structure and behavior of architectures Capture the structure and behavior of architectures

and componentsand components Show how the elements of the system fit togetherShow how the elements of the system fit together Maintain consistency between a design and its Maintain consistency between a design and its

implementationimplementation Promote unambiguous communicationPromote unambiguous communication

Code

Classes

Sub Systems

Visual Modelingraises the levelof abstraction

Page 17: Rational Unified Process

p17

5. Verify Software Quality

Create tests for each key scenario to ensure that all Create tests for each key scenario to ensure that all requirements are properly implementedrequirements are properly implemented

Unacceptable application performance hurts as much Unacceptable application performance hurts as much as unacceptable reliabilityas unacceptable reliability

Verify software reliability - memory leaks, bottle necksVerify software reliability - memory leaks, bottle necks Test every iteration - automate test!Test every iteration - automate test!

Development Deployment

Cost

Software problemsare 100 to 1000 timesmore costly to findand repair after deployment

Page 18: Rational Unified Process

p18

6. Control Changes to Software

Control, track and monitor changes to enable Control, track and monitor changes to enable iterative development iterative development

Establish secure workspaces for each developerEstablish secure workspaces for each developer• Provide isolation from changes made in other workspaces • Control all software artifacts - models, code, docs, etc.

Automate integration and build managementAutomate integration and build management

ALERTREPORT

WorkspaceManagement

Process Integration

Parallel Development

Build Management

CM is more than just check-in and check-out

Page 19: Rational Unified Process

p19

Rational Unified Process

Provides Provides guidelinesguidelines, , templatestemplates and and tool tool mentorsmentors for the effective implementation of for the effective implementation of key key best practicesbest practices

Control Changes

Manage Requirements

Use Component

Architectures

DevelopIteratively

Model Visually

VerifyQuality

Delivered through a web-enabled Delivered through a web-enabled searchable knowledge basesearchable knowledge base

Page 20: Rational Unified Process

p20

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 21: Rational Unified Process

p21

Phases in the Process

The Rational Unified Process has four phases:The Rational Unified Process has four phases: Inception - Define the scope of projectInception - Define the scope of project Elaboration - Plan project, specify features, baseline Elaboration - Plan project, specify features, baseline

architecture architecture Construction - Build the productConstruction - Build the product Transition - Transition the product into end user Transition - Transition the product into end user

communitycommunity

time

Inception Elaboration Construction Transition

Major Major MilestonesMilestones

Page 22: Rational Unified Process

p22

Iterations and Phases

An An iterationiteration is a distinct sequence of activities with an is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an established plan and evaluation criteria, resulting in an executable release (internal or external).executable release (internal or external).

PreliminaryPreliminaryIterationIteration

Architect.Architect.IterationIteration

Architect.Architect.IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

TransitionTransitionIterationIteration

TransitionTransitionIterationIteration

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Releases

Page 23: Rational Unified Process

p23

Each major workflow describes how to create and maintain a particular model

Models and Workflows

DesignModel

ImplementationModel

TestModel

realized by

implemented by

RequirementsWorkflow

Analysis DesignWorkflow

ImplementationWorkflow

Test Workflow

Use-CaseModel

BusinessModeling

Business Model

verified by

Page 24: Rational Unified Process

p24

Bringing It All Together...

PhasesProcess Workflows

Iterations

Supporting Workflows

ManagementEnvironment

Business Modeling

ImplementationTest

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Workflows group activities logically

In an iteration, you walk through all workflows

Page 25: Rational Unified Process

p25

Example of a Workflow

Page 26: Rational Unified Process

p26

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 27: Rational Unified Process

p27

Process Delivery In the Past….

Thick binder on every developers shelfThick binder on every developers shelf …….collecting dust….collecting dust… hard to understand, hard to use, seen as driving hard to understand, hard to use, seen as driving

overheadoverhead

not usednot used

Page 28: Rational Unified Process

p28

Rational Unified Process: Web-enabled

Interactive knowledge base accessible from toolsInteractive knowledge base accessible from tools Powerful graphical navigation, search engine, index...Powerful graphical navigation, search engine, index... Guidelines, templates, tool mentors at your finger tipsGuidelines, templates, tool mentors at your finger tips

Searchable Searchable Accessible Accessible NavigableNavigableEasy to useEasy to use

Page 29: Rational Unified Process

p29

Knowledge Base Content

Extensive guidelines for all team membersExtensive guidelines for all team members Tool mentors (most Rational tools)Tool mentors (most Rational tools) TemplatesTemplates

Rational Rose (examples and template for how to structure your Rose models)

Word (30+) SoDA (10+) MS Project

Development kit - guidelines, tools, templates for customizing Development kit - guidelines, tools, templates for customizing the processthe process

Access to Resource Center (white papers, updates, hints, and Access to Resource Center (white papers, updates, hints, and add-on products)add-on products)

Page 30: Rational Unified Process

p30

Tighter Integration with Tools

Rose

Tool mentorsReport generation scriptsStereotype icons TeamTest

Tool mentorsTest templatesRequisitePro

Requirement templates

SoDA Tool mentorsDocument templates

VB Designguidelines

ClearCase

Tool mentorsCM guidelines

ClearQuestChange mgmt. guidelines Tool mentors

Ada, C++ Prog.guidelines

PurifyQuantify

PureCoverage

Tool mentors

Visual Studio Apex

Page 31: Rational Unified Process

p31

Rational Unified Process - Books

Included in the productIncluded in the product Rational Unified Process - An Introduction, Philippe Kruchten,

Addison-Wesley Other recommended booksOther recommended books

Software Project Management - A Unified Framework, Walker Royce, Addison-Wesley

Unified Modeling Language - An Application Guide, Booch, Rumbaugh, Jacobson, Addison-Wesley

Unified Software Development Process, Jacobson, Booch, Rumbaugh, Jacobson, Addison-Wesley - coming Q1, 1999

Page 32: Rational Unified Process

p32

Process Training

Environment

Business Modeling

ImplementationTest

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Courses

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Management

Requirements

Elaboration TransitionInception Construction

Project Management

RMUCOOAD

ASQ

CCMOOPM

RUPO

Page 33: Rational Unified Process

p33

Rational Unified Process: Tailorable

Use in whole or in partUse in whole or in part Tailor by creating a project-specific or Tailor by creating a project-specific or

organization-specific “Development Case”organization-specific “Development Case” Development kit - guidelines, tools and Development kit - guidelines, tools and

templates for customizing the processtemplates for customizing the process

Page 34: Rational Unified Process

p34

Demo

Page 35: Rational Unified Process

p35

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 36: Rational Unified Process

p36

Approach 1 - The Interactive Knowledgebase...

Limited training Limited training Decide what artifacts to produceDecide what artifacts to produce Look at the process when you need help producing Look at the process when you need help producing

the artifactsthe artifacts Benefits increases over time as people start following Benefits increases over time as people start following

the process…the process…

Easy to adopt

Page 37: Rational Unified Process

p37

Approach 2: The Full Scale Adoption….

DevelopmentDevelopment CaseCase

Pilot ProjectPilot Project EvaluateEvaluate PilotPilot

Large Project 3Large Project 3Large Project 2Large Project 2

Large Project 1Large Project 1

EstablishEstablish Process and Process and

Support EnvironmentSupport Environment

Define and Define and Test a specific Test a specific

Development CaseDevelopment Case

Feed-backFeed-back

3-6 months3-6 months 1 month1 month 1-2 years1-2 years

““Members Members becomebecomeMentors”Mentors”

Further train Further train and mentor and mentor each projecteach project

Radical Improvements

Page 38: Rational Unified Process

p38

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 39: Rational Unified Process

p39

Agenda

What is the Rational Unified ProcessWhat is the Rational Unified Process Implementing Best PracticesImplementing Best Practices Phases, Iterations and ActivitiesPhases, Iterations and Activities The ProductThe Product Implementing the Rational Unified ProcessImplementing the Rational Unified Process SummarySummary

Page 40: Rational Unified Process

p40

Why Rational Unified Process is the Right Choice Developed by the company that created the UML Developed by the company that created the UML Unifies best practices from many disciplines into Unifies best practices from many disciplines into

a full lifecycle processa full lifecycle process Integrated with Rational’s toolsIntegrated with Rational’s tools Online mentor on your desktopOnline mentor on your desktop Supported by comprehensiveSupported by comprehensive

professional educationprofessional education

Delivers unprecedented content

to a low price