システムは本来、自分達で作るべき

2018年9月2日日曜日

システム開発

t f B! P L

外注の現状と弊害

日本企業では業務システムの開発は殆どSIerに外注して開発している。社内でシステム開発している会社は少数派だろう。
日本のIT産業も殆どがSIer企業で自社製品ソフトウェア販売で稼いでる企業は少数派だ。
it エンジニアもほとんどが SIer 企業に所属している。
なぜこのようになるかと言えば、日本企業の多くは自社独自のやり方にこだわり、自社専用ソフトウェアを作りたがる。
結果として汎用ソフトウェアというものが売れなくなっている。これは日本でソフトウェア企業が育たなかった原因の一つでもある。
日本のソフトウェア開発は似たような専用ソフトウェアの開発を各企業ごとにバラバラにやるため、非常に生産性が悪い。同じような機能のソフトウェアをバラバラに開発することを「車輪の再発明」と呼ぶのだが、日本では会計ソフトやら生産管理ソフトやらの似たような機能の「車輪の再発明」が非常に多い。

海外の ITエンジニアはほとんどがユーザー企業に所属する。システムを内製することが多いからだ。
またパッケージをノンカスタムで導入することが多い。
だからソフトウェア産業の生産性が非常に高い。
海外で世界的なソフトウェア企業が多数誕生した背景には汎用ソフトがノンカスタムで売れる土壌の影響もあるだろう。

日本の it 企業に国際的存在感がないのは、半分は日本のユーザー企業の責任と言えるかもしれない。
そしてこの状態はユーザー企業にとっても、システムに余分なコストがかかるため海外とのコスト競争の妨げになる。
その原因を作っているのはユーザー企業自身であるため自業自得でもある。

専用ソフトウェアと汎用ソフトウェア

ソフトウェアには大きく分けて2種類ある。Word, Excel, SAP など汎用的でどこの会社でも使えるツールとしてのソフトウェアと、その会社専用の業務システムである。
前者が汎用ソフトウェア、後者が専用ソフトウェアである。
通常バックオフィス業務や顧客管理システムなどは、汎用ソフトウェアを購入してきて使用する。自社の業務と汎用ソフトウェアの使用が一致しない場合もあるが、その場合はソフトウェアに業務を合わせて運用するのが正攻法である。
なぜならソフトウェア開発はとても金がかかるため、汎用的ソフトウェアをいちいち自社で開発していたら、コスト競争で他社に勝てないからである。
日本ではこの汎用ソフトウェアも自社専用に開発してしまう傾向がある。業務にシステムを合わせてしまうのである。この慣習はコスト競争的に圧倒的に不利であり、長期的に持続できない。無理に持続すれば自由競争で淘汰されてしまう。

専用ソフトウェアは業務知識の固まり

専用ソフトウェアというものは、自社のコア業務知識を反映したものであり、それ自体が企業秘密である。
IT とロボットは年々急速に発達している。
今まで人間にしかできなかった仕事が、技術の発達によってどんどん機械にもできるようになってきている。
従来まで仕事というのは人間がやるのが当たり前だった。しかし年々仕事の中心軸は人間から機械に移っている。近いうちに仕事の中心は機械になるだろう。
既に機械中心になっている業務も少なくない。
市場競争で競合が機械化によりコストダウンを仕掛けてきたら、同レベルのコストダウンは機械化しなければ達成できない。
従って市場は自動化競争になり自動化に遅れた企業は淘汰されてしまう。

専用ソフトウェアは業務の中心的担い手であり、同時に業務知識の塊である。現在そのようになっていないとしても、いずれそうなるのだ。
IT 意識の低い経営者の会社で、システムの開発担当者がいなくなり一人で情報システムを運用しているケースがよくある。
このケースではシステムの中に込められた業務知識を誰も知らない。システム更新の時にSIerに システムを解析してもらい。業務知識を発掘するのだが、完全な形では発掘できない。だいたいこの時業務知識は失われるのだ。
自社で何年もかけて作り出した業務知識が失われてしまうのだ。
馬鹿馬鹿しいし、もったいないと思わないだろうか。

汎用ソフトウェアをカスタマイズするな

日本ではSAPなどのパッケージをカスタマイズする事が多い。
しかし汎用ソフトウェアというものは、バックオフィス業務のように「どこの会社でもだいたい同じようなことをやっている業務」をソフトウェアパッケージに落とし込んでいるモノだ。
そして汎用ソフトベンダーはユーザー企業のフィードバックを受けており、豊富な業務知識を保有している者だ。
だから汎用ソフトウェアはカスタマイズなどしないでそのまま導入した方が良いのだ。
汎用ソフトメーカーにとってその業務知識は専業の知識である。
しかしそれを導入するユーザー企業にとってその業務知識は周辺業務にすぎない。中核業務は別にある。
どちらの業務知識が優れているかは考えるまでもないと思う。

