SEの稼働工数を予測できないか

IT技術は常に進化しています。これまで多くのコンセプト、技術が世に出回り、システムエンジニアはこれらを追従しながら飯を食って生きています。

 

また、単にSEといってもインフラやアプリケーション、インフラの中でもネットワークやサーバOSなど領域が広く、おそらく全ての領域を熟知、マスターできている人はいないのではと思います。いや、いないと断言します。

 

SEになって10年以上経ちますが、いまだに未経験の領域を依頼されることがあります。それは上記の背景によるものです。

 

この時、まず稼働工数を見積もることになるのですが、皆さんはこのようなやったことがないようなものをどれだけ正確に見積もりができていますか?

 

ある程度世に出回っているもの、実績があるものであれば、過去の経験やその領域に詳しい有識者ヒアリングしながら工数を算出でき、それなりに予実の工数に乖離は無いかと思います。

 

ただ、実績がないもの、初めて担当するお客様など不確定要素が多い中で見積もることって結構ありませんか。

 

このようなケースをなるべくAIである程度予測できないかなと思っているのですが、できないですかね。あくまで手段なので、最終的には有識者などに十分レビューしてもらう必要があるのですが、ある程度参考になるかなと思うのです。ということで、勉強がてら試しに実装してみようと思います。

 

下記の様なケースを考えています。

想定ケース

お客様から大規模を対象とした提案依頼が来る。内容はあなたがこれまで過去に対応したことがないようなサービス、世の中的に有名になりつつあるが、PoCレベルまでがほとんどで、実用レベルはまだまだという感じ。
SEに所属するあなたは、お客様のフロントとして案件を管理するPMを担当することになりました。
 
目的(Why)
より正確な稼働予測をすることで、以下の効果を狙いとする。
・SE自身にとって、予期しない事態、考慮漏れによる予定工数超過の発生頻度を低減する。
・SE自身にとって予実差異に関わる再計画の負荷が軽減する。
・管理者にとって適切な人員をアサインする際の参照元となる。
・SE組織にとって、案件リスク評価の参照元となる。
・お客様にとってベンダの納期遅延リスクが低減する。
 
予測対象(What)
PJ期間におけるPMに必要な稼働工数を予測する。各月にかかる1日に必要な時間。
 
予測される人(Who)
PM(プロジェクトマネージャー)、課題管理や進捗管理、品質管理を行いながらプロジェクト期間内に要件を充足したシステムをトラブルなく納品することに責任を持つ人。
 
上記を基に次回は予測するために必要なデータを考えます。