When we devise plans in Enterprise Architecture, we often propose a multiyear plan with a vision of the end state. The trouble is, before we reach that end state, _something_ comes along to disrupt our grand vision. It may be a business event (acquisition, partnership, divestiture) or a technology event (rise of the web, mobile devices, shift to REST instead of SOA).
Instead of making grand visions, we should focus on continuous adaptation to changing circumstances.
This presentation, from OOP 2012 in Munich, offers 8 heuristics for riding the continuing wavefronts of change.
5. 3. Pitch the plan
Call Now
011 45 72 84 26
Thursday, January 26, 12
6. 1. Start with a caricature
Current State
Thursday, January 26, 12
7. 2. Show the promise
End State
Thursday, January 26, 12
8. 3. Pitch the plan
Legacy Conversion
Year 1 Year 2 Year 3
Vendor Selection Converged
& Pilot Applications
Thursday, January 26, 12
9. 4. Start a new cycle
Legacy crap Year 1 Year 2 Year 3
Legacy crap Year 1 Year 2 Year 3
Legacy crap Year 1 Year 2 Year 3
Previous CIO’s boondoggle Year 1 Year 2 Year 3
Current CIO’s vision Year 1 Year 2 Year 3
Thursday, January 26, 12
10. The “steady state”
is a superposition
of ongoing
wavefronts of
change.
Thursday, January 26, 12
11. Complex Systems
• No “grand narrative”, no privileged vantage point.
• Only locally contextualized views
• Many local optimizations
• Global optimization not possible
Thursday, January 26, 12
12. Complex Systems
One person cannot know the
complete ramifications of a decision.
Thursday, January 26, 12
13. 8 Rules
1. Embrace Plurality
Thursday, January 26, 12
15. Like world peace,
it exists only briefly
and is so very fragile.
Thursday, January 26, 12
16. Obvious Challenges To SSoR
• Mergers & acquisitions
• Partnerships
• Divestitures
• Entering new markets
Thursday, January 26, 12
17. Epistemological Challenges
• “We can only know what we can record.”
• SSoR must choose one representation
• “What is a customer?”
• Any model enables some thoughts, disallows others.
Thursday, January 26, 12
18. Example: Getting SKUd
• What is a Stock Keeping Unit (SKU)?
• Can be sold
• Must be shipped
• Takes up shelf space
• Has a price & cost
• One SKU exists per “kind of thing” that can be sold
• Does not track the individual inventory item
Thursday, January 26, 12
19. Getting SKUd: Changes In One Year
New Market Rendered Irrelevant Added
Shelf space, shipping, Tracking individual
Digital Downloads
fixed cost purchases
Multiple prices &
Partner sales Controlled ID space
shippers per item
Home Installation & 16,000,000 add’l
Renovation SKUs
Thursday, January 26, 12
20. Competing Deconstructions
COGS
Distribution COGS COGS
Stocking Distribution Distribution
Stocking Stocking
Presentation Presentation
Pricing Presentation
Pricing Delivery Pricing
Delivery Inventory Delivery
Inventory Inventory
Entitlements
Thursday, January 26, 12
21. Competing Extents
COGS
Distribution
Stocking
Presentation
All SKUs
Pricing
Delivery
Inventory
Thursday, January 26, 12
24. Multiple Systems Of Record
Hardgoods
Services
Software Partners
Subscriptions Packages
Thursday, January 26, 12
25. Multiple Systems Of Record
Focus on
• Local authorities and spans
• System of identifiers: URNs & URIs
• Representations for interchange
• Enable copies instead of eliminating them
• Representations identify their contributors
Thursday, January 26, 12
26. Multiple Systems Of Record
Enablers
• DNS
• HTTP
• XML
Thursday, January 26, 12
27. Multiple Systems Of Record
Consumers must assume open world
• Cannot embed rules from all sources
• Use service URLs to identify mechanics
• E.g., “price me by posting to this URL”
Thursday, January 26, 12
29. Business Rules Are Contextual
How much information is required?
What is the lifecycle of the entity?
What can it be used for in the current state?
Answers will vary across business units.
Thursday, January 26, 12
30. Example: Comparing Desk Sizes
Equity Fixed-income HFT
per
Frequency per minute per day
microsecond
Size 105 – 106 106 – 107 104 – 106
Execution Ratio ~ 1:1 1:1 1:105
Thursday, January 26, 12
31. Example: Auto Financing
How many rules are the same
between personal auto financing and
fleet vehicle leasing?
Thursday, January 26, 12
43. Prerequisites For An Enterprise
Modeling Project
• Global perspective
• Agreement across all business units
• Talent for abstraction
• Concrete experience in all contexts
• Small enough team to make decisions
Thursday, January 26, 12
44. Prerequisites For An Enterprise
Modeling Project
• Global perspective
• Agreement
• Talent
• Concrete
• Small
for abstraction
∅
across all business units
experience in all contexts
enough team to make decisions
Thursday, January 26, 12
50. Decentralization
Explore market space
Explore solution space
Thursday, January 26, 12
51. Chaos?
What about standards?
What about duplication?
Thursday, January 26, 12
52. Prerequisites
• Transparency
Methods, work, and results must be visible
• Isolation
One group’s failure cannot cause widespread damage
• Economics
Distributed economic decision-making
Thursday, January 26, 12
53. Example: Boeing 777
Aircraft Weight Cost
1 pound gross weight = $ 300 per plane
Source: “Principles of Product Development Flow”, D. Reinertsen
Thursday, January 26, 12
54. Set Tradeoff Policies Centrally
Define balancing forces globally.
Allow local optimization.
Thursday, January 26, 12
55. Misconception:
Centralization == Leverage
Thursday, January 26, 12
56. Leverage?
Centralize IT ➞ Constant budget fight,
features vs. architecture.
Playing “catch up” to business
units.
Thursday, January 26, 12
57. Leverage.
Decentralize ➞ Slivers of other budgets, working
toward shared benefits.
Thursday, January 26, 12
62. Solution Space Failures
Giant bet on a strategy?
“Bet the company” means one shot.
Thursday, January 26, 12
63. Value Of Modularity
Splitting Excluding
Substitution Inversion
Augmenting Porting
Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000.
Thursday, January 26, 12
64. Value Of Modularity
Options
Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000.
Thursday, January 26, 12
65. Value Of An Option
Profit
Positive Payoff
Negative Payoff
(do not exercise)
Value at exercise
“long call”
Thursday, January 26, 12
66. Value Of An Option
Profit
Positive Payoff
Negative Payoff
(do not exercise)
Value at exercise
“long call”
Thursday, January 26, 12
67. Negative Option Value
Failed system or failed business unit == negative value option.
Isolate the failure, use modularity options.
Thursday, January 26, 12
68. Example: Trading Company
Many small applications, integrated by messaging.
Cheaper to rewrite than maintain individual apps.
Thursday, January 26, 12
77. “Hexagonal Architecture” Or
Ports & Adapters
System Boundary
Feeds out
Feeds in
ad
ap
ter pte
r Databases
a
ad
r
a pte
ad
ad
Users ap
ter
Domain
ad
ap
ter ELinux: Disabled at runtime.
SELinux: Unregistering netfilter hooks
type=1404 audit(1316273329.901:2): selinux=0 auid=4294967295 ses=4294967295
input: PC Speaker as /class/input/input0
r
netfront: Initialising virtual ethernet driver.
pte
netfront: device eth0 has copying receive path.
netfront: device eth1 has copying receive path.
Floppy drive(s): fd0 is unknown type 15 (usb?), fd1 is unknown type 15 (usb?)
a Failed to obtain physical IRQ 6
ad
floppy0: no floppy controllers found
work still pending
lp: driver loaded but no devices found
ad md: Autodetecting RAID arrays.
md: autorun ...
ap
ter
Monitoring
Admins
Metrics
http://alistair.cockburn.us/Hexagonal+architecture
Thursday, January 26, 12
81. Improve by building on the work of others.
It’s not eliminating duplication or reducing cost.
But costs will come down as a result of being better.
Thursday, January 26, 12
82. Prerequisites
• Visible work:
• Internal blogs
• Open code repositories
• Modern search engine (homegrown is fine)
Thursday, January 26, 12
83. Beware: Budget Culture
• Contributions are disruptions
• Inquiries are alarming.
• They presage a budget annexation attack.
Thursday, January 26, 12
84. Engineering Culture
• Default to open sharing
• Every app should have links to:
• Team blog
• Bug submission
• CI server
Thursday, January 26, 12