■システム統合作業と並行して粘り強く交渉


徳永典子氏
  福山市 市長室情報政策課次長(企画・管理担当)
徳永典子 氏

 ここからさらに、福山市は約1億円のコスト削減に成功している。福山市独自でシステム開発費用を算出する基準を作り直し、合併のシステム統合に適用したからだ。

 それまでのシステム構築では、たとえ見積もり基準があいまいでも、それほど大幅なコスト増にはつながらなかった。しかし、合併のシステム統合は事情は異なる。「合併のシステム構築は、作業量が膨大なため、小数点以下の単位の差でも、最終的に大きな金額の違いが生じてしまう」と、市長室情報政策課次長(企画・管理担当)の徳永典子氏は説明する。

 例えば、工数という数値の小数点以下の切り上げ方一つで、金額は大きく変わる。工数とは、作業する人数や期間で示す費用単価(人月単価)に掛け算して料金を算出する係数のこと(図参照。総ステップ数を生産性基準値で割った値)。工数が0.01増えるだけでも、作業期間や要員数が多ければ、その分コストが膨らんでしまうのだ。

  
■福山市のプログラム開発にかかわる費用算出方法
福山市のプログラム開発にかかわる費用算出方法

■システム統合に伴った費用の見直し
●プログラムの開発・改修
従来からの問題点 見直した点
ステップ数の見積もり ・属人的または経験を基にしたステップ数の見積もり ・ステップ数評価の基準を作って属人性を排除
・サンプリングによりソースコード・レベルでステップ数の妥当性を検査
・実績評価をルール化(現状では未実施)
生産性の基準 ・基準値をベンダー側が設定
・長期間に渡って見直していない
・一般的な調査資料や独自の調査を基に、福山市の基準値を設定
人月単価 ・一般的な水準よりも単価が高い
・作業内容とSE要員レベルの不一致
・一般的な調査資料を基に、単価を設定
・一般的な市場水準に合わせた、開発フェーズ別負荷比率の設定
費用の計算方法 ・作業工数の小数点以下の丸め方が不適切 ・小数点以下第4位での四捨五入に統一
その他、新規追加点 - ・効率的な開発言語や開発ツールを福山市が指定
・開発コストに含めていたプロジェクト管理コストを分離して明確化する
●データ移行などの作業
データチェックなど開発以外の作業コストの基準 ・見積もり担当者によって作業内容の分類や基準工数が異なる ・作業内容と基準工数を標準化
・標準化できないものは、個別に作業工程を分けて評価
・作業内容に合致したSEのレベルおよび単価の設定

 もちろん、ベンダーは十分詳細に見積書を作成して来た。A4用紙を積み上げて50センチほどもあったという。実は、プログラム開発料金に関する取り決めは、以前から福山市とベンダーの間で定められていた。しかし、この取り決めには厳密な基準や運用方法がないという問題があった。そこでまず福山市では、今回から切り上げ方法などを明確化してコストを見直したのである。

 ステップ数(コンピュータ言語のCOBOLで記述したプログラムの行数)の数え方を規定し、サンプリング検査も行って正確性を調査。開発ツールを利用する場合は、生産性基準を変えることなどで調整する。

 SE(システム・エンジニア)の人月単価は、物価や労働問題など経済情勢の公的調査機関である「経済調査会」の積算資料を基に算出し、一般的な水準を大きく超えないよう配慮したという。

 ITコンサルタントの中山氏は、「改めて見積金額の算出根拠を求めると、SEの経験値に過ぎない部分が多く見受けられました」と説明する。

 プログラム開発以外では、データのチェックなどの作業に関する数値を設定する必要があった。編入する自治体のデータ移行がシステム統合作業の大半を占めるため、データの整理やチェックといった作業にも基準を設けたのだ。基本的に「この作業は1回で××円」と標準化した。標準化しにくいものは個別にベンダーと相談して決定した。「SEが開発とデータ・チェックを並行して兼務している場合などは、さらに基準を別途設定しました」(情報政策課の徳永氏)と語る。

 福山市は、システム統合作業と並行してベンダーと価格について3回ほど協議を重ねた。ベンダーのSEから「忙しいのに」と言われ、中山氏は煙たがられたという。そこを粘り強く交渉して、コスト削減を実現したのである。