見出し画像

なぜシステムはオーダーメイドした方がダメになりやすいか?

こんにちは、エンジニアのgamiです。(誰だよお前という人は、最近とっても真面目な自己紹介動画をYouTubeにアップしたのでこちらを見てください。)

さて、服でも家でも自動車でも、「自分好みにオーダーメイドした一点物」「広く提供される既製品」との対比というのがあります。一般に、前者は「お金はかかるが自由度が高い」、後者は「比較的安価だが自由が効かない」というイメージです。

これらはどちらが良い悪いという代物ではなく、状況に合わせて最適な方を選べばいいはずです。一方で、とかくシステム開発においてはそのバランスが崩れ、「オーダーメイド」が過度に評価されているように感じます。

そこで今回は、「ユニクロ」の素晴らしさをヒントに既製品のシステムを使うことのメリットをさらいたいと思います。もちろんソフトウェア産業固有の問題もあるので、適宜その点を補足します。


多く使われている既製品ほど、一般には良いものになる

大前提として、同じようなものを作るのであれば、広くたくさんの人に使われているような既製品の方が価格や品質の面で有利になります。

たとえばユニクロは、昔こそ「安いけどデザインは微妙」というイメージがありましたが、今では値段に見合わないそのデザイン性の高さからファッション感度の高い人からもかなりの支持を得ています。

広く使われる既製品の方が、うまくやれば価格を抑えられるだけではなくその品質や使い勝手まで上げられる好例です。

広く使われる既製品の方が有利な点は、主に2点あります。

1つは、1つのモノを作るのに投資できるリソースの差です。100万人が使うモノと100人しか使わないモノを比較すると、そこにかけられるリソースには単純計算で1万倍の差があるはずです。もちろん厳密には利用者が1人増える毎にいくらコストが増すのかを個別に考える必要があります。たとえば利用者数に1万倍の差があっても、1着のTシャツを作るときの布代は1万分の1にはなりません。一方で、ユニクロUのTシャツを1度デザインしてしまえば、そのデザインは100万人で共同利用することができます。こうした「利用者が相乗りできる部分」において、特にかけられるリソースの差が出ます。

特にソフトウェアは「利用者が相乗りできる部分」がとても大きく、その分「利用者数の差」が「投下できるリソースの差」に直結しやすいです。すでに1万人が使っている既存ソフトウェアと同様のものを自社専用にオーダーメイドするには、単純計算で1万倍のお金がかかるというわけです。もちろんそんなにお金をかけられなければ、品質などを犠牲にすることになります。

2つ目は、得られる情報の差です。残念ながら、いくらオーダーメイドで何を作るか自由に決めていいですよと言われても、本当に欲しかったものを一発でオーダーできる保証はありません。一方で、すでに多くの人に長く色んな状況で使われている製品であれば、利用者からの様々なフィードバックを得て改善が進んでいるはずです。利用者が多いユニクロの製品であれば、販売実績データ、ユーザーインタビューの結果、SNSでの反応などを大量の価値あるデータから、顧客が本当に求めている機能性やデザインを深く理解することができるはずです。利用者からのフィードバックは、特に「使ってみて初めてわかること」が多いほど重要になります。

実はソフトウェアは、「使ってみて初めてわかること」が大量にあります。目に見えないバグがあった、使ってみると操作感がしっくりこない、〇〇という別のシステムと連携したくなった、などなど。こうした要望の多くは大半のユーザーに共通のものだとすれば、オーダーメイドしたソフトウェアを自分たちで使って初めて問題に気付くより、既製品の既存ユーザーたちのフィードバックによってバグや使いにくさが予め解消されていた方が有利になります。

日本企業の自前主義と、既製品の過小評価

一方で、「システム オーダーメイド」などとGoogle検索すると、「御社の課題にあったベストなシステムを独自構築!」とか「オーダーメイドシステム最高!」とかみたいな記事が大量にヒットします。その多くはシステム開発会社のポジショントークなのですが、実際のところ自社の複雑な要望を既製品なんかで賄うことはできるのでしょうか?

もちろんそれは程度問題です。一方で、特に日本企業では「自前主義」が強いと言われています。

 自前主義とは,英語で"Not Invented Here Syndrome"といい,文字どおり解釈すると,「ここでつくったものではない症候群」である。つまり自分が作ったもの,自社が開発したもの,自国で発明された物など,広い意味での自前で作成や発見したものに高い価値を置き,他企業や他国で作成・発見されたものの価値を低く見ることである。 
 自前主義によって,自社の開発・製造した製品や技術にこだわることになり,他社により優れた製品や技術があって自社に導入可能であったとしても,それをせずに自社品に固執してしまうことになる。自前主義は,モノに対してだけではなく,アイディアや意見に対しても,またプログラムや理論などについても生じることがわかっている。

「自前主義」はなぜ起こるのか | 働き方改革研究所

本来は既製品とオーダーメイドの良いとこ取りをして自社のシステム全体を構築していくべきはずです。にもかかわらず、過度な自前主義によって既製品の価値が過小評価されてしまうことがあります。

次の記事でも、自前主義が日本企業のソフトウェア調達を歪めてきたことが強めの言葉で指摘されています。

IT部門は内製力を失ったにもかかわらず、自前主義を捨ててはいない。より正確に言えば、自前主義の残りかすを捨ててはいないのだ。自前主義の残りかすとは、その企業の自前のやり方などのことで、私はこれを「俺様仕様」と呼ぶ。つまり客のIT部門は、自前でシステムを開発したり保守運用したりできなくなっているにもかかわらず、自前のやり方を維持しようとしてきた

