見たものブログ

Webエンジニア(元組み込みエンジニア)が、本とか見たものをメモしていくブログです

会社のリファクタは誰がするのか : 『会社のITはエンジニアに任せるな!』

プラント型IT

本の冒頭に「プラント型IT」というおもしろい比喩が出てきます。

会社で使うITには、「ツール型IT」と、それとは別に、会社にとって死活的に重要な「プラント型IT」がある

「ツール型IT」は、メールやチャットツール、Webサイト上のIRページのことです。一方「プラント型IT」は、業務と密接に絡みつき、業務を支えるITのことです。工場のプラントのように、稼働が生産に直結しているからです。

工場のプラントは基本的に一点物で、その企業の生産力・差別化力そのものです。会社における基幹システムは、プラントと同じようなものだと言っているわけです。

どの会社にもあるツールを開発するわけではないわけですから要件定義は容易ではなく、費用も莫大にかかります。コストやリターンで得なことが明らかであれば決断は簡単ですがそうではないので、こういうことこそ経営幹部の意思決定が必要なわけですね。

経営幹部と業務担当者が主体的にITに関わるしかない、IT部門や外部のITベンダーに丸投げすべきではない

私は仕事で社内外向けのシステム開発を主に担当しているので、本書のタイトルには少し釣られた感がありますw 少なくともエンジニアが白紙委任状をもらっちゃいけないなとは思います*1

ボトムアップ型ITの限界

会社でいい資料がSlackで回ってきて、一部社員の中で話題になっていました。ボトムアップアプローチのITが会社で氾濫して、情報が構造化していかないと。

「自分の業務」を効率化するために秘伝のスプレッドシートを作ったり、部署ごとにサービスを導入したりするわけですが、当然他のITのことを考慮せずに部分最適で進めていくため、全体として辻褄が合わないという事になっていきます。

会社全体で整合性・拡張性のあるシステムを構築するには、プラント型ITと同じトップダウンアプローチが重要になってきます。これは組織の範囲という面もありますが、「システム全体を俯瞰して設計できるか」という視点の広さの意味合いもあります*2

プログラミングの世界でも似たような話があって、当初は jQuery で画面ごとにごまかしながら作っていたのを、リファクタの段階で Nuxt を導入するみたいなことはあります。

可読性や拡張性を考えると、会社全体のITもどこかでリファクタするタイミングが出てくるのでしょう。そうしないと会社の成長に耐えられないからです。しかも一時のリファクタだとだめで、正しい設計を維持する仕組みも含めて整備する必要があって、それが(エンジニアチームも含めた)組織の設計なのではないかと思っています。

*1:エンジニアは「システム構築プロジェクト」の成功に拘泥しがち

*2:時間軸的な視野の広さの意味合いもあります