1.はじめに
中小企業での業務改善や商品開発にはシステム開発を伴うことが多い。システム開発は緻密で根気がいる作業であり、中々とは容易な作業ではありません。ましてや外部のIT会社に発注する場合には、法務、購買、プロジェクト管理などの基本知識が必要です。
今回は中小企業が外部のIT会社にシステム開発を初めて発注する際の、必須の実施事項、注意点を説明します。
2.システム開発発注の流れ
システム開発発注の基本的な流れは次の通りです。
2-1.見積依頼 → 2-2.発注 → 2-3.システム開発 → 2-4.検収
以下に、順を追って各々の押さえる勘所を説明します。
2-1.見積依頼
(1)予算
1)予算額
初めて発注する場合は、失敗などのリスクを考えて、最高でも年商の5%、すなわち売上が10億円であれば500万円ぐらいを限度とした方がよいでしょう。
2)費用対効果
システム化により収益がいくら見込めるか、費用はいくら削減できるか、十分に検討しましょう。希望的予測は厳禁です。
3)パッケージ利用も選択肢
全てを自作するのではなく、市販のパッケージを積極的に組み込むことにより開発費を削減します。パッケージ導入に伴う業務手順の変更は、大抵の場合は業務改善に繋がる傾向にあります。
(2)見積依頼
1)IT会社の選定基準
・年商
1兆円超のNTTデータ等の超大手、数千億円のNRI等の大手はまず先方が商談に乗ってきません。中小企業が見積を依頼する会社は、数百億円~数億円すなわち準大手~中堅クラスとなります。
・エンドユーザとの直接取引実態
IT会社の会社概要やHPの取引先を確認します。超大手や大手の多段階下請けとして一部分を任されてシステム開発しているのか、あるいは直接エンドユーザ(お客様)と契約してシステム開発しているかを確認します。もちろんエンドユーザと直接取引しているIT会社を選びます。さらに納入実績にお客様実名で記載があれば安心です。
・業種/業務に特化
同じくIT会社の会社概要やHPから、得意とする業種/業務分類があるか確認します。例えば単なる製造業ではなく、精密密機械器具製造業のような記載があれば特化していると信用できます。
・紹介ルート
同業者、金融機関、コンサルタントからの紹介、インターネット検索など様々ありますが、第一優先は同業者からの口コミです。
・地元密着/全国展開
地元でお客様の要望に迅速にこまめに応じている、最後まで逃げないIT会社を選びます。
・システム開発範囲
単なるプログラム製造ではなく、基本設計からテストまで、さらには運用(維持管理)まで請け負うIT会社が望ましい。但し、初めての発注の場合は詳細設計から総合テストまでなど範囲を狭めて納期遅延などのリスクを少なくします。
(3)見積依頼書
以下の項目記述は最低限必要です。必ず複数のIT会社に相見積してもらいます。
1)予算
概算なのか、限度額なのか明記する。概算の場合は予算確定時に金額が膨れます。
2)見積期限
年月日さらに必要であれば時刻まで厳格に記述します。
3)工期
開発開始の年月日から納品の年月日を記述します。
4)システムの機能要件
システムの機能の理解に行き違いがないように具体的な業務フロー及び機能図など見える化して提示します。
5)開発場所
システム開発する場所や環境を明記する。
6)IT会社の再委託
原則禁止します。
7)納品場所
具体的に工場、物流センターなどを指定します。
8)相見積
必ず複数社に相見積を依頼します。
(4)見積書
IT会社から受領する見積書は以下の項目のチェックが必須です。
1)前提条件
自社が想定していない前提条件をIT会社が盛り込んでいないか確認します。もし、そのような前提条件がある場合には内容、理由を質します。承服できない場合は再度見積させます。例としては、見積有効期限、端末レスポンス時間や検索時間などの性能条件です。
2)見積機能範囲
見積依頼したシステムの機能に対して、見積機能に過不足はないか確認する。IT会社に実現する業務フローや機能図の提示を求めて過不足がないようにします。
3)見積方法
見積方法には大きく2通りあります。
・プログラムステップ方式
プログラムのステップ(行)数から開発規模を算出する方法です。
・ファンクションポイント方式
画面や処理などの機能の複雑さに応じて点数をつけて開発規模を算出する方法です。
4)見積詳細内訳
工程、機能、プログラム 等々の項目分けで開発規模、開発工数が詳細に記述されているか確認します。
5)人月
開発工数の単位であり、標準的な技術者が1ヶ月に20日間稼動した場合を1人月と定義しています。
6)人月単価
1人月の金額を表します。準大手~中堅クラスのIT会社では70万円から100万円ぐらいが通常です。但し、金額の絶対額ではなく1人月あたりの生産性を考慮する必要があります。
7)納品物件
納品物件の種類と内容を確認します。例としては、開発工程が設計から本番稼動までの場合は、基本設計書、詳細設計書、プログラム、テスト成績書、操作・運用説明書等です。
2-2.発注
(1)基本契約書
特定の取引先と反復継続的な取引に共通する基本的な取り決めを定めて必ず締結します。契約締結は一度だけで自動更新規定を付けます。
基本契約書の取り決め事項は以下の通りです。
1)代金の支払条件、2)納品方法、3)納品物件の検収方法、4)知的財産権、5)秘密保持義務、6)契約解除事由、7)損害賠償、8)有効期間、9)合意管轄裁判所
代表的な基本契約書の雛形を挙げておきます。
JISA ソフトウェア開発委託基本モデル契約書(平成20 年5 月版)
http://www.jisa.or.jp/Portals/0/resource/legal/download/contract_model2008.pdf
(2)基本契約の重要事項
以下の事項はIT会社と厳格に交渉して、締結する必要があります。
1)納品物件の検収方法
確実に検収が実施できるように基準、期間を明確にします。
2)瑕疵担保責任
システム開発物件に瑕疵があった場合の修補責任範囲、損害賠償範囲、損害賠償金額、瑕疵担保責任期間(通常1年)を定めます。
3)知的財産権
自社の知財戦略に則って、著作財産権の自社への譲渡規定、著作人格権はIT会社不行使規定、特許権の自社帰属規定を決定する。関連してプログラム、文書等は納入物件に必ず含めます。
4)機密保持義務
開発上知り得た自社固有の技術上、その他の業務上の機密の開示漏洩禁止を規定します。IT会社の再委託を認める場合や中国など外国企業に発注する場合は特に重要です。
(3)個別契約書(注文書・注文請書)
基本契約書の締結後、個々のシステム開発物件について、以下の事項を規定して個別契約書を締結します。通常は個別契約書を作成しないで、「注文書」と「注文請書」の形で取引きすることがほとんどです。1)代金、2)納期、3)納入物件、4)納入場所、5)特約事項
2-3.システム開発
以下の通りの工程の流れに従って進みます。
(1)基本設計
利用者に提供する機能や操作などを定義する工程です。画面や操作方法(ユーザインターフェース)や、帳票類、データベースの構造などを決めます。外部設計と呼ぶ場合もあります。
(2)詳細設計
基本設計で定義した機能や画面・操作などに基づいて、プログラムやシステムとしてどのように実現するかを具体的に定義する工程です。内部設計と呼ぶ場合もあります。
(3)製造
内部設計で定義したプログラムを具体的にプログラム言語を使用してプログラムを作成、正しく動くかテストする工程です。プログラム開発、単体テストなどより細分化して呼ぶ場合もあります。
(4)テスト
製造の工程でテストしたプログラムを1)連結して正しく動くか、2)システムとして正しい機能を実現しているか、テストする工程です。1)を連結テスト、2)を総合テスト、システムテストと呼ぶ場合もあります。
(5)運用
実際の現場でシステムを稼動して業務遂行する工程です。システムの稼動により、以下の業務が発生します。1)システムを実際に動かすオペレーション(操作)、2)システムを障害監視して維持管理するメンテナンス(保守)、3)システムに関する問い合わせに対応するサポート
2-4.検収
納品されたシステムの機能や動作を検証し、自社の仕様を満たしているかどうかを判定する作業です。検収合格となれば、IT会社に最終的な費用を支払います。
検収で重要なポイントは以下の通りです。
(1)検収期間は短期間として、迅速に行う。
検収内容が多い場合は、中間の工程の要所要所で段階的に検収を実施しておきます。
(2)検収は必ず実際の本番稼動環境で実施する。
1)本番データを使用して検収します。2)接続端末、印刷帳票、時間帯など最大稼動状況を考慮して検収します。
(3)予めIT会社と自社で検収項目を合意しておく。
基本設計の終了時点で業務フローや運用手順書に沿った検収項目を作成しておきます。
3.まとめ
(1)小さく産んで大きく育てる。
費用対効果が見込める範囲で、小さな予算・規模・機能の開発に絞り込み、実際の運用や環境変化に応じて段階的に大きく改善していく。
(2)自社とIT会社はパートナーである。
システム開発作業は最善の準備を尽くしても、ゴールまでの道のりは障害の連続です。自社とIT会社は厳密な契約の下、
二人三脚で一体となってシステムの正常稼動を達成を目指さなければなりません。
(3)システムは開発2割、運用8割である。
自社にとってはシステムを開発することが重要ではなく、システム稼動後の更なる業務改善、効率向上が永続的な最終目的です。