R p1 Rational Unified Process Best Practices for Software Development Teams.

40
Rational Unified Process Best Practices for Software Development Teams

Transcript of R p1 Rational Unified Process Best Practices for Software Development Teams.

Page 1: R p1 Rational Unified Process Best Practices for Software Development Teams.

p1

Rational Unified Process

Best Practices forSoftware Development Teams

Page 2: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p3

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 4: R p1 Rational Unified Process Best Practices for Software Development Teams.

p4

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 5: R p1 Rational Unified Process Best Practices for Software Development Teams.

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

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 processAnalysis process

Requirements bookRequirements book

Test processTest process

Design bookDesign book

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

ToolToolProcessProcess ??

Page 6: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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 Business requirements are easily captured and

communicated through use casescommunicated through 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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p19

Rational Unified Process

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

Control Changes

Manage Requirements

Use Component

Architectures

DevelopIteratively

Model Visually

VerifyQuality

Delivered through a web-Delivered through a web-enabled searchable knowledge enabled searchable knowledge basebase

Page 20: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p24

Bringing It All Together...

PhasesProcess Workflows

Iterations

Supporting Workflows

ManagementEnvironment

Business Modeling

Implementation

Test

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p25

Example of a Workflow

Page 26: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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 not usednot used

Page 28: R p1 Rational Unified Process Best Practices for Software Development Teams.

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

NavigableNavigable

Easy to useEasy to use

Page 29: R p1 Rational Unified Process Best Practices for Software Development Teams.

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, Access to Resource Center (white papers, updates, hints, and add-on products)and add-on products)

Page 30: R p1 Rational Unified Process Best Practices for Software Development Teams.

p30

Tighter Integration with Tools

Rose

Tool mentorsReport generation scriptsStereotype icons TeamTest

Tool mentorsTest templates

RequisitePro

Requirement templates

SoDA Tool mentorsDocument templates

VB Designguidelines

ClearCase

Tool mentorsCM guidelines

ClearQuest

Change mgmt. guidelines Tool mentors

Ada, C++ Prog.guidelines

PurifyQuantify

PureCoverage

Tool mentors

Visual Studio Apex

Page 31: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p32

Process Training

Environment

Business Modeling

Implementation

Test

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

RMUC

OOAD

ASQ

CCM

OOPM

RUPO

Page 33: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

p34

Demo

Page 35: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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 adoptEasy to adopt

Page 37: R p1 Rational Unified Process Best Practices for Software Development Teams.

p37

Approach 2: The Full Scale Adoption….

DevelopmentDevelopment CaseCase

DevelopmentDevelopment CaseCase

Pilot ProjectPilot Project EvaluateEvaluate PilotPilot

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

Radical Improvements

Page 38: R p1 Rational Unified Process Best Practices for Software Development Teams.

p38

Guidance

amplify guide

drive

automate

focus

syndicate

Automation AccelerationTools

Customers

Services

Rational’s Strategy

Process

Page 39: R p1 Rational Unified Process Best Practices for Software Development Teams.

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: R p1 Rational Unified Process Best Practices for Software Development Teams.

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

Delivers unprecedented content

to a low price