Webシステム発注初心者ガイド
第3話
スクラッチ開発を選ぶ―でも範囲はどこまで?
「どうせ作るなら」が始まった
カスタム開発が決まったと社内に伝えた翌日、営業部長から声がかかった。
「田中さん、ちょっといい?見積書システム、発注受付機能も一緒に作れない?」
発注受付。つまり、顧客が見積書を確認してOKを出したら、そのままシステム上で発注を受け付け、受注データとして登録する機能だ。
翌日は経理部からも連絡が来た。
「請求書の発行も一緒にできるようにしてもらえたら、うちも助かるんですけど」
気持ちはすごくわかる!でも、一度に作るものが増えるほどリスクも比例して増えるんだよね。
- 費用が膨らむ:機能が増えるほど開発費は上がる
- 期間が延びる:作るものが多いほど完成が遠くなる
- 要件が複雑になる:請求書には消費税・インボイス対応・入金管理など、それ単体でも複雑な業務がある
- リリース後の問題が増える:一度に多くの機能を出すと、不具合特定が難しくなる
まず1つのことをちゃんと完成させる、これがシステム開発の鉄則だよ。
スコープを決める会議
関係者を集めて、「今回作るものの範囲」を決める会議を設けた。
最初は全員が「できれば全部欲しい」という顔をしていたが、開発会社に初期打診したところ、機能追加のたびに費用と期間の試算が跳ね上がることが数字で見えてきた。
| 範囲 | 概算費用 | 開発期間 |
|---|---|---|
| 見積書システムのみ | 約300万円 | 約4ヶ月 |
| +発注受付機能 | 約450万円 | 約6ヶ月 |
| +請求書発行機能 | 約700万円 | 約10ヶ月 |
10ヶ月後まで現場がExcelで頑張るのか、という話になったとき、空気が変わった。
「じゃあまず見積書だけでいきましょうか」
そう、数字で示すのが一番効くんだよ。「リスクがある」「複雑になる」だけでは伝わりにくいけど、「10ヶ月かかる」「400万円追加になる」は誰でも理解できるよね。
意思決定者に判断してもらうときは、「感情的な理由」より「具体的なコストと期間」を示してみて。これはシステム開発だけじゃなく、社内調整全般で使えるテクニックだよ。
フェーズ分けという考え方
発注受付と請求書発行は「フェーズ2」として、今回のシステムが安定稼働してから改めて検討することになった。
正直、そのリスクはゼロじゃないね。でも、フェーズ分けをうまくやるコツがあるよ。
- フェーズ2の要件も今のうちにざっくり文書化しておく:最初の設計でそれを考慮してもらいやすくなる
- フェーズ1完了時に「次はいつやるか」を明言しておく:「いつか」にしない
- 議事録に残す:「フェーズ2として先送り」を全員が同意した証拠を作る
今回は「フェーズ2として先送り」を議事録に明記して、関係者全員にメールで確認を取ったんだ。これで「言った・言わない」が防げるよ。
今回作るものを言語化する
スコープが決まったら、「何を作るか」を文書にまとめ始めた。この作業が要件定義の第一歩だ。
今回の開発スコープ(フェーズ1)
- 製品マスターDB(基幹システム)との連携・品目検索
- 顧客マスター管理(掛率・特別単価の設定)
- 見積書の作成・編集・バージョン管理
- 承認フロー(金額条件による分岐対応)
- 見積書のPDF出力
- 過去見積の検索・閲覧
フェーズ2として先送り
- 発注受付・受注登録
- 請求書発行・入金管理連携
まだちょっと早いよ!このリストは「大項目」でしかないんだよね。開発会社に相談するためには「要件定義」として、もう少し細かく詰める必要があるんだ。
たとえば「見積書の作成」一つとっても……
- 画面はどんなレイアウト?
- 品目は最大何行まで?
- 消費税は内税・外税どちら?
- 複数通貨に対応する?
- 作成途中で保存できる?
……など、決めることがたくさんあるから。次回は「要件定義」の進め方を見ていこう!