コンテンツにスキップ

付録 — 年表、用語集、一次資料

年は「業界の共有語彙になった年」を優先している。

年言語データアーキテクチャ/デリバリー組織/計測契約・設計記述
1968Dijkstra「Go To」Conway の法則、NATO ソフトウェア危機
1970Codd 関係モデルRoyce(ウォーターフォールの図)
1972Parnas 情報隠蔽
1979Constantine/Yourdon 結合と凝集Oracle V2
1983ACID(Härder/Reuter)、DB2
1986SQL が ANSI 標準
1987Saga(Garcia-Molina/Salem)
1989ITIL、CAB
1991CORBA
1994GoF デザインパターン8つの誤謬(Deutsch)
1995Java
1997UML 1.1 が OMG 標準
1998EJBRUPXML 1.0
1999SOAP、XSLT
2000CAP(Brewer)REST(Fielding)
2001アジャイル宣言WSDL、XML Schema、MDA、YAML
2002分散オブジェクト第一法則、PoEAA(ActiveRecord)、API mandate
2003memcachedDDD(Evans)
2004Rails、CoCSOA 4テネット(Box)
2005Django、CakePHP、symfonyPuppetAjax
2006BigTable 論文JSON(RFC 4627)
2007Dynamo 論文、Helland
2008YiiCassandraNetflix 大障害
2009Node.js、GoMongoDB10+ Deploys、devopsdays、SOA マニフェスト
2010Continuous Delivery
2011Kafka、pt-osc12-factorADR
2012TypeScriptSpanner 論文blameless postmortem
2013Docker
2014SwiftAuroraマイクロサービス命名、Kubernetes、LaunchDarklyDORA 調査開始
2015Rust 1.0、PHP 7、PEP 484CockroachDBOpenAPI、gRPC
2016gh-ost、TiDBSRE 本
2017Kotlin 公式化Istio、進化的アーキテクチャ
2018MySQL INSTANT DDLプログレッシブデリバリーAccelerateC4 モデル
2019Team Topologiessqlc
2020Ruby 3 RBSpackwerkBackstage 公開
2021CopilotHard PartsSPACE
2022Aurora Blue/GreenOpenFeature
2023Prime Video 事例DevEx、生産性計測論争
2024-26エージェント並行開発DORA AI レポート

概念は傷の圧縮である。この表は、どの傷がどの概念を生んだかを引くためのもの。

概念生んだ傷部
情報隠蔽格納形式を1つ変えると全モジュールが変わるプロローグ
正規化同じ事実を2箇所に書いて食い違うプロローグ
GCfree を忘れる、2回呼ぶ第1部
ACID途中で落ちてデータが半分だけ書かれる第1部
8つの誤謬、分散オブジェクト第一法則ループの中のリモート getter、部分故障第1部
SOA の4テネット実装の型を共有して相手の内部に結合する第1部
賢いエンドポイントと土管のパイプESB チームが全社のボトルネックになる第1部、第3部
Convention over Configurationクラスを1つ足すのに XML を3ファイル直す第1部、第2部
UML はスケッチとして締切の夜に図だけが古くなる(MDA)第1部
Data Mapperドメインと DB と表示が1クラスに同居する(神クラス)第2部
オンラインスキーマ変更ALTER TABLE が数時間テーブルをロックする第2部、第4部
スキーマの復権スキーマがアプリコードに暗黙のまま散乱する第3部
境界づけられたコンテキスト「顧客」の意味が部署ごとに違うのに1つにする第3部
Saga、冪等キー、outbox境界を跨ぐトランザクションが無い、メッセージが重複する第3部
アーキテクチャ量子分けたつもりで同時デプロイが要る(分散モノリス)第3部、第4部
blameless postmortem責められるので情報が隠され、同じ事故が繰り返す第3部
漸進的型付け全部を一度に型付けできないで移住できない第4部
適応度関数文書に書いた境界がレビューをすり抜ける第4部
デプロイとリリースの分離操作が1つしかなく、戻すと全部戻る第4部
エラーバジェット信頼性と速度の口論が毎回起きる第4部
Four Keys「変更を減らせば安全」を誰も反証できなかった第4部
逆コンウェイ戦略組織図の形がそのままシステムになる第4部
スキーマ駆動生成ドキュメントと実装、SQL と型がズレる第5部
expand/contract新旧バイナリが同じ DB を触る間に壊れる第5部
3軸の分離可逆な軸を先に動かし、不可逆な軸を放置する第5部
ゴールデンパス文化は説得だが、説得は続かない第5部
SPACE単一指標がゲーム化して腐る第5部
  • プロローグ: Conway「How Do Committees Invent?」(1968) / Parnas「On the Criteria To Be Used in Decomposing Systems into Modules」(1972) / Codd「A Relational Model of Data for Large Shared Data Banks」(1970) / Dijkstra「Go To Statement Considered Harmful」(1968)
  • 第1部: Fowler『Patterns of Enterprise Application Architecture』(2002、分散オブジェクト第一法則と ActiveRecord) / Deutsch「Fallacies of Distributed Computing」 / Box「A Guide to Developing and Running Connected Systems with Indigo」(MSDN 2004、4テネット) / Fowler『UML Distilled』 / OMG「MDA Guide」(2003)
  • 第2部: Rails の「Doctrine」(dhh) / Crockford「The application/json Media Type」(RFC 4627) / Fielding 博士論文第5章(REST)
  • 第3部: Allspaw/Hammond「10+ Deploys Per Day」(Velocity 2009) / DeCandia 他「Dynamo」(SOSP 2007) / Fowler/Lewis「Microservices」(2014) / Evans『Domain-Driven Design』(2003) / Garcia-Molina/Salem「Sagas」(1987) / Helland「Life beyond Distributed Transactions」(CIDR 2007) / Brewer「CAP Twelve Years Later」(2012) / Allspaw「Blameless PostMortems」(Etsy 2012)
  • 第4部: Corbett 他「Spanner」(OSDI 2012) / Beyer 他『Site Reliability Engineering』(2016) / Forsgren/Humble/Kim『Accelerate』(2018) / Skelton/Pais『Team Topologies』(2019) / Ford/Parsons/Kua『Building Evolutionary Architectures』(2017) / Governor「Towards Progressive Delivery」(2018)
  • 第5部: Ford 他『Software Architecture: The Hard Parts』(2021) / Forsgren 他「The SPACE of Developer Productivity」(ACM Queue 2021) / Noda 他「DevEx: What Actually Drives Productivity」(2023) / DORA「State of DevOps Report」(2024)、「State of AI-assisted Software Development」(2025) / Shopify「Deconstructing the Monolith」(2019)
  • 概念⇔実装の対応: greenfield リポジトリの docs/conventions/ と docs/verification-log/(各概念の実験と証跡)