
Column
中小企業におけるシステム内製化の最大のリスクは「退職」です
この表題で「ドキッ」とされない方は、もう少し考えて頂きたいと思っております。
どんなシステムを使うにも、適切な設計があり、使い方があり、その使い方をサポートするためのプログラムが存在します。とても簡単に言えば、プログラムを組めば組むほど、システムをメンテナンスする難易度も上がります。正比例します。
以下のプログラムは、Pythonを書くことが出来る私が見れば極めて簡単なプログラムです。
でも、1行もプログラムを書いたことがなければ、どこをどう判断すればこれが簡単であるか、わかりようがありません。極端な例を上げましたが、これがプログラムを書いたことがある人とそうでない人のギャップなのです。このギャップを埋めるのは、システムがわかる人でないといけません。
ITが本業でない会社において、エンジニアを何人も雇っても効果が薄いので社内のIT担当がワンオペであるケースが極めて多く、退職したら誰がこれ面倒見るんだという、冗談のような本当の話がたくさんあります。
ツールの標準機能を最大限使っているのであれば、まだ引き継ぎもしやすいです。しかし、自分でプログラムを組んでカスタマイズしているような場合、上記のようなプログラムを読み解く時間とコストが必要になります。プログラムは書くよりも読み解くほうが、全然難しいものです。
メンテナンスできる人が退職してしまったので誰も触れなくなる前に、2人体制でドキュメントも整備して欲しい。2人体制が社内で整えられないのであれば、外部の人材に定期的にサポートを依頼して頂きたい。1人でやっていると、ドキュメントなんて後回しになります。改修要求を満たすのが先になりますし、その要求は終わりがない。
ツールの制約と付き合おう
システム内製化を行うのであれば、適切なツールを活用しましょう。ゼロからプログラミングを行って内製するのは、まず無理です。
当社ではkintoneを使っていますが、kintoneにはkintoneの制約があります。その制約に沿って使うから高い生産性を発揮して、やりたいことがシステムで実現できるようになります。制約のないツールなど存在しませんので、「出来ないことを知る」のが一番良いのですが、それがわかるためには使うしか無い。
鶏が先か卵が先か問題がありますが、まず、使ってください。100万や200万もしないですから。
開発自由度の高い環境を活かせる会社は極めて少ない
ツールを活用しようというと、開発の自由度が低くなるとか、将来的な機能拡張が難しくなるとか、そういう「使い古された、大したことを言っていない批判」が必ず出ます。中小企業の業務システム内製化において、これらの声は無視して良い。
ゼロからプログラミングを行ってシステムを作るのが最も自由度が高いですが、その自由を謳歌出来る中小企業は、ほとんどありません。
システムの機能拡張を実現するには、以下を同時に実現しなければなりません。
- 画面を作る
- データ保存領域を作り、整合性が取れるように設定する
- 画面からの入力値を検証し、不正なデータが保存できないようフィルタリングする
- 入力値を、適切な場所に保存する
これが最小構成です。画面の開発はゼロベースで行うと最も時間がかかると言っても良いです。複雑なビジネスロジックを伴うシステムなら別ですが、単純に入力値を保存するような場合であれば、一番面倒なのは画面の開発です。
業務アプリケーションの開発ツールなどを一切利用しない場合、画面の開発にはHTML/CSS/Javascriptなどの学習が必要になります。入力値の検証にはサーバーサイドのプログラムを実行することが出来る言語の習得、データの保存にはSQL言語、更にはインフラ構築の学習なども必要になります。
御社がメルカリさんのようなサービスを作って、それを本業にしてビジネスを展開する、ZOZOタウンのようなECを作る。つまり、ソフトウェアそのものをビジネスの根幹に据えて、そこでやり取りされる情報が売上に直結するのであれば、話は別です。ツールの制約に縛られて実現しなければならない機能が提供できないことが、デメリットになります。
中小企業の内部で使う業務システムにおいて、「ツールの制約に縛られて実現しなければならない機能」がどれだけあるか。ほぼ、ありません。無いなら無いなりの工夫ができます。
であれば、ゼロベースでシステムを作るよりも安全で安価に実現できる、業務アプリケーションの開発ツールやサービスを全面に活用すべきです。その制約から外れてしまうようなものがあれば、そもそも課題設定を見直すべきです。
話がそれてしまいましたが、プログラムを読み解くコストがいかに高いかを知って頂くことが、システム内製化をワンオペで行うリスクの高さをご認識頂くポイントになりますので、重ね重ねもう少し考えて頂きたいと思います。

IT企画、ITプロジェクト支援
会社や事業を変革するために必要なITをどうやって企画して、プロジェクトをどう立ち上げて、成功裏に導くのか。当社はそのためのノウハウを全て公開しています。IT企画から構想立案、要件定義までの支援をさせて頂いています。
IT企画・プロジェクト支援へ
システム内製化支援
様々な開発ツールを使い、御社の業務システムを共に作り上げ、最適な会社の仕組みを作ること。将来的には自立した内製化チームを立ち上げ、業務改革に貢献するソフトウェアの開発・運用を担うメンバーの育成を同時に実現するご支援です。
システム内製化支援へ