2011/12/20

BI Publisherの生産性 (Productivity of Oracle BI Publisher)


Oracle BI Publisherに限らず、一般的な帳票ツールの導入が開発の効率を向上させることはよほどの間違いがない限り確実といってよいと思われます。しかしながら、どの程度の効果があるかという点については明確な答えがありません。
今回はファンクション・ポイント(FP: Function Point)の算出におけるOracle BI Publisherの言語生産性について考察します。
※記事の中の値および計算過程はいかなる効果も保証しません。また、VAF(調整係数)は考慮しません。

【帳票のファンクション・ポイント】
今回の記事では帳票を中程度の外部出力(EO: External Output)として平均化し、ファンクション・ポイントを5として見積もります。詳細は以下のURLを参照してください(英語)。
http://www.devdaily.com/FunctionPoints/


【開発工数】
開発工数の見積もりは、設計書やテストの粒度をどの程度想定するかに大きく依存します。
BI Publisherを採用した場合、標準的な集計表であれば実装(コーディング)そのものは1人日以下で対応可能と想定できます。
実装以外の設計やテスト、およびそれらのレビュー、オーバーヘッドに関わる工数はプロジェクトのポリシーに従ってゼロから4人日程度を想定します。


【言語生産性の算出】
1か月の稼働は20日ですので、1人月で開発可能な帳票の数は以下の様に見積もり算出されます。
  • 実装のみを見積もるパターン: 20days / (1day + 0day) = 20reports
  • 設計やテストに厚みを想定するパターン: 20days / (1day + 4days) = 4reports

これらの値を単純に掛け合わせ、言語生産性を算出します。
  • 実装のみを見積もるパターン: 20reports * 5points = 100points
  • 設計やテストに厚みを想定するパターン: 4reports * 5points = 20points
「詰め込めば何とか開発できる」という帳票ツールの性質が数値に現れたとも言えます(あまり良いことではありませんが)。


【補足】
ファンクション・ポイントに関わる係数は担当者の練度や対象システムの性質、組織の文化に大きく依存します。本記事で算出された値はあくまでもサンプルであり、実際の見積もりにおいては係数を個別に見直す必要があります。


[Summary]
Calculate the Productivity of Oracle BI Publisher.


[Function point of a report]
Consider all report as External Output (EO) with medium difficulty: Its FP is defined as 5 points.
(*) For more details, please refer to the following URL:
http://www.devdaily.com/FunctionPoints/


[Development Volume]
The Development Volume depends on how much you contribute supplemental tasks - such as documents, review and testing.
With BI Publisher, you can develop an ordinary report in a day or less.
For the supplemental takes, around zero to four days, depend on your project policy.


[Productivity]
The numbers of reports that you can implement in a month (20 days):
  • Maximum performance (without supplemental takes ): 20days / (1day + 0day) = 20reports
  • With supplemental takes: 20days / (1day + 4days) = 4reports
The productivity is:
  • Maximum performance (without  supplemental takes): 20reports * 5points = 100points
  • With supplemental takes: 4reports * 5points = 25points


[Note]
The values above do not guarantee accuracy.  VAF is excluded.  Please find your own values.

0 件のコメント:

コメントを投稿