概算工数の出し方

概算です。実際の工数は、習熟度・テストの自動化の程度・業務の回帰テストの範囲で変わります。

出し方

  1. バージョンページの手順3「利用箇所を探して数える」で、検索語ごとの件数を数える(利用箇所の調べ方)
  2. バージョンページの「工数の目安」の件数欄に入れる。区分ごとに小計と合計が出る
  3. 「別途見積もり」と出た項目(実行環境の変更・代替技術への移行)は、計算に入っていません。担当者と個別に見積もる
  4. 「未確認のため計算に入れていない作業」と出た項目は、自分で確かめて、要るなら区分を選んで足す

区分と単価

区分 作業 数える単位 1単位の工数 含むもの
A 基本作業 経路ごとに1回 0.5 人日 準備・依存定義のバージョンの書き換え・ビルド・既存の自動テストの実行・WAR の確認・再スキャン・記録(業務の回帰テストは含まない)
B 座標・関連モジュールの変更 変える依存定義の数 0.1 人日 座標の書き換え・関連モジュールの追加とバージョンの統一
C import の機械置換 置き換えるファイルの数 0.02 人日 IDE の一括置換と、置換結果の確認
D 廃止 API の書き換え(単純) 利用箇所の数 0.1 人日 名前・引数の置き換えで済むもの
E 廃止 API の書き換え(構造的) 利用しているクラスの数 0.5 人日 仕組みが変わるもの(例:旧クライアント API → JAX-RS Client、インターセプター → フィルター)
F 移行先が未調査の廃止 API 利用箇所の数 0.25 人日 付録の一覧にだけ載っているもの。移行先の確認を含む
G 非推奨 API の書き換え(任意) 利用箇所の数 0.1 人日 今回の更新で対応する場合だけ計上する
H 設定の変更 変える設定項目の数 0.25 人日 設定の変更と、その動作の確認
I 既定の動作の変化・塞がらない脆弱性の確認 該当する機能の数 0.5 人日 影響の確認とテストの追加

数え方の注意

  • A(基本作業)は経路ごとに1回です。候補を2つ比べる場合は、それぞれに1回ずつ入ります
  • E(構造的な書き換え)はクラスの数で数えます。1つのクラスの中で何か所使っていても1です。仕組みが変わるものは、クラスごとにまとめて書き換えるためです
  • D と E と F は重ねて数えません。 バージョンページのカードで区分が付いているものはその区分、カードが無く付録の一覧にだけ載っているものは F です
  • G(非推奨)は今回直す場合だけ数えます
  • 業務の回帰テストは含みません。プロジェクトの基準で別に見積もります

計算例

名前空間の移行を伴う更新で、旧クライアント API を使うクラスが3つ(E)、javax.ws.rs を import するファイルが40(C)の場合:

区分 数 1単位の工数 小計
A 基本作業 1 0.5 人日 0.5 人日
C import の機械置換 40 0.02 人日 0.8 人日
E 廃止 API の書き換え(構造的) 3 0.5 人日 1.5 人日
合計 2.8 人日

共通手順書の章

  1. 作業の全体像
  2. 開発環境と前提
  3. 作業前の準備
  4. 更新前の記録
  5. 利用箇所の調べ方
  6. 依存定義の更新
  7. IDE への反映
  8. 解決されたバージョンの確認
  9. コンパイルエラーの切り分け
  10. import の一括置き換え(javax → jakarta)
  11. 非推奨の警告の扱い
  12. 概算工数の出し方
  13. リソースの解放と入力の安全性
  14. ビルド・テスト・WAR の確認
  15. 他の JAR に同梱された複製
  16. 再スキャン
  17. 変更差分の確認と完了条件
  18. ロールバックと作業記録
  19. 検証環境等への配備