1. Š 2017 Clear View Training Limited
SecretsofAnaysis
Generative Analysis
Overview
1
Dr. Jim Arlow
Clear View Training Limited
www.clearviewtraining.com
http://bit.ly/SecretsOfAnalysis
2. SecretsofAnalysis
Š 2017 Clear View Training Limited
About the author...
⢠Dr Jim Arlow
⢠Director of Clear View Training Limited
⢠Consultancy and training in UML, BPMN, Meta Data
Management, Requirements Engineering
⢠Customers include British Airways, BBC, JP Morgan
Chase, Aviva Investments, Vodafone
⢠Senior Visiting Research Fellow at Bournemouth
University
⢠Author of UML, BPMN and other books (next slide)
⢠Contact:
⢠Linked in: http://uk.linkedin.com/in/jimarlow
⢠www.clearviewtraining.com
2
3. SecretsofAnalysis
Š 2017 Clear View Training Limited
Contents
3
⢠A high-level overview of some
topics from our new book,
âSecrets of Analysisâ
⢠Principles of Generative Analysis
⢠M++
⢠If you want full details of the
techniques, please buy our
book:
Available here:
http://bit.ly/SecretsOfAnalysis
4. SecretsofAnalysis
Š 2017 Clear View Training Limited
Our books...
⢠Contact Clear View Training Limited
(www.clearviewtraining.com) for BPMN and UML
consultancy and training
⢠We specialize in interactive texts
4
plus
Interactive:
Available in
iBooks
5. Š 2017 Clear View Training Limited
SecretsofAnaysis
Principles of Generative
Analysis
5
6. SecretsofAnalysis
Š 2017 Clear View Training Limited
What is Generative Analysis?
⢠A new approach to OOA that tries to fill in the bits that
other methods tend to leave out:
⢠Understanding the process of communication
⢠Dealing with unstructured, informal information (most of the
information you get is like this).
⢠Eliciting high quality information from information
sources that are subject to:
⢠Deletion
⢠Distortion
⢠Generalization
⢠The goals of GA are to teach you how to deal with
real-world human issues of software engineering and
to provide you with suitable analysis tools
6
7. SecretsofAnalysis
Š 2017 Clear View Training Limited
The beginnings of GA
⢠GA begins with informal, unstructured information:
⢠Partial - essential information is deleted
⢠Inaccurate - essential information is distorted
⢠Generalized - essential information is modified by rules and beliefs
about the world which may or may not be true
⢠To cope with this situation, GA provides you with:
⢠Mapping tools - mind mapping, concept mapping, dialogue mapping
⢠Specific ways to capture and organize unstructured, informal information
⢠Four valued logic - a way to transform and enrich informal, unstructured
information
⢠M++ - a meta language for OOA
⢠Specific techniques to recover deleted, distorted and generalized information
⢠A set of transformations to generate high quality information from low quality
information - this is the "generative" bit
⢠Literate modeling - a way to increase the comprehensibility and value
of UML models
7
8. SecretsofAnalysis
Š 2017 Clear View Training Limited
Models are âmapsâ
⢠Features of maps:
⢠The map is not the territory
⢠No map is a complete
representation of its territory
⢠Maps can be mapped
(meta-models of the world)
⢠Every map at least says
something about the map
maker
⢠The most useful maps are
abstract and precise
8
"Knowledge - the structural
similarity between your
nervous-system constructed
maps and what you are
mapping" [Kodish 1]
9. SecretsofAnalysis
Š 2017 Clear View Training Limited
We are map makers...
⢠Abstraction - âthe selection of important details
within a particular contextâ
9
Conceptual level:
words
Perceptual level:
thinking
feeling
Sensory level:
seeing
hearing
tasting
touching
Objective level:
unspeakable
unknowable
What was
that?
Space-time event
Abstraction
Feedback
10. SecretsofAnalysis
Š 2017 Clear View Training Limited
Three isomorphic models...
⢠Which do you prefer?
10
deposit( amount : double )
withdraw( amount : double )
accountNumber : String
owner : String
balance : double
BankAccount
d( f : double )
e( g : double )
a : String
b : String
c : double
X
String alpha []
String beta []
double gamma []
function plus( i : int, delta : double )
function minus( i : int, delta : double )
11. SecretsofAnalysis
Š 2017 Clear View Training Limited
Software sanity...
⢠Convergent Architecture -
⢠âBusiness engineering with object technologyâ, David A. Taylor (1995)
⢠âConvergent Architectureâ, Richard Hubert (2002),
⢠âSecrets of Analysisâ, Arlow and Neustadt (2013)
11
Sane Un-sane
Black-
box
Does what you need it to do in a way that is
intuitive and easy to understand.
âFeels rightâ because it seems to be using
the same map of the world as you are.
Black box sanity is a necessary condition for
software to interact successfully with human
beings.
Seems to be working according to an entirely different
map to your own.
Behaves in a way that is un-intuitive and (to you)
illogical, un-sane and hard to understand.
May or may not do what you need it to do. You may,
or may not be able to get it to do what you need it to
do, even if it can.
White-
box
Has an internal structure that is clearly
isomorphic to the structure of the problem
domain.
Because of this, its internal structure is
understandable by domain experts.
White-box sanity is not a necessary condition
for software to interact successfully with
human beings.
Has an internal structure that may be isomorphic to
the structure of the problem domain, but this
isomorphism is very complicated.
Is not understandable by domain experts.
â
12. SecretsofAnalysis
Š 2017 Clear View Training Limited
Establishing feedback
⢠Every model is a theory about the world:
⢠Test your theories against reality at the earliest possible opportunity!
⢠Test by applying the principle of convergence (white-box
sanity):
⢠Present the model to domain experts and talk them through it.
⢠Create a Literate Model. Does it read well? Can domain experts
understand it?
⢠Create a project glossary. Key abstractions in the problem domain
must occur in your models and have the same meaning.
⢠Execute your models
⢠Never defend a broken model. Emotional investment is
pointless â it is only a model!
⢠Use software sanity and convergence as criteria for model
assessment
⢠Change or abandon a broken model as soon as you can!
12
13. Š 2017 Clear View Training Limited
SecretsofAnaysis
M++
a meta language for
analysis
13
14. SecretsofAnalysis
Š 2017 Clear View Training Limited
The role of ontology
14
Common ontology
Common mapping
ontology
Computer to computer
Human to computer
Human to human
⢠Communication is
predicated on
common ontologies:
⢠At a very fundamental
level, we must be
able to agree about
the components of
the world
⢠Our maps must be
isomorphic
⢠Convergent
Architecture
⢠Software sanity
15. SecretsofAnalysis
Š 2017 Clear View Training Limited
GA model of communication
15
presuppositions
deletion
distortion
generalization
external
response
external
response
internal
response
internal
response
Bob Alice
presuppositions
deletion
distortion
generalization
presuppositions
deletion
distortion
generalization
presuppositions
deletion
distortion
generalization
16. SecretsofAnalysis
Š 2017 Clear View Training Limited
M++ drives GA
⢠M++ is a pattern language for
working with deletions,
distortions and generalizations
and recovering the elided
information
⢠M++
⢠Identifies - different types of DDG
⢠De-abstracts - recovers DDG
information
⢠De-hypnotizes - tracks
generalized and distorted
information back to the real world
(or not!)
16
Presuppositions
Distortions:
1. Cause-effect
2. Complex equivalence
3. Mind reading
4. Nominalization
5. Propositional functions ++
Generalizations:
1. Lost performatives
2. Modal operators
3. Universal quantiďŹers
4. Ambiguous existential quantiďŹer ++
5. Ambiguous indeďŹnite article ++
6. Multidimensional terms ++
Deletions:
1. Simple deletion
2. UnspeciďŹed referential index
3. Comparative deletion
4. UnspeciďŹed verbs
5. UnspeciďŹed quantiďŹer ++
6. UnspeciďŹed temporal quantiďŹer ++
17. SecretsofAnalysis
Š 2017 Clear View Training Limited
Deletion
⢠You pay attention to some things, while filtering out
others. It is also known as negative hallucination.
⢠Simple deletion - details have been deleted
⢠Unspecified referential index - it is not clear to whom or
what the statement refers.
⢠Comparative deletion - a comparison is made, but the
basis for the comparison is not stated.
⢠Unspecified verbs - it is not clear how something is done.
⢠Unspecified quantifier ++ - quantifiers such as many,
more, most, few, etc.
⢠Unspecified temporal quantifier ++ - the time interval at
which something is true or during which something
happens is unspecified.
17
18. SecretsofAnalysis
Š 2017 Clear View Training Limited
Simple deletion
18
SIMPLE DELETION
Definition:
Simple deletion is where something is left out of the communication.
Example:
S: The contents of the library must be recorded in the new system.
Detection pattern:
Visualize the communication as an image or movie in your head (e.g. imagine the contents of the
library). This is called representational tracking. Can the things you imagine be tracked back to the
communication itself?
Keywords:
N/A
Recovery pattern:
Identify the missing information and ask for more details. Get the stakeholder to be specific.
Recovery questions:
What is/are...?
Who is/are...?
Can you be more specific about...?
Can you list ...?
19. SecretsofAnalysis
Š 2017 Clear View Training Limited
Distortion
⢠You believe something to be true that is not true.
⢠Cause-effect â you establish an explicit cause-effect
relationship between two things that may or may not be
true.
⢠Complex equivalence - one thing, X, is taken to be
synonymous with another thing, Y.
⢠Mind reading - you claim to know what others think and feel.
⢠Nominalization â you talk about a process or as though it is
a thing. A verb or verb phrase is turned into a noun or noun
phrase.
⢠Propositional functions ++ â a statement about a multi-
ordinal term that is neither true nor false until the value of
the term is specified. May evaluate to true, false, maybe, or
undefined.
19
20. SecretsofAnalysis
Š 2017 Clear View Training Limited
Cause-effect
20
Definition:
You establish an explicit cause-effect relationship between two things that may or may not be true.
Cause-effect indicates a set of presuppositions about the world where X causes Y. There may be a
true causal relationship between the two things, or cause-effect may merely be a presupposition. If it
is a presupposition, it indicates the edge of your map.
Cause-effect often removes the possibility of choice because one thing demands another.
Example:
S: I guess there'll be a lot of disruption while you are installing the new system.
Detection pattern:
Look for X causing Y.
Keywords:
if, then, because, makes, causes, implies, when, while, I guess, I suppose, so
Recovery pattern:
Challenge the cause-effect relationship.
Recovery questions:
How specifically does X cause Y?
By what process does X cause Y?
How do you know that X causes Y?
Are there any circumstances in which X does not cause Y?
21. SecretsofAnalysis
Š 2017 Clear View Training Limited
Generalization
⢠Rules based on your cognitive map of reality. They arise from
your presuppositions about the world, from the beliefs and
values you create unconsciously from your life experiences.
⢠Lost performatives â a judgment is made, but it is not clear who is
making it.
⢠Modal operators â modal operators of possibility constrain what is
possible. Modal operators of necessity constrain what is necessary.
⢠Universal quantifiers â are entirely inclusive or exclusive, and ignore
fine distinctions. A statement using a universal quantifier is inherently
fragile.
⢠Ambiguous existential quantifier ++ â it is unclear whether "some"
means "Some, but not all" ("some" used in a strictly logical sense) or
"Some, or possibly all" ("some" used to cover uncertainty).
⢠Ambiguous indefinite article ++ â the indefinite article "a" or "an" can
sometimes act as a universal quantifier or as an existential quantifier.
⢠Multidimensional terms ++ â see Chapter 13.
21
22. SecretsofAnalysis
Š 2017 Clear View Training Limited
Universal quantifiers
22
Definition:
Universal quantifiers are entirely inclusive or exclusive. They ignore fine distinctions and indicate the
edges of someoneâs map. A statement using a universal quantifier is inherently fragile, as it only
requires one counter-example to disprove it.
Example:
S: I don't know why we bother issuing fines. No one ever pays them!
Detection pattern:
Look for the keywords below.
Keywords:
Inclusive:
all, every, always, everyone, everything
Exclusive:
none, never, no one, nothing
Recovery pattern:
Use exaggeration.
Ask for a counter example.
Recovery questions:
You mean absolutely every one in the whole world...?
You mean no one has ever...?
Can you think of a case when...?
23. SecretsofAnalysis
Š 2017 Clear View Training Limited
Presuppositions drive DDG
⢠Presuppositions - the rules and beliefs you
have about the world
⢠Whenever you receive a communication, you will go
on an internal quest for meaning (transderivational
search) to establish what it means.
⢠The more abstract the communication, the more
details you will have to supply for yourself and the
more your presuppositions delete, distort and
generalize the communication
23
24. SecretsofAnalysis
Š 2017 Clear View Training Limited
How not to remove cognitive dissonance...
24
presuppositions
deletion,
distortion &
generalization
cognitive map
new information
25. SecretsofAnalysis
Š 2017 Clear View Training Limited
Summary
⢠We hope you have enjoyed
this short introduction to
some of our work
⢠If you liked this presentation,
you will love our book:
25
http://bit.ly/SecretsOfAnalysis