ソフトウェア開発の生産性
令和6年度 秋期 プロジェクトマネージャ試験 午前Ⅱ問題 問9 の解答と解説を示す。
あるソフトウェア開発部門では,開発工数 E (人月)と開発規模 L (k ステップ)との関係を,E = 5.2L0.98 としている。L = 10 としたときの生産性(k ステップ/人月)は,およそ幾らか。
この問題は,ソフトウェア開発プロジェクトにかかる工数や期間などを見積もる手法の一つ COCOMO (Constructive Cost Model) の問題である。COCOMO は,1981 年に TRW 社のバリー・ボーム(Barry W. Boehm)氏が提唱したもので、過去のソフトウェア開発プロジェクトから得られたデータを元に構築された統計的なモデルである。
ソフトウェア開発の生産性
令和6年度 秋期 プロジェクトマネージャ試験 午前Ⅱ問題 問9 の条件で,ソフトウェア開発の生産性を Matlab / Octave で計算する。なお,計算では開発規模 を 1 ~ 100 k ステップの範囲とした。
K = 5.2;
t = 0.98;
number_of_steps = 1:1:100;
person_month = K * number_of_steps.^t;
productivity = 1/K * number_of_steps.^(1-0.98);
figure(1)
plot(number_of_steps, person_month);
xlabel('number of steps [k steps]');
ylabel('person month');
grid on;
figure(2)
plot(number_of_steps, productivity);
xlabel('number of steps [k steps]');
ylabel('productivity [k steps/(person month)]');
ylim([0, 0.25])
grid on;
開発工数
計算した開発工数を示す。本問の条件では,開発規模と開発工数は,ほぼ比例する。
生産性
計算したソフトウェア開発の生産性を示す。L = 10 としたときの生産性(k ステップ/人月)は,およそ 0.2 となる。また,開発規模が大きくなっても,ソフトウェア開発の生産性は,ほぼ横ばいとなる。