- Flow
- 顧客に対するDeveloptmentからOperationまでのデリバリーを加速させる
- Feedback
- より安全なシステムを可能にする
- Continual Learning and Experimentation
- 組織的発展のための信頼性の高い文化と科学的手法を育む
- DevOpsは以下の2つの考えを元にしている。
- Lean(リーン生産方式)
- Agile(アジャイルソフトウェア開発)
- トヨタ生産方式を研究して編み出された方式
- 以下の2つを融合することで、組織全体の全体最適を追求した生産管理方式(マネージメントシステム)。
- 暗黙知ベースの、ボトムアップ型 (旧来の日本の製造業の生産システムに多い)
- 形式知ベースの、トップダウン型の知識
- 7つの原則
- ムダをなくす
- 知識を作り出す
- 決定を遅らせる
- 速く提供する
- 人を尊重する
- 品質を作り込む
- 全体を最適化する
- keyward
- ソフトウェア工学において迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称
- 開発業務において、どれだけのコストをかけて(「いつまでに」「いくらで」「何人で」など)ある作業を終えられるか予測を立てる「見積もり」が重要である。
- ウォーターフォール開発での見積もり
- 多くの場合、見積もりが失敗に終わっていた
- なぜなら、「全ての要求は予め全て決定できる」という前提で開発をおこなっていから。
- 以下の理由から「全ての要求は予め全て決定できる」は偽とするべき
- 以前よりも開発するシステムの規模は大きくなっているから。
- 要求は開発中に変化しうるものだから。
- 開発が進むに従って、新しい要求が見えてくることがあるから。など
- 以下の理由から「全ての要求は予め全て決定できる」は偽とするべき
- Agile開発での見積もり
- 「全ての要求を予め全て決定できる」を前提としない。
- 「見積もりは後工程になるほど不確実性が減る」という特性に着目している
- 「要件定義」->「設計」->「実装」->「テスト」->「運用」と進むに連れて見積もりの不果実性は減る
- したがって、下記の2ではなく1の手法のほうが、ある作業に対して早い段階で精度の高い見積もりができる
- 「優先度の高い作業Aに着目し、要件定義から運用まで終えた後、次に優先度の高い作業Bに取り組む」
- 「要件定義をすべて終えてから設計に進み、設計をすべて終えてから実装にすすみ、・・・」
- XP
- スクラム
- かんばん
- テスト駆動開発