Process Patterns
Lecture # 32
1
Process
• A series of actions in which one or more
inputs are used to produce one or more
outputs
2
Patterns
• A general solution to a common (recurring)
problem or issue, one from which a specific
solution may be derived
• Patterns can exist at all scales
– Christopher Alexander
3
Process Patterns
• A process pattern is a collection of general
techniques, actions, and/or tasks (activities)
for developing software
• A process pattern describes what you
should do but not the exact details of how
you should do something
4
Process Patterns
• When applied together in an organized
manner, process patterns can be used to
construct software process for your
organization
5
Process Patterns
• Since process patterns do not specify how
to perform a given task, they can be used as
reusable building blocks from which you
may tailor a software process that meets the
specific needs of your organization
– Why?
6
Process Patterns
• Software development patterns come in
many flavors, including but not limited to
analysis patterns, design patterns,
organizational patterns, and process patterns
• A process pattern is a pattern which
describes a proven, successful approach
and/or series of actions for developing
software
7
Process Patterns
• It can be argued that process patterns and
organizational patterns go hand in hand
• Organizational patterns describe common
management techniques or organizational
structures
• Organization patterns describe proven,
successful approaches for organizing and
managing people involved with the
software process
8
Process Patterns
• An important feature of process patterns is
that it is possible to develop them for all
aspects of development
• The point to be made is that the scope of a
single process pattern may range from a
highlevel view of how applications are
developed to a moredetailed view of a
specific portion of the software process
9
Types of Process Patterns
• There are at least three types of process
patterns that we are interested in
10
Following slide to be inserted
Types of Process Patterns
11
Types of Process Patterns
• Task process patterns
• Stage process patterns
• Phase process patterns
12
Task Process Patterns
• Task process patterns depict the detailed
steps to perform a specific task, such as the
Technical Review and Reuse First process
patterns
13
Stage Process Patterns
• Stage process patterns depict the steps,
which are often performed iteratively, of a
single project stage
• A project stage is a higherlevel form of
process pattern, one that is often composed
of several task process patterns
• A stage process pattern is presented for
each project stage such as the Program and
Rework stages
14
Phase Process Patterns 1
• Phase process patterns depict the
interactions between the stage process
patterns for a single project phase, such as
Initiate and Delivery phases
• A phase process pattern is a collection of
two or more stage process patterns
• Project phases are performed in a serial
manner, this is true of both structured
15
development and object development
Phase Process Patterns 2
• Phase process patterns are performed in
serial order, made up of stage process
patterns which are performed iteratively
16
Documenting Process Patterns
17
• We can combine the existing work in
process patterns with that of the existing
process improvement community
• The implication is the need for a
format/template that both communities
understand and agree to
• In that light, let’s discuss one way of
documenting a process pattern
18
Following slide to be inserted
Process Patterns Format
19
Process Patterns Format
•
•
•
•
•
•
•
Name
Forces
Initial context/Entry conditions
Solution
Resulting context/Exit conditions
Related Patterns
Known Uses/Examples
20
Name
• Provide a concise, strong name for the
pattern, such as Program or Reuse First
21
Forces
• Applicable forces motivating the process
pattern
22
Initial Context/Entry Conditions
• Indicate the situation to which the pattern
solution applies, and if applicable the entry
conditions that must be true before the
process may begin
23
Solution
• Describe in detail how to perform the
steps/activities of the process pattern. You
may also choose, particularly for phase and
stage process patterns, to describe
management, quality assurance, and risk
management issues, as well as indicate
potential metrics to collect when working
the process
24
Resulting Context/Exit
Conditions
• Indicate the situation/context which will
result from performing the process pattern
solution, including if applicable the
conditions that must be true for the process
to be considered complete
25