In 2005, my colleagues and I from Advanced Technologies Integration (ATI) in Minneapolis
worked together with developers from LPS to roll out a new system to do exactly that.
Capabilities and Constraints
Two dynamics drive a system’s architecture: What must it do? What boundaries must it work
within? These define the problem space.
We create, and simultaneously explore, the solution space by resolving these forces, navigating
the positive pole of required behavior and the negative one of limitations. Sometimes we can
create elegance, and even beauty, when the answers to individual constraints mesh together
into a coherent whole. I’m happy to say that the Creation Center project did just that.
On this project, we faced several incontrovertible facts. Some are just the nature of the business;
others could change, but not within our scope. Either way, we regarded these as immutable.
These facts make up the left column in Figure 4-1.
Support Product Family
UI and UI Model
Modules and Launcher
Kiosk-Style GUI
Database Migrations
Ubiquitous GUIDs
Immutable Data
Render Farm
Interchangeable
Workstations
Decentralize Rollout
Apply Conway’s Law
Scale Production Horizontally
Minimize Training Need
Minimize Risk of Downtime
Minimize Cost of Support
Minimize Cost of Deployments
FactsFacetsForces
Several Brands
Networks Are Fallible
Customers Expect Own Products
Production Throughput Is Important
Studios Are Remote
Production Is Centralized
Associates Are Photographers,
Not Graphic Artists
FIGURE 4-1. Facts, forces, and facets of Creation Center’s architecture
Several brands
LPS supports multiple brands today and could add more in the future. At a minimum,
Creation Center would have two visually distinct skins, and adding skins should not
require extensive effort.
64 CHAPTER FOUR