A01BestPracticesPart1 Class
A01BestPracticesPart1 Class
Engineering
Performance
Tester
Release
Engineer
Root Causes
Symptoms
insufficient requirements
end-user needs
ambiguous
changing communications
requirements
brittle architectures
modules don’t fit
overwhelming
hard to maintain complexity
late discovery undetected
poor quality inconsistencies
Develop Iteratively
Use
Manage Model Verify
Component Visually
Requirements Architectures Quality
Control Changes
Know these!
Will see this slide over and over…
Unified Software Practices v 5.0 - D
Copyright 1998 Rational Software, all rights reserved 13
Best Practices Enable High-Performance Teams
Results
Performance
• More Successful Engineer
projects Analyst
Project
Manager
Developer
Develop Iteratively
Tester
Use
Manage Component Model Verify
Requirements Architectures Visually Quality
Release
Engineer
Control Changes
Develop Iteratively
Use
Manage Model Verify
Component Visually
Requirements Architectures Quality
Control Changes
$$$
The time and money spent implementing a
faulty design are not recoverable
Design
Subsystem
Testing
System Testing
T I M E
Been in use for over 30 years.
Phases in lock-step. Assumption: when Design starts, Requirements are firm;
When Code and Testing starts, Design is firm and complete; etc. All FALSE in practice!
Requirements
R Analysis
I
Design
S
K Code & Unit
Testing
Subsystem
Testing
System Testing
T I M E
T I M E
Earliest iterations address greatest risks
(executable, architectural prototype?)
Highest priorities first; mitigate risk early; key functionality first.
Each iteration produces an executable release, an additional increment of the system
Each iteration includes integration and test
S Iterative Waterfall
K