専用ソフトウェアは自分で作るべき

専用ソフトウェアというものは自社の中核業務を反映したソフトウェアである。
中核業務の知識は自社で保有しておいた方が良い。
日本のユーザー企業は自社の中核業務を SIer に丸投げにしてそのまま知識を失っていく会社が少なくない。
こういう愚かな真似はもうやめるべきだ。
中核業務を反映した専用ソフトウェアは自社で開発するべきだ。

ソフトウェアは業務知識が無ければ作れない。
その為にはソフトウェアエンジニアが業務知識に精通しているのが理想だ。外注していたらそんな人材は確保できない。自社で直接雇用して育てなければ確保できない。
日本は長いデフレで安易に派遣や非正規や外注で済ませるデフレマインドが蔓延っているが競争の激しいインフレ経済ではこんなやり方は通用しない。淘汰されるだろう。

専用ソフトウェアはビジネスの成長と共に成長する

日本ではシステム開発を外注する際にウォーターフォール開発を採用することが多い。
その理由としては瑕疵担保責任を保証して貰えるためだと思うのだが、このやり方だとシステム開発は「最初に一括開発して完成したらそのまま使い続ける」というソフトウェアの使い方になる。

このやり方だと変化に対応できない。変化に対応しようとすると毎回一括発注を繰り返さなければならない。
まだ発注の際に完全な業務仕様を提示しなければならない。それができるユーザーはとても少ない。

システムをいきなり一括発注するという考え方が間違いなのだ。
システムはアジャイル開発によって少しずつ開発と拡張を永続的に続けていくべきだ。
世界は諸行無常で永遠に変化を続けて行く。
企業の市場に合わせて変化を続けていかなければならない。従って専用ソフトウェアも企業と共に変化を続けていかなければならない。
だから生きたソフトウェアと共に成長していかなければならないのだ。
ウォーターフォール開発されたソフトウェアは完成した時点で死んでいるのだ。
会社はソフトウェアの仕様に縛られて変化することができなくなる。
一括開発を止めて漸進開発へ移行すべきだ。

ソフトウェアの主導権はビジネスの主導権

ソフトウェアの主導権を他社に丸投げにするということは、ビジネスの主導権を他社に丸投げにしているのと同じだ。
EC ショップ主体でビジネスをしていた会社が、EC ショップの開発と運営をITベンダーに丸投げにしていたとしよう。このIT ベンダーが EC ショップビジネスを乗っ取るのは容易なことだ。
中核業務だけは自社の支配下に置いておかなければいけない。

それ以外の汎用業務については、汎用ソフトウェアをノンカスタムで導入し安く済ますべきだ。

ビジネスの主導権を取り戻したければ自分で作れ

現在経済学者を中心にベーシックインカムの議論が盛んに行われている。
やがて人工知能などが人間の仕事の大半を奪ってしまうために、労働の対価として所得を分配することが不可能になる可能性がある。
だから資本主義市場を維持するために無条件に所得を分配することを構想しているのだ。
中産階級が消滅しまったら資本主義が成り立たないからだ。

大半の業務はやがて機械化されていく。
その時業務の主導権を握っているのは機械を制御している専用ソフトウェアを開発している者だ。

主導権を他社に明け渡してはいけない。
自らソフトウェアエンジニアを雇い、自ら開発すべきだ。

例外事例

「専用ソフトウェアは自分で作れ」と言ったがこれには例外がある。
社内にIT部門を持つことができない中小企業は例外となる。
開発できるのならばできるだけ開発すべきだが、余力の無い会社はSIerにシステム開発を外注するしかない。
私は中小企業がシステム開発を外注することまで否定しない。
但し「丸投げ」はダメだ。
業務手順の内容はキチンと把握しておくべきだし、それを理解する最小限のITの知識は擁するべきだ。

このブログを検索

Translate

人気の投稿

自己紹介

自分の写真
オッサンです。実務経験は Windows環境にて C#,VB.NET ,SQL Server T-SQL,Oracle PL/SQL,PostgreSQL,MariaDB。昔はDelphi,C,C++ など。 趣味はUbuntu,PHP,PostgreSQL,MariaDBかな ?基本無料のやつ。

QooQ