デプロイの遅さが会議を引き起こす
- ソフトウェア設計は人間関係の練習である。ソフトウェア開発で使う他の技術も同様だ。
- 「コードをデプロイする暇がないほど会議が多い」というエンジニアの不満は、デプロイ容量の上限のために起きている可能性がある。
- チャック・ロッシはFacebookで、1回のデプロイで処理できる変更点の数が固定されていると観察した。より多くの変更が必要なら、より多くのデプロイが必要になる。
- Facebookは過去5年間で、デプロイのペースを週1回から毎日、1日3回へと増やしており、モバイルアプリのデプロイサイクルも6週間から4週間、2週間へと短縮している。
- 「1デプロイあたりの変更点数」は非弾力的な指標であり、改善は可能だが時間がかかる。変更点数が現在の閾値を超えると、変更点数を減らさなければならない。
- 組織的オーバーヘッドを増やすと、正のフィードバックループが始まる: 作業量の減少 -> プレッシャーの増加 -> ミスの増加 -> 1デプロイあたりの変更点数減少 -> オーバーヘッド増加 -> 作業量の減少。
- より多くの変更点を処理するためには、デプロイ容量を増やす必要がある。デプロイサイクルを短縮するか、1デプロイあたりの変更点数を増やす方法がある。
- オーバーヘッド削減の試みは、最終的に会議へつながることがある。これは、過剰なコードをデプロイしようとする試みを抑制する。
ソフトウェア設計: Tidy First?
- ソフトウェア設計は人間関係の練習である。技術を磨くことは、関係を改善する方法の1つである。
2件のコメント
この意見はいいですね
Hacker Newsコメント
デプロイのリスクを下げる方法としてテストと組織の特性を改善することは重要だが、唯一のアプローチではない
「ソフトウェアリテラシー」という概念を説明しようとしている
CIパイプラインでテスト時間が長くなったため、リカバリに注力することにした
組織はデプロイ改善を阻害する可能性がある
大きな変化への恐れからテストが増える
CloudFormationが遅い理由に関する質問
マイクロサービスはデプロイ頻度を水平に拡張できる
ソフトウェアのパフォーマンス、つまり人間のパフォーマンスが重要
高速デプロイはインシデント対応会議を引き起こす