R p1 Rational Unified Process Best Practices for Software Development Teams.
-
Upload
jared-shields -
Category
Documents
-
view
226 -
download
0
Transcript of R p1 Rational Unified Process Best Practices for Software Development Teams.
p1
Rational Unified Process
Best Practices forSoftware 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
p3
Guidance
amplify guide
drive
automate
focus
syndicate
Automation AccelerationTools
Customers
Services
Rational’s Strategy
Process
p4
Guidance
amplify guide
drive
automate
focus
syndicate
Automation AccelerationTools
Customers
Services
Rational’s Strategy
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
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 ??
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
p25
Example of a Workflow
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
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
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
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)
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
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
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
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
p34
Demo
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
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
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
p38
Guidance
amplify guide
drive
automate
focus
syndicate
Automation AccelerationTools
Customers
Services
Rational’s Strategy
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
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