課題をシステムで解決したいんだけど、地方だからシステム開発会社がなくて困っている。東京にはいっぱいシステム開発会社があるのに!というときの課題と対策をつらつら書いてみます。
1.システムリリースが現地じゃないとできない。
アプリサーバーが閉じた環境にあると、外からアクセスできないので、現地に行って作業するしかないです。
対策A.リモートデスクトップやTeamViewerを使って開発会社担当者が社内サーバーにログインして、リリースする。
オーソドックスな対応です。ただし業務時間外など見えないところで悪いことをしようと思えばいくらでもできます。
対策B.Gitでソース共有した上でリリース手順を教えてもらい、社内のシステム担当者が責任をもってリリースする
リリース手順作って!とお願いすれば開発会社が作ってくれます。社内のシステム担当者がリリース手順を覚えたり、開発ツールを購入しなければいけませんが、手順書があれば誰でもリリースできます。ただしバグが多かったりすると、リリースに追われてしまいます。
対策C.Webシステムで作ることにしてクラウドやレンタルサーバー上に展開する
クラウドやレンタルサーバー上にシステムを構築することで、開発会社の裁量でリリースできるようにします。公開したくないなら、自社のIPアドレスでホワイトリストを設定すればよいです。Webシステム=ブラウザで動くシステムなので開発中でもだれでも気軽に確認することができます。
2.DB環境が社内にしかない
保守フェーズになると個人情報が含まれているので社外に出せず、現地で作業するしかない場合があります。
対策A.個人情報を書き換えるようなバッチを開発会社に作ってもらう。
テスト環境を用意して、本番環境のDBを移行。その後バッチを実行して個人情報が含まれるデータを書き換え。書き換えたデータをエクスポートして開発会社に渡せばOKです。データ量が多くなるとどうやって送付するかがネックになりです。
対策B.DBaaSを活用する。
基本的には対策Aと同じですが、DBaaS(Azure SQL Database,Oracle Cloudなど)にテストデータを展開することでエクスポートの手間を省きます。これで重くて渡せません!ということがなくなります。開発依頼するときに、「テスト環境はDBaaSでよろしく」と言えばよいです。DBaaSってなんですかと聞いてくる開発会社は避けましょう。
3.対面で話さないとコミュニケーションがとれない
対策A 画面が共有できるWeb会議システムを導入する。
東京から地方へ行く場合、1回の交通費が数万円、プラス移動の拘束時間の原価数万円がかかります。Web会議OKかどうかは受注側にとっては大きな判断材料です。TeamやSlackなど画面を共有しながら会話できるツールを活用しましょう。
対策B 複数人の意見まとめる作業は自分たちでやる。
ステークホルダーに対する1対1もくは1対Nの打ち合わせはWeb会議でも可能です。現場利用者へのヒアリングなどN対1、N対Nの打ち合わせはWeb会議だとやりずらいです。現場の意見をとりまとめたうえで、Web会議で方針や開発の確認をするという進め方にすれば、Web会議でスムーズに進めることができます。
対策C サテライトオフィスを展開しているシステム開発会社を探す
サテライトオフィスを持っているということは遠隔でのやりとりが確立されている会社になります。行ける範囲でサテライトオフィスがあるのなら対面でのコミュニケーションも可能です。
4.見積もりしてくれない
対策A 要件定義を自分たちで進めてから見積もり依頼する。
見積に必要なのは、登録が必要な画面数、登録が必要ない画面数(検索など)、帳票数、別システムとの連携有無、特別な機能の有無です。この情報と改善したい課題、業務フローがあれば行かなくても(もしくは1回の打ち合わせで)見積もりができます。
こんなところでしょうか。また思いついたら書いてみます。