正しい業務システム業界のあり方について考えてみた

2018年9月16日日曜日

システム開発

t f B! P L

今までSIer業界の問題点についていくつか記事を書いた。
簡単に要約すると以下のようになる。

・ユーザー企業はシステム開発をSIerに丸投げにする。
・ユーザー企業は業務担当者として必要な任務を果たさない。
・SIer業界は多重請負構造で非常に無駄が多い。
・多重請負の低層では違法な偽装請負が跋扈している。
・多重請負構造はウォーターフォール開発に依存しているが、それが適切な手段とは言えない。

今のところこんな感じだろう。

今日は「ではどのような業界のあり方が望ましいのか」ということを考えてみたい。

私は業務システムというものはユーザー企業が自分で作るのが理想だと思っている。
SIer業界へシステムを発注するとき発注元は業務について説明すると思うが、業務知識というのは高度な専門知識であり情技師(ITエンジニア)は簡単には業務知識を習得できない。

業務システムは業務担当者と情技師の両者の知識を結集したものであり只のプログラムではない。

業務担当者は何年も掛けて業務知識を習得する。業務の内容によって苦労と努力の内容は違うだろうがその内容は簡単であるはずが無い。簡単であればわざわざ金を掛けて情報システム化しようとする訳がない。仕事が大変だから面倒だから難しいからシステム化しようとするのだ。簡単だったら自分でやるだろう。

その難しい業務をたかだか数ヶ月程度の説明で情技師が完全に理解できるだろうか?
ある程度その業界について知見があれば出来るかも知れない。
しかし予備知識の無い人間が、業務担当者が何年も掛けて習得した知識を短期間で理解できる訳がない。

だから私は以前から「業務システム開発は業務担当者と情技師の共同作業だ」という意味のことを言っている。

システムは自分で作るべき

「業務システムはユーザー企業が自分で作るのが理想だ」と思う。
ユーザー企業が自分で情技師を直接雇用し、社内で業務を熟知した情技師が業務担当と協力しあってシステムを開発するのが一番望ましい開発体制なのだ。
現在の業界のシステム開発は業務担当者として開発に協力することも無く、SIerに全て丸投げにして開発している。
SIerは業務の専門家では無いのでこの体制では適切なシステム設計するのはとても難しい。
SIerが悪いと言っている訳では無い。
業界全体の構造と体制に問題があるのであり、その大本の原因はユーザー企業の丸投げに始まる。全ての問題がそこから派生している。

ITベンダーはソフト部品をつくれ

しかしユーザー企業が必要なシステムを全て開発するのはリソースから考えて不可能である。
この問題は短期的には解決できないが、長期的には二つの解決策が考えられる。

(1)中核業務だけ開発し、周辺業務はパッケージソフトを使用する。
(2)ITベンダーが汎用的なソフト部品やミドルウェアを開発しユーザーが最小減のコストでシステムを開発できるIT環境を作る。

(1)は以前の記事で書いたのでそちらを読んで欲しい。

(2)は要するに、多数のITベンダーが自社製品として様々なソフトウェア部品やミドルウェアを販売し、ユーザー企業はそれらの製品を購入して組み立てるだけで必要なシステムを低コストで開発できるような市場が形成されることを意味する。
現在でも「表」や「帳票」などはコンポーネントを使用して開発するが「組み立てるだけ」で開発できるほど、ソフト部品は豊富ではないし、ITベンダーは自社製品で囲い込もうとするので複数の製品を組み合わせて作るのは難しい。
丁度パソコンのAT互換機のように標準化された規格があれば部品も作りやすいだろうがそういうものは今のところ無い。
ただ何時か誰かが作るだろうと思っている。
OSSはそのようになっていると聞く。

ただ低位(上位)レイヤーのソフトウェアなら可能だが、高位(下位)レイヤーの業務システム寄のソフト部品が作れるのかは、多少疑問が残る。
短期的には無理だろう。

ただ部品はどんどん増えていると思うので少しずつ、上記の環境に近づいていくと思っている。

これらが実現に近づいていけばITベンダーは自社製品のソフト部品が収入の柱になっていくことになる。
生産性を考えればこれが正しいと思う。

全てのソフトウェアは部品であるべきだ

現在、会計ソフトも顧客管理システムも業務用パッケージは全て単独で完結するソフトウェアとして実装されており、互いに連動するようには出来ていない。
他のソフトウェアから 顧客管理システムの顧客データと会計ソフトのデータを取り出して「中年女性の顧客に掛かる総コスト」を集計したいと考えても出来ない。

私は以前から「全てのソフトウェアは部品であるべきだ」と思っており、全ての業務アプリケーションは共通規格に沿ったAPIを持つべきだと思っている。
これが実現すると一度誰かが作った機能は誰も作らなくて良くなる。

業務アプリの共通規格は今のところ存在しない。

中小企業はSIerに発注すべき

「システムは自分で作るべき」といっても体力の無い中小企業には自社開発は難しい。
中小企業はこれまでと同様にSIer企業に発注すべきだと思う。
あくまで中核業務だけだが。
中小企業が付き合う相手は直受け自社開発で派遣もSESも雇わない中小SIerが良いと思う。
中々存在しないが。
大手は下請けに丸投げにしてしまうのでコスト高になる。
いったい何重下請けまであるか把握できない。

理想的な業界の姿

全てのITベンダーが自社製品のソフト部品とミドルウェアを販売し、全てのユーザー企業がそれらを購入して組み立てることで安価で中核業務システムを開発する。
周辺業務はITベンダーのパッケージソフトをノンカスタムで導入する。

ITベンダーの製品にはそれぞれの得意な業務知識が反映されている。

これを高位(下位)レイヤーで実現できれば、現在のSIer業界のいくつかの問題が解決すると思う。

・ユーザー企業はシステム開発をSIerに丸投げにする。
 → ユーザー企業が自分で作る。

・ユーザー企業は業務担当者として必要な任務を果たさない。
 → ユーザー企業が自分で作る。経営者が業務担当者をアサインする。

・SIer業界は多重請負構造で非常に無駄が多い。
 → ユーザー企業が自分で作る。ITベンダーは部品を作る。部品はネット市場で流通する。

・多重請負の低層では違法な偽装請負が跋扈している。
 → 取りあえず多重請負は無くなる。請負ではないので。

・多重請負構造はウォーターフォール開発に依存しているが、それが適切な手段とは言えない。
 → ユーザー企業が自分で作るのでウォーターフォールに拘る必要は無い。

これが私が考える理想的な業務システム業界の姿だ。

だからどうした? と聞かれても困るが。


このブログを検索

Translate

人気の投稿

自己紹介

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

QooQ