1
Chapt er 2
Process: A Generic View
Software Engineering: A Practitioner’s Approach, 6th edition
by Roger S. Pressman
2
Chapt er Overview
 What? A software process - a series of predictable
steps that leads to a timely, high-quality product.
 Who? Managers, software engineers, and customers.
 Why? Provides stability, control, and organization to
an otherwise chaotic activity.
 Steps? A handful of activities are common to all
software processes, details vary.
 Work product? Programs, documents, and data.
 Correct process? Assessment, quality deliverable.
3
A Layered
TechnologySoftware Engineering
a “quality” focusa “quality” focus
process modelprocess model
methodsmethods
toolstools
4
Sof t ware Engineering
Software Engineering: (1) The application of aSoftware Engineering: (1) The application of a
systematic, disciplined, quantifiable approach tosystematic, disciplined, quantifiable approach to
the development, operation, and maintenance ofthe development, operation, and maintenance of
software; that is, the application of engineering tosoftware; that is, the application of engineering to
software. (2) The study of approaches as in (1).software. (2) The study of approaches as in (1).
- IEEE Standard 610.12-1990- IEEE Standard 610.12-1990
5
A Process
FrameworkProcess frameworkProcess framework
Umbrella activitiesUmbrella activities
framework activity #1framework activity #1
SE action #1.1SE action #1.1
Software process
tas
k
set
s



work tasks
work
products
QA points
milestones
SE action #1.2SE action #1.2
tas
k
set
s



work tasks
work
products
QA points
milestones
framework activity #2framework activity #2
SE action #2.1SE action #2.1
tas
k
set
s



work tasks
work
products
QA points
milestones
SE action #2.2SE action #2.2
tas
k
set
s



work tasks
work
products
QA points
milestones
6
Umbrella
Act ivit ies
 Software project management
 Formal technical reviews
 Software quality assurance
 Software configuration management
 Work product preparation and
production
 Reusability management
 Measurement
 Risk management
7
Framework
Act ivit ies
 Communication
 Planning
 Modeling
 Analysis of requirements
 Design
 Construction
 Code generation
 Testing
 Deployment
8
The Process Model:
Adapt abilit y
 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
9
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.
10
Personal Sof t ware Process
(PSP) Recommends five framework activities:
 Planning
 High-level design
 High-level design review
 Development
 Postmortem
 Stresses the need for each software
engineer to identify errors early and as
important, to understand the types of
errors
11
Team Sof t ware Process
(TSP) Each project is “launched” using a “script”
that defines the tasks to be accomplished
 Teams (of 2 to 20 engineers) are self-
directed:
 Plan and track work, set goals, own processes and plans
 Measurement is encouraged
 Measures are analyzed with the intent of
improving the team process (through
coaching, motivation, …)
12
Process Pat t erns
 Process patterns define a set of activities,
actions, work tasks, work products and/or related
behaviors
 A template is used to define a pattern
 Typical examples:
 Customer communication (a process activity)
 Analysis (an action)
 Requirements gathering (a process task)
 Reviewing a work product (a process task)
 Design model (a work product)
13
Process
Assessment
 The process should be assessed to ensure
that it meets a set of basic process criteria
that have been shown to be essential for a
successful software engineering.
 Many different assessment options are
available:
 SCAMPI
 CBA IPI
 SPICE
 ISO 9001:2000
14
Assessment and I mprovement
Software Process
Software Process
Assessment
is examined by identifies capabilities
and risk of
identifies
modifications to
Software Process
Improvement
Capability
Determination
leads to leads to
motivates
15
The Primary Goal of Any Sof t ware
Process: HighQuality
Remember:Remember:
High qualityHigh quality ⇒⇒ project timelinessproject timeliness
Why?Why?
Less rework!Less rework!

A generic view of software engineering

  • 1.
    1 Chapt er 2 Process:A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
  • 2.
    2 Chapt er Overview What? A software process - a series of predictable steps that leads to a timely, high-quality product.  Who? Managers, software engineers, and customers.  Why? Provides stability, control, and organization to an otherwise chaotic activity.  Steps? A handful of activities are common to all software processes, details vary.  Work product? Programs, documents, and data.  Correct process? Assessment, quality deliverable.
  • 3.
    3 A Layered TechnologySoftware Engineering a“quality” focusa “quality” focus process modelprocess model methodsmethods toolstools
  • 4.
    4 Sof t wareEngineering Software Engineering: (1) The application of aSoftware Engineering: (1) The application of a systematic, disciplined, quantifiable approach tosystematic, disciplined, quantifiable approach to the development, operation, and maintenance ofthe development, operation, and maintenance of software; that is, the application of engineering tosoftware; that is, the application of engineering to software. (2) The study of approaches as in (1).software. (2) The study of approaches as in (1). - IEEE Standard 610.12-1990- IEEE Standard 610.12-1990
  • 5.
    5 A Process FrameworkProcess frameworkProcessframework Umbrella activitiesUmbrella activities framework activity #1framework activity #1 SE action #1.1SE action #1.1 Software process tas k set s    work tasks work products QA points milestones SE action #1.2SE action #1.2 tas k set s    work tasks work products QA points milestones framework activity #2framework activity #2 SE action #2.1SE action #2.1 tas k set s    work tasks work products QA points milestones SE action #2.2SE action #2.2 tas k set s    work tasks work products QA points milestones
  • 6.
    6 Umbrella Act ivit ies Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Work product preparation and production  Reusability management  Measurement  Risk management
  • 7.
    7 Framework Act ivit ies Communication  Planning  Modeling  Analysis of requirements  Design  Construction  Code generation  Testing  Deployment
  • 8.
    8 The Process Model: Adaptabilit y  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
  • 9.
    9 The CMMI The CMMIdefines 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.
  • 10.
    10 Personal Sof tware Process (PSP) Recommends five framework activities:  Planning  High-level design  High-level design review  Development  Postmortem  Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors
  • 11.
    11 Team Sof tware Process (TSP) Each project is “launched” using a “script” that defines the tasks to be accomplished  Teams (of 2 to 20 engineers) are self- directed:  Plan and track work, set goals, own processes and plans  Measurement is encouraged  Measures are analyzed with the intent of improving the team process (through coaching, motivation, …)
  • 12.
    12 Process Pat terns  Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors  A template is used to define a pattern  Typical examples:  Customer communication (a process activity)  Analysis (an action)  Requirements gathering (a process task)  Reviewing a work product (a process task)  Design model (a work product)
  • 13.
    13 Process Assessment  The processshould be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for a successful software engineering.  Many different assessment options are available:  SCAMPI  CBA IPI  SPICE  ISO 9001:2000
  • 14.
    14 Assessment and Improvement Software Process Software Process Assessment is examined by identifies capabilities and risk of identifies modifications to Software Process Improvement Capability Determination leads to leads to motivates
  • 15.
    15 The Primary Goalof Any Sof t ware Process: HighQuality Remember:Remember: High qualityHigh quality ⇒⇒ project timelinessproject timeliness Why?Why? Less rework!Less rework!