orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

自動化がいいことばかりではない理由

 

IT業界にいる人なら、とにかく自動化が正義。自動で動くことで人の手を削減し、効率化できると一本調子で思っている方も多いと思う。シンプルに考えればそれは正しいが、現実は色々そうはいかない。自動化をたくさん進めたからこそ困る現実はある。

自動化すると何が問題になるかって、自動であるからこそ人間が、それが自動で動いていることを忘れる点だ。安定して自動で動いてくれると、人間がそれが自動化による恩恵だということを日に日に忘れていく。

その結果、ある日動かなくなるようになると人間が大いに困る。どうやってそれが自動化されていたかについてわからない。作った人ならもちろんわかると思いきや、作った人も人間で、忘れるのである。私も、自動化の仕組みを作った張本人なのに、自分の作品がどうやってできていたか調べることがある。自動化したことはおぼえているけど、どういう風にやったのかまでは日に日に忘れるものだ。

だからこそ、自動化については設計図が必須となる。

むしろ自動化を構築した人がまだ現場にいたならまだ幸運だ。例えば、構築する人と保守する人が分かれているのが世の常である。自動化がうまい彼は、構築するやいなや、他の現場に移ったり、もしくは会社を移ったりするかもしれない。そして今日もまだ別の現場で自動化している。そうなると目の前にいないのだから、作った人以外の人が自動化部分の保守をしなければいけない。そのためにも、頼むから作るときには設計図は残そうねという話になる。自動化は便利だが後々のことまで考えなくてはならない。

そうなるとIT業界におけるほとんどの成果物は自動化が目標なのだから、不具合が起こった時に誰かが保守しなければいけない宿命となる。自動化と引き換えに、自動化自体の仕組みにいつでも手を入れられるようにしないと、自動化したばっかりに大きな苦労をすることになってしまう。

この自動化と、自動化の未来の保証をセットにした考え方が、ソフトウェアであると思う。このソフトウェアは、ソフトウェアが実現する機能について、不具合があれば解消するし、機能追加したければ(有償で)対応する。ただし、有効期限を設け、永遠には保守しませんよ、とする。もしソフトウェア開発側が商売を続ける気があれば、次のバージョンを出し、使い続けたいならさらにお金をちょうだいと、ビジネスの形を整えた。自動化の抱える問題を、ビジネス化することでお金で解決できるようにした。

自動化すればコストダウンするだろうと、自動化部分を外部ベンダーに作ってもらい、その後コストダウンだと思きや、毎年の保守費用の支払いがのしかかってくる。更に数年後にはハードウェアもソフトウェアも古くなったと言って、作り替えを要求される。

いったい、自動化した意味はあったのか・・というくらいコストが積み重なり、自動化の意欲がどんどん失われる動きもあった。もしくはもう他には頼らず全部自前でやろうという内製化の流れも本格化した。

で、いろいろ、人々は試行錯誤したものの、つまるところは、自動化はどこまで経っても厄介なものという理解は間違いなく人々に浸透したように思う。便利だが、その便利を続けるためにはコストがいるのだ、と。

IT業界に携わる人は、作ること自体を喜びにしている人は多いと思うが、作った後のことまで考えるのが重要なんだよ、と言っておきたい。その自動化、ちゃんと後のことまで考えている?。