【マネジメント】開発プロセス・手法

アジャイル開発

基本概念

反復型(イテレーション)開発数週間単位の短いサイクル(スプリント)で開発・テスト・レビューを繰り返す。
顧客との継続的なコミュニケーション要件が変わっても柔軟に対応できるよう、顧客と頻繁に話し合いながら進める。
自己組織化されたチームチームメンバーが自律的に動き、役割分担や改善を自分たちで決める。
動くソフトウェアを重視文書よりも、実際に動くプロダクトを優先して価値を提供する。

INVEST

ユーザーストーリー(User Story)の品質を評価するためのチェックリスト。

項目単語意味説明
IIndependent独立している他のストーリーへの依存関係が少ない状態
NNegotiable交渉可能である詳細仕様が固定されすぎていない状態
VValuable価値がある利用者やビジネスに価値を提供すること
EEstimable見積もり可能である工数を見積もれる程度に内容が明確であること
SSmall適度に小さい1スプリント内で完了できる大きさに分割
TTestableテスト可能である完了条件が明確でテストできること

スクラム

SPA(Software Process Assessment)

ソフトウェア開発や保守に関わるプロセスの「成熟度」や「能力水準」を評価するための手法。
目的は、プロセスの品質を可視化し、継続的改善につなげること。
いくつかのフレームワークがある。

SPICE(Software Process Improvement and Capability dEtermination)

ISO/IEC 15504に準拠した国際規格。
ソフトウェア開発プロセスの「改善」と「能力判定」を目的とした評価フレームワーク。

レベル名称説明
0不完全なプロセスが存在しない、または不完全
1実施されたプロセスが実行されている
2管理されたプロセスが計画・管理されている
3確立された標準化されたプロセスが組織内で定着している
4予測可能なプロセスが安定し、予測可能な成果が出る
5最適化している継続的改善が行われている
プロセス能力水準

評価値達成の程度説明
N (Not achieved)0%~15%未達成
P (Partially achieved)15%~50%部分的達成
L (Largely achieved)50%~85%ほぼ達成
F (Fully achieved)85%~100%完全達成
評価値

能力レベルプロセス属性内容
1(実施)PA1.1 プロセス実施プロセスが成果を出しているか
2(管理)PA2.1 実施管理プロセスが計画・管理されているか
PA2.2 成果物管理成果物が適切に管理されているか
3(確立)PA3.1 プロセス定義組織として標準プロセスが定義されているか
PA3.2 プロセス展開標準プロセスがプロジェクトに展開されているか
4(予測)PA4.1 プロセス測定定量的な測定が行われているか
PA4.2 プロセス制御測定結果に基づいて制御されているか
5(最適化)PA5.1 プロセス革新継続的な改善活動が行われているか
PA5.2 プロセス最適化改善が効果的にプロセスに反映されているか
プロセス属性

水準0水準1水準2水準3水準4水準5
PA1.1 プロセス実施L or FFFFF
PA2.1 実施管理L or FFFF
PA2.2 成果物管理L or FFFF
PA3.1 プロセス定義L or FFF
PA3.2 プロセス展開L or FFF
PA4.1 プロセス測定L or FF
PA4.2 プロセス制御L or FF
PA5.1 プロセス革新L or F
PA5.2 プロセス最適化L or F
プロセス属性と評価値およびプロセス能力水準のモデル

CMMI(Capability Maturity Model Integration:能力成熟度モデル統合)

読み方はそのまま「シーエムエムアイ」、米国発。
組織の業務プロセスの「成熟度」を5段階で評価し、改善するためのフレームワーク。

レベル名称概要
1初期(Initial)プロセスが未整備で属人的。場当たり的な対応が多い。
2管理された(Managed)基本的なプロセスが整備され、再現性がある。
3定義された(Defined)プロセスが標準化され、組織全体で共有されている。
4定量的に管理されたプロセスが数値で管理され、品質や効率が予測可能。
5最適化している(Optimizing)継続的な改善が行われ、革新や予防的対応が可能。

KPT

Keep、Problem、Tryの頭文字をつなげたもの。
プロジェクトの振り返りで使うフレームワーク。

  • Try:どうやって解決・改善するか
  • Keep:良かったこと、継続したいこと
  • Problem:悪かったこと、改善したいこと