はびこる自前主義の残りかす、日本企業のIT活用の悲惨 | 日経クロステック(xTECH)

また総務省の情報通信白書(令和元年版)でも、(オープンイノベーションの文脈ではあるが)自前主義の限界について言及されていました。

デジタル経済の進化の中で、企業と企業の関係は、価値の源泉やコスト構造の変化を踏まえた再構築が求められている。すなわち、これまでは自社の内部で行っていた企業活動について、外部からの調達が必要になることが考えられる。例えば、モジュール化の進展は、複数社のリソースを活用した生産の優位性を高めることとなった。この点を含め、ビジネスモデル自体の変革を含めた新たな商品の開発を次々に行うことが求められている中で、クレイトン・クリステンセンが指摘する「イノベーションのジレンマ」が顕著となり、自前主義での対応に限界が出てきている

総務省|令和元年版 情報通信白書|なぜオープン・イノベーション-自前主義からの脱却が必要となっているのか

ユニクロとオーダーメイドの例でいえば、こうした「自前主義」はユニクロが大量生産の既製品であることを理由に実際の服のデザイン性や価格の優位性から目を背けて盲目的に批判するようなものです。

現実的には、使えるお金や時間が有限である以上、「インナーとパンツはユニクロで、コートとバッグで個性を出そう」みたいな判断に合理性があったりするはずです。たとえば業務システムにおいても、基本的には既製品を組み合わせて構築することで前述した「既製品のメリット」を十分に享受すべき、というのが良い判断になることが多いです。

システム調達においては、「システムを業務に合わせるか?業務をシステムに合わせるか?」という議論がしばしば行われます。自前主義に固執すると当然「独自のシステムを業務に合わせて構築すべき!」となりがちです。しかし、業務フローを少し変えれば既製品で済むのであればその方がいいケースが多いです。言い換えると、オーダーメイドする努力より既製品を上手に使いこなす努力の方が、ことソフトウェアの世界では報われやすいです。

もっと具体的に言えば、「安易に独自システム構築せずに、良いクラウドサービスとかパッケージ製品とかがあればガンガン導入した方が色んな恩恵を受けられますよ」という話になります。

とはいえ、全てを既製品で固めるのは難しいのでは?

一方で、もちろん自社や業界固有の特殊な業務がある場合や、エンドユーザーの新しい体験を作り込む必要があるケースでは、全てを今あるSaaSやパッケージソフトで賄うことは不可能です。個人の私服であれば「ユニクロしか着ません!」と決めることもできますが、たとえば会社の新規事業で「独自の開発は全くしません!」と決めることは事業の選択肢を大きく狭めることになります。

最後に、こうした現実的なバランスの取り方について補足します。(補足なので、読みたい人だけ読んでください。)

まず前提として、良い既製品は汎用的に作られていることが多いです。たとえばExcelやスプレッドシートを使いこなせば、大抵の業務に関わる情報はわかりやすく整理できます。広く使われているソフトウェアは、多くの企業の様々な課題をシンプルかつ汎用的な機能で解けるようによく考えれています。そのため、汎用的で良い既存ソフトウェアを選び上手に使いこなすことができれば、当初想定した以上の業務をカバーできる可能性があります。それもあって、「とりあえず既製品を使ってやってみて、困難を覚えたら独自に作るか考える」という選択を取ることが有利になったりします。

また、システム全体としては独自に構築される場合であっても、個々のモジュール単位で「広く使われる既製品」を採用できるケースがあります。むしろ、本当にシステムの隅々まで独自に1から作るということは稀です。

オーダーメイドとセミオーダーの違い?用語の意味まとめ

オーダーメイドとセミオーダーの違いは?用語の意味まとめ – グッドベット株式会社

たとえば現代においては、オーダーメイドでシステム構築する場合であっても、プログラミング言語から独自に作ることはまず無いでしょう。もう少し大きな粒度でいえば、ソフトウェア開発の多くは「アプリケーションフレームワーク」と呼ばれるライブラリ群を利用します。どんなに用途の違うアプリケーションでも、より低いレイヤーでは必ず共通する処理があります。こうした共通処理の部分で既存のフレームワークやライブラリを使うことで、前述した「既製品のメリット」を享受することができます。たとえば次のような領域に限定して「既製品」を利用することができます。

OS
プログラミング言語
アプリケーションフレームワーク
ライブラリ
インフラ管理
システム監視

こうした「既製品」の多くは、「オープンソースソフトウェア(OSS)」として公開されていたり、「クラウドサービス」として初期コストを抑えつつ利用できるようになっています。

既製品のメリットは、なにも完成したフルパッケージの業務システムだけでしか享受できないものではありません。より低レイヤーな既製品を独自に組み合わせることで、自分たちのやりたいことに柔軟に合わせながら、既製品ならではの優位性の恩恵を受けることができるわけです。

ここから先は

0字
同僚と飲むビール1杯分の金額で、飲み会で愚痴るよりもきっと仕事が楽しくなる。そんなコラムを月に3〜4本お届けする予定です。

【初月無料】デジタル時代の歩き方について考えたことを発信します。ソフトウェアの時代とは何か。エンジニアの頭の中はどうなっているのか。NoC…

サポートをいただけると、喜びドリブンで発信量が増えます!初月無料のマガジン『仕事を楽しくするデジタルリテラシー読本』もおすすめです!