iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
ソフトウェア開発の色んな局面で出てくるものとして、ルールか出来ない領域だとは分かるが、ルール化による基準を設けないと、結果の検証が出来ず、次に繋がらない。規模の見積もりも同様だろう。
過去の経験から規模を予想する方法は、人によって結果の差があったり、ちょっとした差異の影響を結果に取り込む事ができないという課題があるが、経験が少ないと、予想できないという問題がある。個人で仕事をやっていて先輩のアドバイスを聞けない場合やスタートアップ時は、これは辛い。
それで、色々調べてみて見つけた方法を紹介する。
例えば、アンケート等で得られた情報から、その国の国民について予測する方法があると思う。それと同じ考えだ。
全体の個数が分かるという考えから、要件から開発する機能をリストアップし、それをある程度の粒度に分割する。
その中から、数個選んでプロトタイプを作成する。そもそも、アプリケーション開発では試してみないと分からない部分があり、事前にプロトタイプを作成すると思うが、それを規模の見積もりに利用するという事だ。
作成したプロトタイプのステップ数を計算する。
次に標本平均と標準偏差を計算する。そして、以下の計算式から、95%と99%の下限・上限の推定値を計算する。
具体的な計算方法については、『SEのための見積りの基本』に計算用のExcelファイルの作り方が説明されているので、それを参考にして欲しい。
実際やって気がついた事は、本当に無作為抽出になっているか?だ。プロトタイプが作りやすい項目が選ばれていないか?プロトタイプもきちんと完成させるところを省略しがちなので、選択する機能の項目には偏りが発生していると思われる。なので、精度を高めるには、機能分割の方法と、プロトタイプを作成する機能が、ある機能の一部というより、それ自体が独立した小さな機能になるように心がけるということかな?と思っている。