ひがやすを技術ブログ

電通国際情報サービスのプログラマ

生産性

Seasar2 + S2Dao + Flex + くーすを使った開発のメトリクスが取れたので、一部発表します。
対象は、マスタメンテ系の画面です。マスタメンテ系といってもFlexなので、HTMLに比べると凝ったことをしてます。工程は、内部設計 + 実装 + テスト。
1人が、Flex、業務ロジック、Dao、DTOをすべて担当するとします。1人月あたりのコメントを除くステップ数でメトリクスを取るとします。結果は、

Javaの行数が大きめですが、インターフェースと実装を分離しているということと、Dao,Entity,DTOはロジックを含んでないということが原因としてあげられると思います。
テストの行数が多いのは、DIによってテスタビリティが上がったためでしょう。
1画面あたり0.4強の人月で開発できているので、生産性は悪くないと思います。
DI(くーす)を使ったときの特徴として、コードの量は増えますが、各クラスの役割がはっきりしているので、コードを安定して量産できるということが挙げられると思います。また、テスタビリティが上がるため品質が向上するということも見て取れます。これだけきちんとテストが行われているということも驚きではないでしょうか。もちろん、人によってばらつくことも少なくなります。
他にメトリクスを取った方がいれば、比較しながらその原因を分析しませんか。DIを使わない普通の開発のものがあれば、かなり面白い比較が出来ると思います。