無料ブログはココログ

« イノベータに必要な能力 | トップページ | イミュータブル容易化設計 »

[#Agile] ソフトウェアの価値とアジャイル開発

ソフトウェアの価値とは何か?色々な議論があるかと思いますが、規模、対価、顧客満足から考えてみます。

規模尺度

ソフトウェア工学でソフトウェアの価値と呼べそうなものに規模の尺度があります。

規模尺度はメトリクスから始まっています。最初に注目されたのはソースコードの行数(LOC)です。行数は工数との相関が高く、LOCとソフトウェアなどの特性から開発工数を見積もるCOCOMOが生まれたほか、工数あたりのLOCから生産性の尺度、KLOCあたりの障害数から品質の尺度が生まれました。

しかし、ソース行数はプログラム言語によって異なることから、言語に影響を受けない機能数を基準としたファンクションポイント(FP)が生まれました。統計情報からFPの機能規模から工数や行数を求めることもできます。

これらの規模は技術的な価値を示すものです。工数との関連を示すメトリクスとしての意義はあるものの、直接ビジネス上の価値を示すものではありませんでした。

対価尺度

対価尺度としてはビジネス上の価値である売上が考えられます。ソフトウェア開発では、工数に単価を乗じたものの合計が見積もりや売上になります。外販するパッケージやサービスの場合は、総売上がそのソフトウェアの価値になります。

売上を価値とする方法は独占販売では価値が高く大きくなり、競合が存在する場合は価値が低くなります。これは一般的に「価値がある」と言う場合の価値に近いものになります。

その反面、運用のコストがかかる場合やハードウェアに付随する場合、オープンソースのプログラムでは、ソフトウェア単独の価値を適正に示すことが難しくなります。

顧客満足

顧客満足を価値とした場合は、開発するメリットが価値になります。アジャイル宣言の背後にある原則には、

 「顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。」

とされ、顧客満足を基準としてソフトウェアの価値を高めようとしています。

また、「わかりやすいアジャイル開発の教科書」には、以下のように書かれています。

ソフトウェアの開発を委託する顧客は、「このソフトウェア/システムがあれば業務効率が上がって収益が上がるはずだ」など、そのソフトウェア/システムに対して費用を払って得られる利益を期待しています。その利益が顧客にとってのソフトウェアの価値になります。(p.32)

アジャイル開発では、ソフトウェアの規模でも、そこから得られる売上でもなく、売上からコストを引いた利益が基準になります。これはリーンキャンバスやビジネスモデルキャンバスで収入だけでなくコストも考慮することや、アメーバ経営の「売り上げを最大に、経費を最小に」という原則と付加価値のメトリクスである「時間当り採算」とも一致し、よりビジネスに近い価値の基準であることがわかります。

また、オープンソースのソフトウェアについても、開発者やコミュニティが顧客であると考えれば、顧客満足を基準に開発していると言えるでしょう。

顧客満足のメトリクスとバックログ

利益を基準としない顧客満足もあります。この場合は、ヒアリングやアンケートが主な計測方法になります(最近はTwitterやSNSの情報も利用される様です)。これは、ユーザビリティテスティングでも利用される方法です。

ここで注意しないと行けないのは、規模や対価は絶対値を示す比例尺度であるのに対して、顧客満足度は利益を除くと相対的な順序尺度であることです。

仕様を決める場合を考えると、最低限必要な機能がどこまでかは比較的明確かもしれません。しかし、追加機能は個々の機能による利益や、心地良い体験(UX)を絶対量で示しにくいので、相対的な順序づけが合理的です。

アジャイル開発ではこのように顧客満足に応じて順序付けられたバックログを、優先順位にそって順次開発していきます。バックログは常に見直されるので、常に顧客にとっての価値を最大化できます。

アジャイル開発におけるソフトウェアの価値

アジャイル開発の価値が利益であっても、メンバーの増減がなければ価値の順序は売上の順序と変わりませんので、あまり厳密に議論する必要はないかもしれません。

しかしビジネス上の価値を考えると、いつ黒字になるのか、いつどの程度の利益が得られるかは重要な関心事です。もし、XXまでに必ず黒字化する、YYまでに何が何でも利益をZZにする、と決めるなら、人を増員あるいは減員できるのでソフトウェアの価値には利益の方がふさわしいと思っています。

以上のことから、アジャイル開発に置けるソフトウェアの価値は「利益」あるいは「メリット」だと思います。

なお、アジャイル開発では原則やプラクティスの上位にある価値もありますが、これは「価値観」と呼ぶ方が良いと思っています。


« イノベータに必要な能力 | トップページ | イミュータブル容易化設計 »

私のアジャイル」カテゴリの記事

コメント

この記事へのコメントは終了しました。