見出し画像

「ITは農業に近い」

どうも、エンジニアのgamiです。

先日とある動画を見ていたら、「ITは農業に近い」という発言を耳にしました。動画自体のテーマはITとは全然関係ないのですが、雑談の中で出てきた言説です。

僕が「ITは農業に近い」という言葉を聞いたのは初めてでしたが、この例えは妙にしっくりきました。特にITシステムについてよくわからない人への説明に役立ちそうに見えます。

一般にIT産業の仕事の進め方は製造業で例えられがちです。特に古めのシステム開発文化の中では、システム開発のことを「製造」と呼んだり、投入する人的コストを「工数」と呼んだり、製造業から輸入された言葉が使われています。

今回は、製造業に例えられがちなIT産業のお仕事をあえて農業に例えることの有用性について考えます。それにより「ITシステムへのあるべき向き合い方」を不慣れな人にも伝えやすくなることを目指します。


IT産業を製造業に例えてはいけない

前述のように、システム開発の文脈でも「製造」や「工数」といった製造業の言葉が使われることがあります。ここには、ITという新しい産業での業務フローを標準化するに当たってすでに成熟していた製造業のプロセスを参考にしたという背景があります。

古典的な産業分類によれば、情報通信業は「第三次産業」に分類されます。社会における産業の発展が第一次産業から第三次産業へと順に進むとすれば、IT産業が農業よりも製造業に近そうに見えるのもよくわかります。

実際、表面的な働き方を見ると製造業とIT産業には近しいところもたくさんあります。両産業のどちらも、主に屋内で働くし、機械やコンピュータを使って業務を自動化することが多いです。

一方で、インプットとアウトカムの関係で比べると、製造業とIT産業はかなり違うことがわかります。

次の図は、製造業の資源投入と得られるアウトカムのタイミングを示したイメージ図です。

製造業のI/Oモデル

横軸が時間で、縦軸が量。赤が資源投入で、青が得られるアウトカムです。製造するものが決まっており、かつ量産できる設備や体制ができている場合、最初にガッとヒトや材料などの資源を投入すれば、早期に価値ある製品をまとめて得ることができます

一方で、同様のイメージ図をIT産業について書くと、次のようになります。

IT産業のI/Oモデル

すでに要件の決まったシステムを作る場合でも、そのシステムが完成するまでそれなりの期間がかかります。システムが完成しても、それが実際ユーザーに使われるようになるまでさらに時間がかかります。システムが稼働する限りは、常に機能改善やバグ・障害対応などのメンテナンスコストがかかり続けます。逆にユーザーが増えれば増えるほど、生み出される価値はかけるコストに対して非線形に増加していきます。

もちろん市場環境や流通の問題など細かい点を挙げれば色々ありますが、ざっくりとはこのような違いが製造業とIT産業にはあります。

ここで重要なのは、両者の時間軸の違いです。ソフトウェア開発においては、実際に価値ある素晴らしいソフトウェアが実現するまでには想像以上の時間がかかります。長い時間をかけて開発したシステムが、リリースしたタイミングではとても使える代物ではなかった、ということはよくあります。この特性がわかっていない人からすれば、「なんで最初からいいものができないんだ!」とか「こんなにコストをかけたのに売上に全然つながっていない!」といった不満につながります。この不満の原因は、こうした時間感覚のズレにあります。

IT産業における業務フローや管理を、製造業のそれを参考に実施してしまうことの問題は、まさにここにあります。製造業の世界は、大雑把に言えば「投入したコストに対するアウトプットがすぐに出てきて売れば金になる」というものです。こうした期待をソフトウェア開発に持ってしまうと、長期的に良いソフトウェアを育てるということができなくなってしまいます

IT産業が農業と似ている3つの点

一見遠いようなITと農業も、似ている点がいくつかあります。

1つ目は、長期的にメンテナンスが必要ということです。農業において毎日の水やりが必要なように、ITシステムはそのサービスが続く限り継続的なメンテナンスを必要とします。法改正への対応のために機能改修したり、利用しているインフラのトラブルに対処したり、色々とやることがあります。気付かぬうちに深刻な問題が発生していることもあるので、なるべくこまめに健康状態を監視することも重要です。

2つ目は、環境に左右されがちであるという点です。多くの畑は、文字通り野ざらしになっており、最終的な収穫量や品質が外部環境の影響をもろに受けます。ITシステムもユーザーや外部のシステムに晒された状態になっており、環境要因による不確実性を抱えています。外部システムの仕様変更に影響を受けたり、悪意のあるユーザーからの攻撃をしかけられたりすることもあります。

3つ目は、インプットしてからアウトカムを得られるまでの時間が長いということです。前述のように、ソフトウェアが開発された瞬間に大きな価値を生むということはあまりありません。じっくりとユーザー数を増やしながら、徐々に機能や安定性が改善されていきます。ソフトウェア開発はさながら、いつ収穫できるかもわからない種を撒いて一から育てるような営みといえます。

ソフトウェア開発の進め方をよくわかっていない人に対して製造業にたとえてそれを説明することには、すでに述べたような弊害がありました。であれば、むしろ「ITは農業に近い」という直感に反するたとえで説明をした方が、実際には的を射ているかもしれません。

土を耕し、種を撒き、じっくり育てるソフトウェア

実際に世の中のソフトウェア開発に対する誤解を見ると、製造業的なイメージとのギャップが原因になっていることが多いように感じます。

・「一度作ったシステムのメンテナンスがこんなに大変だとは思わなかった」
・「最初から完璧なソフトウェアができると思ったが品質が低かった」
・「2倍の工数をかけたら2倍早く完成すると思った」

こうした誤解は、農業的な時間軸でIT産業を見ることで解決します。土を耕し、種を撒き、肥料を散布し、毎日水をやり、半年後に収穫する。ソフトウェアも、良いチームを耕し、MVPを開発し、毎日ユーザーフィードバックを取り入れて改善し、半年後に大きくユーザー数を伸ばす。そんな時間軸で中長期的な視野に立ってじっくりと向き合わないと、ソフトウェア開発は期待通りにはいきません。

IT産業のI/Oモデル(再掲)

人はわからない分野をわかろうとするとき、わかっている概念を当てはめようとします。そのときに参考にする概念を間違えてしまうと、深刻な誤解を抱えてしまうこともあります。IT産業を製造業にたとえて理解するくらいなら、農業にたとえて理解した方が重要な部分を取り逃がさないように思いました。


ここから先は

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

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

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