📝用語集
すぐに何のことだったか忘れてしまう難しい単語を記録していくページです。
法則系
コンウェイの法則 (Conway’s law)
システムを設計するあらゆる組織は、必ずその組織のコミュニケーション構造に倣った構造を持つ設計を生み出す。
- 言い出した人: Melvin Conway
- 初出: How Do Committees Invent? [1968.4]
- 関連書籍
- 人月の神話【新装版】 (第10章) [2014.4]
- マイクロサービスアーキテクチャ (第10章) [2016.2]
パーキンソンの法則 (Parkinson’s law)
仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する
- 言い出した人: Cyril Northcote Parkinson
- 初出: Parkinson’s Law: The Pursuit of Progress [1958]
- 関連書籍
- ピープルウェア 第3版 (第5章) [2013.12]
ピープルウェアでは、パーキンソンの法則はソフトウェア開発には当てはまらないと主張している (第5章)。
自分の部下をパーキンソン流に扱っても、何の効果もない。そんなことをしたら、プログラマーの品位を落とし意欲をくじくだけである。
不合理かつ非現実的なスケジュールを立てるのが、上司か開発者自身かは大した問題ではない。成功する見込みが全くない状況に置かれると、効率の良い仕事をしなくなる。
その上で、次のような手直し版を示している。
会社のルーチンワークは、就業時間に見合うところまで膨張する傾向がある。
ブルックスの法則 (Brooks’s law)
遅れているソフトウェアプロジェクトへの要員追加は、プロジェクトをさらに遅らせるだけだ
- 言い出した人: Fred Brooks
- 初出: The Mythical Man-Month [1975]
- 関連書籍:
- 人月の神話【新装版】 (第2章) [2014.4]
ポステルの法則 (Postel’s law)
送信するものに関しては厳密に、受信するものに関しては寛大に
- 言い出した人: Jon Postel
- 初出: RFC 761 - DoD standard Transmission Control Protocol
- 関連書籍:
- マイクロサービスアーキテクチャ (第4章) [2016.2]
マニフェスト系
アジャイルマニフェスト (Manifesto for Agile Software Development)
プロセスやツールよりも個人と対話を
包括的なドキュメントよりも動くソフトウェアを
契約交渉よりも顧客との協調を
計画に従うことよりも変化への対応を
- 言い出した人: Agile Alliance (Kent Beck et al.)
- 初出: Manifesto for Agile Software Development [2001]
12の原則も併せて参照のこと。
リアクティブ宣言 (The Reactive Manifesto)
求めるものは、即応性と、耐障害性と、弾力性と、メッセージ駆動とを備えたシステムだ。我々はこれをリアクティブシステム (Reactive Systems) と呼ぶ。
- 言い出した人: Jonas Bonér (Sweden), Dave Farley , Roland Kuhn , and Martin Thompson
- 初出: The Reactive Manifesto [2013.9]
The Twelve-Factor App
コードベース、依存関係、設定、バックエンドサービス、ビルド・リリース・実行、プロセス、ポートバインディング、並行性、廃棄容易性、開発/本番一致、ログ、管理プロセス
- 言い出した人: Adam Wiggins
- 初出: Heroku 12 factor [2011]
- 関連書籍
- マイクロサービスアーキテクチャ (第2章) [2016.2]
ことわざ
銀の弾丸
魔法のように、すぐに役立ちプログラマの生産性を倍増させるような技術や実践
(そんなものはある訳がない、というニュアンスで)
- 関連書籍:
- 人月の神話【新装版】 (第16章) [2014.4]
- マイクロサービスアーキテクチャ (第1章) [2016.2]
金のハンマー
気に入った方法が、あらゆるところで利用できると思い込むアンチパターン
- 関連書籍
- マイクロサービスアーキテクチャ (第1章) [2016.2]
- SQLアンチパターン (第24章) [2013.1]
ループは人の技、再帰は神の技
L. Peter Deutsch の言葉。
- 関連書籍
- プログラミング Elixir (第10章) [2016.8]