The Unified Software Processit210web.groups.et.byu.net/Tutorials/UnifiedProcess.pdf ·...
Transcript of The Unified Software Processit210web.groups.et.byu.net/Tutorials/UnifiedProcess.pdf ·...
The Unified Software Process:The Unified Software Process:
Best Practices for Software Development TeamsBest Practices for Software Development Teams
General Information
�� Joel Pech, Software Engineering Specialist on Joel Pech, Software Engineering Specialist on Rational Software field team for IARational Software field team for IA--KSKS--NE & KC, MO NE & KC, MO [email protected], [email protected], 319--228228--87818781
�� Unified Software Development Process, Unified Software Development Process, by by Ivar Ivar Jacobson, Jacobson, Grady Booch Grady Booch and Jim and Jim RumbaughRumbaughAddison Wesley, 1999Addison Wesley, 1999
�� Rational Unified ProcessRational Unified ProcessOur product that puts a unified software process on Our product that puts a unified software process on each desktop (some graphics for today’s talk are each desktop (some graphics for today’s talk are from this product).from this product).
Agenda�� Why Rational Software focuses on processWhy Rational Software focuses on process�� What is the problemWhat is the problem�� 6 fundamental Best 6 fundamental Best PractticesPracttices�� Structure of the Unified Software ProcessStructure of the Unified Software Process�� The Rational Unified Process productThe Rational Unified Process product
Rational’s Mission
Ensuring the success of customerswho depend on
developing or deploying software
Reality
“Only 26% of software projects succeed.”
Standish Group, CHAOS Report, 1998
“Only 26% of software projects succeed.”
Standish Group, CHAOS Report, 1998
The Rules Have Changed
Enterprise ITISV
Technical/Embedded
Enterprise ITISV
Technical/Embedded
Release frequencyRelease frequency
ComplexityComplexityCost of failureCost of failure
IndividualsIndividuals
The Challenge
Software development is a team sport ...
Software Software development is a development is a team sport ...sport ...
and, yet most tools are for ...and, yet most tools and, yet most tools are for ...are for ...
The Answer: Elevate the Solution
IndividualsImprove individual productivity
IndividualsImprove individual productivity
TeamsTeamsImprove cross-functional
team productivityImprove cross-functional
team productivity
Rational Elevates the Solution
IndividualsImprove individual productivity
IndividualsImprove individual productivity
OrganizationsOrganizationsImprove multi-team proficiencyImprove multi-team proficiency
TeamsTeamsImprove cross-functional
team productivityImprove cross-functional
team productivity
ProcessProcessProcessProductsProductsProducts
SkillsSkillsSkills
ProductsProductsProducts
SkillsSkillsSkillsSkillsSkillsSkills
Rational Unifies Software Teams
Technical Support & Tools Application
Technical Support & Technical Support & Tools ApplicationTools Application
Project Implementations
Project Project ImplementationsImplementations
Education and TrainingEducation Education
and Trainingand Training
ServicesServices
Customer SuccessCustomer Success
Develop Develop IterativelyIteratively
Manage Manage RequirementsRequirements
Use Use Component Component ArchitecturesArchitectures
Model VisuallyModel Visually(UML)(UML)
Verify QualityVerify Quality
Control Control ChangesChanges
BestPracticesBestPractices
Software Engineering LeadershipSoftware Engineering Leadership
Requirements Management
Visual Modeling
Automated Testing
Change Management
Requirements Requirements ManagementManagement
Visual Visual ModelingModeling
Automated Automated TestingTesting
Change Change ManagementManagement
ToolsTools
Prod
uct L
eade
rship
Prod
uct L
eade
rship
Agenda�� Why Rational Software focuses on processWhy Rational Software focuses on process�� What is the problemWhat is the problem�� 6 fundamental Best 6 fundamental Best PractticesPracttices�� Structure of the Unified Software ProcessStructure of the Unified Software Process�� The Rational Unified Process productThe Rational Unified Process product
The Business Problem
Software:Software:�� Increasingly Increasingly
more criticalmore critical�� Needs to be Needs to be
delivered fasterdelivered faster�� Needs to be Needs to be
higher qualityhigher quality
But...
“We estimate “We estimate only 26% of only 26% of
software projects software projects will succeed.”will succeed.”
StandishStandish GroupGroupCHAOS ReportCHAOS Report
19981998
Rational’s Unique Approach
Customer SuccessCustomer Success
ToolsTools
Requirements Management
Visual Modeling
Automated Testing
Change Management
Requirements Requirements ManagementManagement
Visual Visual ModelingModeling
Automated Automated TestingTesting
Change Change ManagementManagement
ServicesServices
Customer Customer SupportSupport
Tool Tool TrainingTraining
Project Project ImplementationImplementation
Expert Expert ConsultingConsulting
Best Practices Best Practices EducationEducation
Develop Develop IterativelyIteratively
Manage Manage RequirementsRequirements
Use Use Component Component Architectures Architectures
Model Visually Model Visually (UML)(UML)
Verify QualityVerify Quality
Control Control Changes Changes
BestPractices
BestPractices
Software Development is a Job for Teams
ProjectManager
PerformanceEngineer
ReleaseEngineer
Analyst
Developer
Tester
Challenges
• Larger teams
• Specialization
• Distribution
• Rapid technology change
The Problem...
�� Most software projects use Most software projects use no wellno well--defined process. defined process. Instead team members Instead team members (re(re--)invent process as they )invent process as they gogo
????
????
????
??
� If process is used, different functional teams use normally inconsistent processes and modeling languages
�� 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 ??
Agenda�� Why Rational Software focuses on processWhy Rational Software focuses on process�� What is the problemWhat is the problem�� 6 fundamental Best 6 fundamental Best PractticesPracttices�� Structure of the Unified Software ProcessStructure of the Unified Software Process�� The Rational Unified Process productThe Rational Unified Process product
Develop Develop IterativelyIteratively
Manage Manage RequirementsRequirements
Use Use Component Component Architectures Architectures
Model Visually Model Visually (UML)(UML)
Verify QualityVerify Quality
Control Control Changes Changes
BestPractices
BestPractices
6 Fundamental Best PracticesCapturing experiences fromCapturing experiences from
1,000s of projects1,000s of projects
Best Practices Enable High-Performance Teams
ProjectManager
PerformanceEngineer
ReleaseEngineer
Analyst
Developer
Tester
Result
• More Successful projects
BestPractices
BestPractices
Develop IterativelyDevelop Iteratively
Manage Manage RequirementsRequirements
Model VisuallyModel Visually
Use Component Use Component ArchitecturesArchitectures
Verify QualityVerify Quality
Control Control ChangeChange
The time and money spent implementing a faulty design are not recoverable
Practice 1: Develop Software Iteratively
�� An initial design will likely be flawed with respect to An initial design will likely be flawed with respect to its key requirementsits key requirements
�� LateLate--phase discovery of design defects results in phase discovery of design defects results in costly overcostly over--runs and/or project cancellation runs and/or project cancellation
Waterfall Development
T I M E
Subsystem Testing
System Testing
Code & Unit Testing
Design
Requirements Analysis
Waterfall Development: Risk vs. Time
RISK
T I M E
Subsystem Testing
System Testing
Code & Unit Testing
Design
Requirements Analysis
Iterative Development
InitialInitialPlanningPlanning
PlanningPlanning
RequirementsRequirements
Analysis & DesignAnalysis & Design
ImplementationImplementation
TestTest
DeploymentDeployment
EvaluationEvaluation
ManagementManagementEnvironmentEnvironment
Each iteration results in an executable release
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
PostPost--deploymentdeployment
WaterfallWaterfall
TimeTime
Staffing
Iterative Development Characteristics� Use Case Driven� Risk Driven� Architecture Centric
Iterative Development Advantages
� Critical risks are resolved before making large investments
� Initial iterations enable early user feedback � Testing and integration are continuous � Objective milestones provide short-term focus� Progress is measured by assessing
implementations� Partial implementations can be deployed
Practice 2: Manage Requirements�� Elicit, organize, and document required functionality and Elicit, organize, and document required functionality and
constraintsconstraints�� Track changes and document tradeoffs and decisions Track changes 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
Catch Requirements Errors Early
Elicit stakeholderneedsAnalyze
the problem
Gain agreement with thecustomer
Model system-user interaction
Establish a baseline andchange control process
Use an iterativeapproach
Maintain traceability and control of evolving
requirements
Practice 3: Use Component Architectures� Design, implement and test your architecture up-front!� A systematic approach to define a “good” architecture
� resilient to change by using well-defined interfaces� by using and reverse engineering components� derived from top rank use cases� intuitively understandable
�� Design, implement and test your architecture upDesign, implement and test your architecture up--front!front!�� A systematic approach to define a “good” architectureA systematic approach to define a “good” architecture
�� resilient to change by using wellresilient to change by using well--defined interfacesdefined 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
SystemSystem--softwaresoftware
MiddlewareMiddleware
BusinessBusiness--specificspecific
ApplicationApplication--specificspecific
Component-based Architecture with layers
Resilient, Component-Based Architectures
�� ResilientResilient� Meet current and future requirements� Improve extensibility� Enable reuse� Encapsulate system dependencies
�� ComponentComponent--basedbased� Reuse or customization of components � Select from commercially-available components� Incremental evolution of existing software
Visual modeling improves our abilityto manage complexity
Video Clip
OK
Find
Practice 4: Visually Model Software
�� Capture structure and behavior of architectures and Capture structure and behavior of architectures and componentscomponents
�� Show how the elements fit togetherShow how the elements fit together�� Hide or expose details as Hide or expose details as
appropriateappropriate�� Maintain consistency Maintain consistency
between design and implementationbetween design and implementation�� Promote unambiguous communicationPromote unambiguous communication
What Is the Unified Modeling Language?
� The UML is a language for� visualizing� specifying� constructing� documenting
the artifacts of a software-intensive system
Visual Modeling Using UML Diagrams
Actor A
Use Case 1
Use Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
Wi ndow95
¹®¼-°ü¸® Ŭ¶óÀ̾ðÆ®.EXE
Wi ndowsNT
¹®¼-°ü¸® ¿£Áø.EXE
Wi ndowsNT
Wi ndows95
Solaris
ÀÀ¿ë¼-¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼- ¹ö
Wi ndows95
¹®¼-°ü¸® ¾ÖÇ Ã¸´Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
usermainWnd fileMgr :
FileMgrrepositorydocument :
DocumentgFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È-¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ º¸¿©ÁØ´Ù.
Forward and Reverse Engineering
TargetSystem
Openning
Writing
Reading Closing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close fileUse Case 3
Use casediagram Class diagram
Collaboration diagram
Sequence diagram
Component diagram
Statechartdiagram
Deployment diagram
GrpFile
read( )open( )create( )fillFile( )
rep
Repository
name : char * = 0
readDoc( )readFile( )
(from Persistence)
FileMgr
fetchDoc( )sortByName( )
DocumentList
add( )delete( )
Document
name : intdocid : intnumField : int
get( )open( )close( )read( )sortFileList( )create( )fillDocument( )
fList
1
FileList
add( )delete( )
1
File
read( )
read() fill the code..
Practice 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�� Verify software reliability Verify software reliability -- memory leaks, bottle necksmemory leaks, bottle necks�� Unacceptable application performance hurts as much Unacceptable application performance hurts as much
as missing functionality and unacceptable reliabilityas missing functionality and unacceptable reliability�� Test every iteration Test every iteration -- automate test!automate test!
Development Deployment
Cost
Software problemsare 100 to 1000 timesmore costly to findand repair after deployment
Testing in an Iterative Environment Fu
nctio
nalit
yFu
nctio
nalit
y Iteration 2Iteration 2
Test Suite 2Test Suite 2
Iteration 3Iteration 3
Test Suite 3Test Suite 3
Iteration 4Iteration 4
Test Suite 4Test Suite 4Test Suite 1Test Suite 1
Iteration 1Iteration 1
Aut
omat
edA
utom
ated
Test
sTe
sts
Practice 6: Control Changes to SoftwareChange Request Management
Configuration Management
Measurement
Configuration Management Concepts
�� Decompose the architecture into Decompose the architecture into subsystems subsystems �� Assign subsystems to a Assign subsystems to a teamteam�� Establish Establish secure workspacessecure workspaces for each developerfor each developer
� Provide isolation from changes made in other workspaces � Control all software artifacts - models, code, docs, etc.
�� Establish an Establish an integrationintegration workspaceworkspace�� Establish an enforceable Establish an enforceable change controlchange control mechanismmechanism�� Release a Release a tested baselinetested baseline at the completion of each at the completion of each
iterationiteration
Change requests come from many sources throughout the
product lifecycle
Change Request Management Concepts
Require. & Use Cases
Tests
Vision
Change RequestSystem
New Feature
New Requirement
Fix Bug
Approved Decisions
Change ControlProcess
Customer andEnd-User Inputs
Marketing
Developer inputs
Testers inputs
Code
Measurement
Priority 1Defects
Day
0123456789
10
11 12 13 14 15 16 17 18 19 20
Closures per day Discovery per day
Diverging?
Converging?
Objective measurements provide meaningful project status information
Best Practices Reinforce Each Other
DevelopDevelopIterativelyIterativelyManage Manage
RequirementsRequirements
Control ChangesControl Changes
Verify QualityVerify Quality
Use Component Use Component ArchitecturesArchitectures
Model Visually Model Visually (UML)(UML)
BestPractices
BestPractices
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
Summary: Best Practices of Software Engineering
�� The result is software that isThe result is software that is�On Time�On Budget �Meets Users Needs
ProjectManager
PerformanceEngineer
ReleaseEngineer
Analyst
Developer
TesterBestPractices
BestPractices
Develop IterativelyDevelop Iteratively
Manage Manage RequirementsRequirements
Model VisuallyModel Visually
Use Component Use Component ArchitecturesArchitectures
Verify QualityVerify Quality
Control Control ChangeChange
Agenda�� Why Rational Software focuses on processWhy Rational Software focuses on process�� What is the problemWhat is the problem�� 6 fundamental Best 6 fundamental Best PractticesPracttices�� Structure of the Unified Software ProcessStructure of the Unified Software Process�� The Rational Unified Process productThe Rational Unified Process product
History
Objectory Process 3.8
RationalApproach
Rational Objectory Process 4.0 12/1996
Rational Objectory Process 4.1
10/1997
SQAProcess
RequirementsCollege
UML 0.8
Rational Unified Process 5.1
Configuration& change Mgmt
1998
1995
BusinessEngineering
Data Engineering
ObjectoryUI design
Performancetesting
UML 1.1
OMTBooch
Rational Unified Process 5.5
UML 1.3Project management
Real-timeROOM
1999Example artifacts
Java programming guidelinesE-development roadmap
Project Web site template
Signifies a rolethat may be played by an
individual or a team of
individuals in the
development organization
Worker
Use-Case Specifier
Process Notation
Activity
Describes a piece of work a worker may
be asked to perform.
Describe a Use Case
Signifies a piece of information that is
produced, modified, or used by a process
Artifact
Use-Case Package
Use Case
responsible for
Workers Are Used for Resource Planning
Res ource Worker Activitie s
Paul
Mary
Joe
Sylvia
Stefan
Designer
Use-Case Specifier
Use-Case Designer
Design Reviewer
Architect
Define Operations...
Describe a Use Case...
Distribute Behavior...
ReviewUse-Case Model...
Define Use-Case ViewDefine Logical Viiew...
Each individual in the project is assigned to one or several workers
Process Architecture
ManagementEnvironment
Business Modeling
ImplementationTest
Analysis & Design
Preliminary Iteration(s)
Iter.#1
PhasesProcess Workflows
Iterations
Supporting Workflows
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Time
Content
Phases in the Process
The Unified Software Process has four phases:The Unified Software Process has four phases:�� Inception Inception -- Define the scope of projectDefine the scope of project�� Elaboration Elaboration -- Plan project, specify features, baseline Plan project, specify features, baseline
architecture architecture �� Construction Construction -- Build the productBuild the product�� Transition Transition -- Transition the product into end user communityTransition the product into end user community
time
Inception Elaboration Construction Transition
Major Major MilestonesMilestones
Inception Phase�� PurposePurpose
•• To establish the business case for a new system or for To establish the business case for a new system or for a major update of an existing systema major update of an existing system
•• To specify the project scopeTo specify the project scope
�� OutcomeOutcome•• A general vision of the project’s requirements, i.e., the A general vision of the project’s requirements, i.e., the
core requirementscore requirements–– Initial useInitial use--case model and domain model (10case model and domain model (10--20% 20%
complete) complete) •• An initial business case, including:An initial business case, including:
–– Success criteria (e.g., revenue projection)Success criteria (e.g., revenue projection)–– An initial risk assessmentAn initial risk assessment–– An estimate of resources requiredAn estimate of resources required
�� Milestone: Lifecycle ObjectivesMilestone: Lifecycle Objectives
Elaboration Phase�� PurposePurpose
•• To analyze the problem domainTo analyze the problem domain•• To establish a sound architectural foundationTo establish a sound architectural foundation•• To address the highest risk elements of the projectTo address the highest risk elements of the project•• To develop a comprehensive plan showing how the project To develop a comprehensive plan showing how the project
will be completedwill be completed
�� OutcomeOutcome•• UseUse--case and domain model 80% completecase and domain model 80% complete•• An executable architecture and accompanying An executable architecture and accompanying
documentationdocumentation•• A revised business case,A revised business case, inclincl. revised risk assessment. revised risk assessment•• A development plan for the overall projectA development plan for the overall project
�� Milestone: Lifecycle ArchitectureMilestone: Lifecycle Architecture
Construction Phase� Purpose
• To incrementally develop a complete software product which is ready to transition into the user community
� Products• A complete use-case and design model• Executable releases of increasing functionality• User documentation• Deployment documentation• Evaluation criteria for each iteration• Release descriptions, including quality assurance
results• Updated development plan
� Milestone: Initial Operational Capability
Transition Phase�� PurposePurpose
•• To transition the software product into the user To transition the software product into the user communitycommunity
�� ProductsProducts•• Executable releasesExecutable releases•• Updated system modelsUpdated system models•• Evaluation criteria for each iterationEvaluation criteria for each iteration•• Release descriptions, including quality assurance Release descriptions, including quality assurance
resultsresults•• Updated user manualsUpdated user manuals•• Updated deployment documentationUpdated deployment documentation•• “Post“Post--mortemmortem” analysis of project performance ” analysis of project performance
�� Milestone: Product ReleaseMilestone: Product Release
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
Iteration Assessment
Iteration N+1 PlanIteration N+1 Plan•• CostCost•• ScheduleSchedule•• ContentContent
•• Compare iteration actual cost, Compare iteration actual cost, schedule, and content with iteration schedule, and content with iteration planplan
•• Determine rework (if any) to be doneDetermine rework (if any) to be done•• Assign to future iteration(s)Assign to future iteration(s)
•• Determine what risks have been Determine what risks have been eliminated, reduced, or newly eliminated, reduced, or newly identified in this iterationidentified in this iteration
•• Update project planUpdate project plan•• Prepare detailed plan for next Prepare detailed plan for next
iterationiteration•• Use revised risk list and select Use revised risk list and select
appropriate scenariosappropriate scenarios
Iteration N AssessmentIteration N AssessmentIteration N Cost andIteration N Cost and
ScheduleSchedule ActualsActuals Revised Risk ListRevised Risk List
Quality AssessmentQuality Assessmentfor Iteration Nfor Iteration N
•• Test ResultsTest Results•• Defect DensityDefect Density•• Architecture Architecture
StabilityStability•• Other metricsOther metrics
Revised Project PlanRevised Project Plan•• Total CostTotal Cost•• OverallOverall
ScheduleSchedule•• Scope/ContentScope/Content
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
Bringing It All Together...Phases
Process 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
Workflowsgroup activities logically
In an iteration, you walk through all workflows
Example of a Workflow
Agenda�� Why Rational Software focuses on processWhy Rational Software focuses on process�� What is the problemWhat is the problem�� 6 fundamental Best 6 fundamental Best PractticesPracttices�� Structure of the Unified Software ProcessStructure of the Unified Software Process�� The Rational Unified Process productThe Rational Unified Process product
Process Made Practical
�� RoleRole--based activity supportbased activity support�� Accessible, easy to use, webAccessible, easy to use, web--enabledenabled�� Automated by toolsAutomated by tools�� ee--coach integrated with toolscoach integrated with tools�� Configurable and customizableConfigurable and customizable
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
Role-based Activity Support�� ValueValue--add to each team memberadd to each team member�� Detailed handsDetailed hands--on guidelineson guidelines�� ProductivityProductivity--enhancing document templatesenhancing document templates�� NonNon--intrusiveintrusive
Signifies a rolethat may be played by an
individual or a team of
individuals in the
development organization
Worker
UseUse--Case Case SpecifierSpecifier
ActivityDescribes a piece of work a worker may
be asked to perform.
Describe a Use Case
Signifies a piece of information that is
produced, modified, or used by a process
Artifact
UseUse--Case Case PackagePackage
Use CaseUse Case
responsible forresponsible for
Easy to Use�� Interactive knowledge base accessible from toolsInteractive knowledge base accessible from tools�� WebWeb--enabled with powerful graphical navigationenabled with powerful graphical navigation�� Search engine, index...Search engine, index...
Searchable Searchable Accessible Accessible NavigableNavigableEasy to useEasy to use
Automated by Tools
Tool mentorsReport generation scriptsStereotype icons
Tool mentorsTest templates
Tool mentors Requirement templates
Tool mentorsDocument templates
VB Designguidelines
Tool mentorsCM guidelines
Change management guidelines
Tool mentors
Ada, C++ Prog.guidelines Tool mentorsRoseRoseRose
SoDASoDA
ClearQuestClearQuestClearQuest
RobotRobotRobot
ClearCaseClearCaseClearCase
ApexApexApexMicrosoft
Visual StudioMicrosoft Microsoft
Visual StudioVisual StudioPurifyQuantifyPureCoverage
PurifyPurifyQuantifyQuantifyPureCoveragePureCoverage
RequisiteProRequisiteProRequisitePro
e-coach - Tool Mentor
Set Up the Implementation Model Create an Integration and Build Workspace Create Private Workspace Check Out and Check In Configuration Items Promote Configuration Items Baseline the Project Release Subsystem(s)Baseline the Project
Tool Mentor Topics - Using ClearCase to...
e-coach - Extended Help
Context sensitive process
guidance from tools
Questions?
�� Please feel free to contact me at Please feel free to contact me at [email protected] or [email protected] or 319--228228--87818781
�� www.rational.comwww.rational.com�� IBM Application Framework for eIBM Application Framework for e--businessbusiness
� www.ibm.com/ebusiness�� Microsoft Windows DNAMicrosoft Windows DNA
� www.microsoft.com/dna