Beautiful Architecture

(avery) #1

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

Free download pdf