最近コロナ関係で、リモート業務システムの開発を外注する事が増えております。
リモートワークについて、まだ疑問に持っている方もいらっしゃると思いますが。
それについては、こちらを参考していただければと思います。
参考記事:【リモートワーク】のメリット, 課題, 準備, 導入 について、全面解説!
そんな中で、業務システム開発を外注する際に、お互いの認識違いによって、合意のない期待を生まないように。
今回はシステム開発を外注する際、全体の流れと注意事項を共有できればと思います。
1.問い合わせ段階
最初はシステム会社に問い合わせしたり、もしくは相手の営業マンがいらしゃる時もあります。
この時は、いきなり自社の開発したい内容を伝えるのではなく、まずは相手の会社を知る事がとても大事です。
信頼できない相手に自社の大事なシステム開発を任せるのわけにはいきません。
確認事項:
①担当者のコミュニケーション能力。
お客様の要望を理解する能力の事です。(相手担当者が外国人の場合は、日本語能力も含めて要チェックです。)
システム開発の目的は、自社が抱えている問題を解決し、生産性の向上や業績アップにつながるための先行投資です。
相手の担当者が、自社の問題を理解できないようであれば、使えないシステムが開発されるので、注意しましょう。
②開発会社の能力や特徴を確認しておく。
IT業界は範囲やジャンルが広いです、ゲーム会社に業務システムを依頼する事はできないので。
開発会社の実績を確認したり、エンジニアのスキルを確認したり、会社の得意分野を確認しておく事が大事です。
上記2点で問題なければ、次の段階に進みます。
2.一次面会
一次面会は主に、自社の解決したい問題や、開発したい内容を開発会社に伝えることです。
この際、もし自社にIT人材がいない場合は、なるべく自社の問題を開発会社の担当者に明確に伝える事。
よくあるトラブルは、自社内で認識を統一出来てないまま開発に進み、途中で致命的な問題が発生し、プロジェクトが中止することがあります。
この場合は、お互いにとって、大きな損失になりますので。
確認事項:
①社内会議で、システム開発の目的や解決したい課題の認識を統一する事。
②開発会社の担当者に目的や課題を伝える事。
③相手から提案してきた案をチェック。
自社の要望や予算を伝えれば、たいていその場で、相手担当者が提案してくださいます。
その提案内容が自社の要望や達成したい目的に合っているかを確認するべき。
3.見積もりと契約
一次面会で開発会社が提案してきた内容が問題なければ、次は見積もりをしてもらいます。予算内に収まれば、次は契約を結び、実際の開発段階に入ります。
①見積もりと工事期間
場合によって、システムを一刻も早く納入したい時は結構あります。
そんな時はどうしても予算が上がってしまいますので、その際は開発会社と相談しましょう。
②契約形態の確認
自社の規模や、今後の事業戦略によっては、「ずっと同じ開発会社に依頼したい」や「このシステムは一度開発すれば、今後は拡張も変更の予定もないので、一回切りの契約でお願いします」という要望がありますので、自社に合わせた契約形態を選択してください。
4.要件定義
システム開発をする前に、仕様書や設計図見たいいな物です。家を建つ前に図面や工事の内容を決めるなイメージです。
もし自社にIT人材がいない場合、少し苦労しますが、できる方法としてはなるべくメモやデーターを保存する。
今後IT担当者がいた場合や、もしくは別の会社に拡張を依頼したい時、引き継ぎが楽になります。
確認事項:
①IT担当者がいない場合は、なるべく情報やデーターを保存しておく。
5.開発中間報告
開発開始後、こまめに打合せする事が大事です。
こうするメリットは、開発の方向性がブレにくいのと、何が変更があった際は、対応しやすいです。
家を建てるのと同じく、建設中に、間取りを変更するのは、可能性が高いが、9割終わった段階で、変更は厳しいです。
確認事項:
①ソースコードが綺麗かどうか。
これは開発会社の内部がしっかりルール統一していれば、非常にわかりやすいコードを書いてくれますので。
今後システムの変更を別の会社に依頼したい時や、自社でITチームが設立したら、かなり楽になります。
②自社内で、システムを利用する予定のユーザーに進捗を共有する。
ユーザーにとっては、ソースコードが綺麗かどうかの事よりも、システムの使いやすさが大事なので。
都度開発の進捗や、操作画面を共有し、方向性を確認しまよう。
6.システムテスト
ソースコードを書き終わって、いきなりリリースする事はできないので、事前に必ずテストする必要あります。
通常、テストは2段階に分かれます、1段階は開発会社内部でのテスト、主に描いたソースコードが問題なく動く事を確認のため。
2段階は実際利用するユーザーに、実際の業務に沿って利用もらう事で、システムがちゃんと会社の課題を解決できるかどうかの確認です。
ここでよく起きる問題は、実際の業務を利用してテストする時に、最初に思いつかなかった、業務上イレギュラーの対応が必要の際の機能がないと気づく事。
それで、追加で開発依頼を出したりなど、そのため、システムのテスト期間は、大体1か月の期間を用意するのが常識です。
確認事項:
①システムが確実に会社の課題を解決できている事です。
7.納品、検収、支払いについて
システム開発の最終段階に、実にトラブルが発生しやすいです。
原因はいくつかありますが、大体検収の時に発生します。
システムを開発し、商品を自社が指定する場所に格納し、品質チェックする時に、「いや、やはりここがちょっと違いますね。」などのような、利用者からすると「瑕疵」という内容にめぐって、修正や改善などを開発業者に依頼したりすることがあります。
その際にトラブルとしては、最初にお互い定義した「要件定義書」や「仕様書」に書かれてない機能を開発会社に依頼しても、中々修正や改善が厳しいので。
そのため、最初の打ち合わせが非常に大事です。
そして、開発会社からシステムを納品してくれる際、システムに関するドキュメントをしっかり保管する事が大事です。
なぜならば、それらのドキュメントはシステムの仕様や、言語、作り方、設計図などが全部入っているからです。
もし今後システムを拡張したい時など、それらがないと、かなり難航しますので。大事に保管いたしましょう。
確認事項:
①ソースコードをしっかりGETした事。
②合意した仕様をもとにしっかり開発した事。
③システムドキュメントを全部GETした事。
③請求金額が正しい事。
まとめる
業務管理システムを導入する会社が増えている中、日本国内のIT人材が少ないため、オフショア開発を選ぶ会社も多く増えてきております。
なぜならば、オフショア開発は海外のエンジニアに仕事を発注するため、費用がとても安いためです。
ただし、海外に発注する際、色んな課題もありますが、それをクリアすれば、間違いなく品質の高い、原価の安い業務管理システムをGETできます。