Professional Documents
Culture Documents
Software Engineering
tools
methods
process model
a “quality” focus
A Process Framework
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
Framework Activities
• Communication
• Planning
• Modeling
• Analysis of requirements
• Design
• Construction
• Code generation
• Testing
• Deployment
Umbrella Activities
• the framework activities will always be applied on every project ... BUT
• the tasks (and degree of rigor) for each activity will vary based on:
• the type of project
• characteristics of the project
• common sense judgment; concurrence of the project team
The CMMI
• The CMMI defines each process area in terms of “specific goals” and
the “specific practices” required to achieve these goals.
• Specific goals establish the characteristics that must exist if the
activities implied by a process area are to be effective.
• Specific practices refine a goal into a set of process-related activities.
Process Patterns
Software Process
Software Process
Assessment
Capability
Software Process leads to leads to
Determination
Improvement
motivates
Prescriptive Models
Communication
project initiation Planning
requirement gathering estimating Modeling
scheduling
analysis Construction
tracking
design Deployment
code
test delivery
support
feedback
The Incremental Model
increment # n
Co m m u n i c a t i o n
Planning
M odel i ng
analysis Co n s t ru c t i o n
design
code De p l o y m e n t
test d e l i v e ry
fe e d b a c k
delivery of
increment # 2 n th increment
Co m m u n i c a t i o n
Planning
M odel i ng
analysis Co n s t ru c t i o n
design code De p l o y m e n t
test d e l i v e ry
fe e d b a c k
delivery of
increment # 1 2nd increment
Co m m u n i c a t i o n
Planning
M odel i ng
analysis Co n s t ru c t i o n
design code
test
De p l o y m e n t
d e l i v e ry delivery of
fe e d b a c k
1st increment
Co n st ru ct io n
component reuse
Team # 2 automatic code
Com m u n ication generation
testing
Mo d el i ng
business modeling
data modeling
process modeling
P lan n in g
Co nstructi o n De ploym e n t
Team # 1 component reuse integration
automatic code
generation delivery
M ode lin g testing feedback
business modeling
data modeling
process modeling
60 - 90 days
Evolutionary Models: Prototyping
Quick
Q u ick p lan
plan
Com m u n ication
communication
MoModeling
d e lin g
Q u ick d e sig n
Quick design
Deployment
Deployment
De live ry
delivery & Con stru ction
& Fe e dback
feedback Construction
of
of prototype
prototype
Evolutionary Models: The Spiral
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery code
feedback test
Evolutionary Models: Concurrent
none
Modeling activity
Awaiting
changes
Under review
Under
revision
Baselined
Done
Still Other Process Models
Incep tion
inception
inception
constr uction
Release
tr ansition
software increment
pr od uction
UP Phases
UP Phases
Inception Elaboration Construction Transition Production
Workflows
Requirements
Analysis
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
UP Work Products
Inception phase
Elaboration phase
Vision document
Initial use-case model
Initial project glossary Construction phase
Use-case model
Initial business case Supplementary requirements
Initial risk assessment. including non-functional Transition phase
Design model
Project plan, Analysis model Software components
phases and iterations. Software architecture Integrated software Delivered software increment
Business model, Description. increment Beta test reports
if necessary. Executable architectural Test plan and procedure General user feedback
One or more prototypes prototype.
Inceptio
Test cases
n Preliminary design model Support documentation
Revised risk list user manuals
Project plan including installation manuals
iteration plan description of current
adapted workflows increment
milestones
technical work products
Preliminary user manual
The Primary Goal of Any Software Process: High
Quality
Remember:
Why?
Less rework!