SE735 - Data and Document Representation &
Processing |
Lecture
9 - Designing Business Processes with Patterns |
Why We Use Patterns
•
Simplify work.
•
Encourage best practices
•
Assist in analysis.
•
Expose inefficiencies.
•
Remove redundancies.
•
Consolidate interfaces.
•
Encourage modularity and transparent substitution.
How We Use Patterns
· Adopt pattern (it
already fits what I do)
·
Adapt to pattern (change what I do to fit pattern)
·
Adapt pattern (change the pattern to fit what I do)
·
Invent new pattern (no pattern fits)
·
Instantiate the adopted/adapted/new pattern
Patterns in Document Engineering
·
The essence of Document Engineering is its
systematic approach for discovering and exploiting the relationships between
patterns of different types
·
Working from the top down to connecting a business
model to the document/process and information component level can ensure that a
business model is feasible
·
Working from the bottom up to establish a business
model context on transactions and information exchanges can ensure that we are designing
and optimizing the activities that add the most value
·
These relationships between patterns "bridge
the gap between strategy and implementation"
Patterns in
the "Model Matrix
Read the “Model Matrix” Left-to-Right as:
General Pattern => Specialized Pattern
=> Adapted Pattern
The
"Pattern Compass"
•
Movement from left-to-right is in the Contextualize
direction - making patterns more specific (or specialized) for a particular
context.
•
Movement in the reverse direction from right-to-left
follows the Generalize direction to select patterns that are more abstract.
•
Movement from top-to-bottom on the Granularity
dimension increases the granularity of the pattern.
•
Movement in the reverse direction from bottom-to-top
on the Granularity dimension reduces the granularity of the pattern. We
progressively hide the lower level details to create a coarser, big picture
view of the pattern; now we're looking at the forest instead of the trees.
Contextualizing Patterns
·
If you are
in a context where there are no existing processes or solutions, you will
probably identify goal-oriented processes and more general constraints
·
Your
challenge will be to contextualize these general or abstract processes by
identifying and applying the constraints in your target context(s)
·
You have a
strategic opportunity to analyze a range of potentially appropriate process
patterns and select the one(s) that best satisfy the abstract goals of your
business model
Contextualization and Innovation
·
So
Contextualization == Innovation because you will have to make choices about how
to frame the context and satisfy abstract constraints with specific instances
·
The pattern
you choose will reinforce the context by emphasizing some requirements and
rules more than others
·
One pattern
may better describe the As-IS model, but another might provide more insight,
and a better roadmap, for getting to a TO-Be model
Generalizing Patterns
·
In
contrast, if you are evaluating or re-engineering existing processes or
solutions, you will probably identify transactional processes and specific
constraints on information components created or consumed by the processes
·
To
generalize is to take a more abstract view of something by eliminating
requirements or constraints, creating a less contextualized perspective
·
If
generalize = de-contextualize, then we can generalize by "unapplying" the "context dimensions" from
Chapter 8 and assessing whether we can ignore the requirements they had imposed
Generalizing Business Model Patterns
·
You can
identify business model patterns inductively, by looking at specific examples
of businesses and factoring out repeating elements to identify the pattern:
·
Bank in
supermarket
·
Fast food
franchise in supermarket
·
Post office
in supermarket
==> Complementary product or service for
supermarket customers "plugged into" supermarket
==> Complementary product or service for
customers of business type X plugged into type X establishment
e.g. Generalization in a Process Pattern Repository
Varying the
Granularity of Patterns
•
The granularity of an As-Is process model is shaped by
the sources of information about processes and whether the analysis was more
top-down or bottom-up.
•
Coarser grained models suggest patterns that encourage
new specializations.
Example: (Cooking) Recipe Patterns
·
A recipe
describes both objects and structures (ingredients) and the processes (cooking
instructions) for creating a food dish
·
Recipes are
typically written with narrow scope to describe how to make specific dishes
Pizza Patterns
Using Pizza Patterns
·
What
granularity of a pizza recipe is best for teaching new employees at a pizza
franchise?
·
What
granularity is best for differentiating pizza varieties and recognizing
possibilities for new ones?
·
What
granularity is most likely to reveal that making pizza and making bread have
something in common, yielding the hybrid model of focaccia?
Following Recipes Exactly: Implementations as
Patterns
·
Sometimes
we want to replicate a process exactly as it has been implemented somewhere
else
·
This means
we want to apply a physical model rather than a conceptual one and will use the
same implementation technology and the specific values that fill the roles and
activities in the source process
·
When would
we want to do this?
·
What are
the costs and benefits of using implementations as patterns?
"Process Rituals" and "Document
Relics"
·
At the time
it is done, exact copying can seem easy because it isn't necessary to
understand the underlying requirements and conceptual models embodied in the
solution being copied
·
But when
the copied implementation needs to change, as it inevitably does, this lack of
understanding of "what's really going on" makes it harder to know how
to revise and improve it
·
So
sometimes processes and information models persist even though they are no
longer serving much purpose
The Flavor Principle Cookbook (aka "Ethnic Cooking")
· The "flavor principle cookbook" by
Elisabeth Rozin, who analyzed 30 cultures and
sub-cultures to determine what patterns of flavors and spices characterize
different cuisines, presents "recipes" at an abstract level to guide
experimentation and culinary innovation
· e.g.
o
Oriental cooking
dominated by soy sauce (China, Japan, Korea, Indonesia) and fish sauce
(Vietnam, Laos, Thailand, Burma)
o
Indonesia: soy sauce,
brown sugar, peanut, chile
o
Provence: olive oil,
thyme, rosemary, marjoram, sage, tomato
o
Northeast Africa:
garlic, cumin, mint
Adopting Patterns
·
"If a
pattern fits, use it" sounds like reasonable advice But
how do we assess the "fit" of a pattern?
·
Is it
easier to adopt a pattern if there is no "As-Is" model?
·
How does
the abstractness of the pattern affect its applicability and fit?
Model from Scratch, or Adapt a Pattern?
The Process of Pattern Selection
·
Choosing a pattern is an iterative process
·
Whenever there is "business" going on
almost by definition that means there are buyers and sellers, or producers and
consumers. So we can apply that pattern to almost every situation to gain
insights.
·
Who has the power, the buyer or seller?
·
Who can set standards or terms/conditions in the
relationships? (who can choose the pattern?)
·
Who is the authoritative source of the information
involved?
·
What kinds of products or goods are being
"sold"
Applying Patterns to Achieve Insight
·
Sometimes we can get new insights about a business
problem or inefficiency by trying to apply a pattern to a context substantially
different from its usual one
·
We aren't likely to find a pattern that can serve
as a To-Be model, because we might have to make analogical or even metaphorical
assignments of activities and roles
· This is a brainstorming
or "thinking outside the box" technique
Different Ways to Frame the Application of Patterns
·
SELECT A
PATTERN – "here are some observations about the university - classes and
majors are oversubscribed, some classes are underenrolled...
how could you eliminate or reduce these problems?"
·
INSTANTIATE
A PATTERN – "how is the university like a supply chain and
marketplace?"
·
EVALUATE AN
INSTANTIATED PATTERN – "can the university be viewed as a marketplace
operator that indirectly distributes degrees manufactured by a school or
department?"
Adapting to Patterns
·
If a
pattern almost fits, you can change the pattern slightly so it fits your specific
requirements or you can change your requirements so that the pattern fits
exactly
·
How do you
decide?
The Cost of Adaptation
·
"Differentiation
that does not drive customer preference is a liability"
·
What are
the costs for employees if a pattern is adapted?
·
What are
the costs for customers if a pattern is adapted?
·
How do
these costs change over the life cycle of the product/service/process?
Adapting a Pattern
·
A pattern
might be specified in terms of roles or elements that can be instantiated in
different ways
·
When does
an adaptation become a pattern in its own right?
·
We might
adapt a recipe by applying a different set of flavor principles to an old one
· We would be inventing a new recipe if we were
to come up with a new combination of spices to create a new flavor principle
Using Patterns
to Suggest Information Components and Documents
•
Every process
model needs information components that link threads of related document
instances within the process.
•
Key
Information Components:
o
Identifiers
for the transactions or the documents within them.
§ e.g. Purchase Order Number, Order
Reference, and Invoice Numbers, or application-based, like time stamps or
message identifiers.
o
Identifiers
for the participants in the process.
§ e.g. Social Security numbers, employee
IDs, business registration numbers, or other unique or contextually unique
values.
o
Identifiers
for the product or service that are mentioned in the transaction so that
authoritative information about them can be retrieved from any process that
involves it (pricing, ordering, invoicing, shipping, etc.).
o
Integration
or interoperability information, such as values or codes used by processing
applications or ERP systems.