Yazılım tasarım desenleri ilk bakışta soğuk bir mühendislik sözlüğü gibi görünür: Singleton, Observer, Factory, Adapter… Oysa biraz yaklaşınca bu desenlerin sadece kodu değil, toplumu da tarif ettiğini fark ederiz. Çünkü insan kalabalıkları da tıpkı büyük yazılım sistemleri gibi karmaşıktır; tekrar eden problemler üretir, bu problemlere pratik çözümler bulur ve sonra bu çözümleri gelenek, rol, unvan ya da karakter diye paketler. Mahalledeki her şeyi bilen teyze ile bir olay olduğunda anında haberdar olan Observer deseni arasında sandığımızdan az mesafe vardır.
Design pattern dediğimiz şey, aynı türden problemlere defalarca verilmiş sınanmış cevaptır. Kod dünyasında bu, geliştiricinin her seferinde sıfırdan kahramanlık yapmasını engeller. Toplumda da roller benzer bir iş görür. Öğretmen, arabulucu, asi genç, bilge ihtiyar, düzen koruyucu, girişimci, günah keçisi… Bunların her biri sosyal sistemin tekrar eden gerilimlerine verilmiş kalıplaşmış çözümlerdir. Klişe olmaları onları değersiz yapmaz; tam tersine, klişe dediğimiz şey çoğu zaman kültürel hafızanın önbelleğidir.