Copyright 2006 Robert J. Glushko
Using Patterns in Process Design
Adopting, Adapting, Inventing, Implementing...
First half review
Assist in analysis
Expose inefficiencies
Encourage best practices
Simplify/ consolidate / remove redundancies
Enable transparent substitution
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
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"


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
So Contextualization == Innovation because you will have to make choices about how to frame the context and satisfy abstract constraints with specific instances
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
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

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 and only occasionally do they emphasize the more abstract patterns they follow
These abstractions enable the recipe to be used as a guide for experimentation to create alternative dishes
Elisabeth Rozin, "culinary wizard and anthropologist" analyzed 30 cultures and sub-cultures to determine what patterns of flavors and spices characterize different cuisines:
e.g., Oriental cooking dominated by soy sauce (China, Japan, Korea, Indonesia) and fish sauce (Vietnam, Laos, Thailand, Burma)
Indonesia: soy sauce, brown sugar, peanut, chile
Provence: olive oil, thyme, rosemary, marjoram, sage, tomato
Northeast Africa: garlic, cumin, mint

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?
"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?
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?
"Differentiation that does not drive customer preference is a liability"
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
With the six transaction patterns we can make broad contrasts between types of transactions, but we often need to make finer distinctions
Even the same transaction type can "behave" differently within a particular trading community, supply chain, or marketplace because of different business rules, "quality of service" contracts or similar guarantees
So we need some additional properties that further define the semantics of transactions to explicitly tell the participating businesses in a transaction what to expect from each other.
Each of the six transaction patterns has a characteristic profile of these transaction properties
Time To Acknowledge Receipt -- The time in which a recipient of a document must respond with an Acknowledge Receipt business signal
Time To Acknowledge Acceptance -- The time in which a recipient of a business document must respond with an Acknowledgement Acceptance business signal
Time To Perform -- The time in which the responding party must respond with the expected business document
Authorization Required -- The sender must sign the document and the recipient must validate the signature and the role associated with the signature
Non-Repudiation of Origin and Content -- The sender must store the business document in its original form for a duration mutually agreed upon in a trading partner agreement; the non-repudiation process includes validating the identity of the sender and the integrity of the content
Non-Repudiation of Receipt -- The sender of the receipt is required to store the Acknowledgement Receipt for the mutually agreed upon time period; the non-repudiation process includes validating the identity of the sender and the integrity of the content

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?
We're over half done with this course
What are the big ideas and recurring themes?
Review of Business Process Modeling Assignment
Document Analysis - Chapter 12 of textbook