🎉

開発手法における用語まとめ

2024/04/29に公開

概要

開発を行なっていると、代表的な考え方・概念から用語まで、幅広く色々キーワードが出てくる。
本記事は、そういったキーワードを簡潔にまとめることを目指している。
今回は、主に開発手法において要点を整理しようと考えている。
※アップデートがあって然りなので、随時更新していく。

開発手法

ウォーターフォールとアジャイル

解説は、以下の記事が詳しいため、図表等も引用しまとめる。
https://service.shiftinc.jp/column/4850/

ウォーターフォール

上流工程から下流工程へという流れでシステム開発を行う手法
計画駆動型開発(QCD制約の強い大規模開発で利用される)
①用件定義→②基本設計→③詳細設計→④コーディング→⑤テスト→⑥リリース

V字モデルの対照関係

アジャイル

大まかな計画を細分化して要件定義・設計・実装・テスト(イテレーション)を何度も繰り返す開発手法
変化駆動型開発。方法論については後述。

SoEとSoR

SoR(System of Record)とSoE(System of Engagement)
メドレーさんのこの解説がイメージを理解しやすい
https://codezine.jp/article/detail/15705?p=2

※ 直近は、データ活用のSoI(System of Insight)の概念も発生している。

アジャイルの方法論

スクラム

反復増加型ソフトウェア開発チームに適用するプロジェクト管理フレームワーク
自律的なチームを早期に形成できる。

「プロダクトオーナー」「スクラムマスター」「開発チーム」で組織。

プロセスは、主に以下の4つ。

  1. スプリントプランニング
  2. デイリースクラム
  3. スプリントレビュー
  4. レトロスペクティブ

解説は、以下の記事が詳しい。
https://www.fujitsu.com/jp/services/agile/featurestories/about-agile-01-02.html

XP:eXtreme Programming

ソフトウェアの開発現場における経験則の指針(「極端(=エクストリーム:extreme)」に実践する)

5つの価値

  1. コミュニケーション
  2. シンプル
  3. フィードバック
  4. 勇気
  5. 尊重

プラクティスは、こちらの資料のP37がわかりやすく、引用する。

「エンジニア」「テスタ」のみならず「コーチ」「トラッカー」「顧客」などの役割も存在。

その他の開発手法

リーンソフトウェア開発

製造業を中心に展開されているリーン生産方式を、ソフトウェア製品に適用した開発手法
リーン生産方式は、特にトヨタ生産方式を研究し、それを一般化・再体系化した際に付けられた名称

  1. ムダをなくす
  2. チームの学習を強化する
  3. 決定をできるだけ遅らせる
  4. できるだけ早く提供する
  5. 権限を移譲する
  6. 全体を最適化する
  7. 品質を作り込む

この記事が分かりやすくまとまっている。
https://products.sint.co.jp/obpm/blog/lean-software-development

リーンスタートアップとMVP

リーンスタートアップとは、できるだけ少ない費用や手順で最低限の製品を作り、顧客の反応を繰り返し確認することで方向性を定め、ビジネスを無駄なく回していくマネジメント手法のこと

MVP(Minimum Viable Product)とは、その仮説検証を行う際に作られ「必要最小限の価値を備えた商品やサービス」を指す。

それぞれ、以下の2つのページがわかりやすい。
https://wework.co.jp/contents/knowledge/case230
https://www.startuplist.jp/alliance_posts/67

テスト駆動開発

「テスト→実装→リファクタリング」を何回も繰り返してプロダクトを成長させていくような開発手法
「レッド→グリーン→リファクタリング」の基本サイクルを繰り返し、綺麗なコードを書いていく。

以下のページがわかりやすい。
https://service.shiftinc.jp/column/4654/


記事をお読みいただき、ありがとうございました!
もし参考になったと感じましたら、「いいね」や共有など頂けたら嬉しく思います!
何卒よろしくお願い致します!

Discussion