見出し画像

ITの基本知識とデータアーキテクチャ

皆さんこんにちは。今回は前回に引き続きデータアーキテクチャについてご説明したいと思います。ただし、今回はデータアーキテクチャのみ語るのではなく、IT業務の基礎知識に関するご説明を交えつつ、なぜデータアーキテクチャを理解しておくのが良いのか?について掘り下げていけると良いなと思っています。

IT業務の基礎知識

IT業務を構成するのは実は以下の3つの要素なのです。
①データ
②画面
③プロセス

単語だけ言われても想像がつかない方も多くいらっしゃるかもしれません。それぞれについて少しご説明したいと思います。

①データ
wikipediaでは、データとは下記のように説明されています。

個々の事実、統計、または情報の項目である。より厳密には、データとは1人または複数の人や物や事象に関する定性的または定量的な値の集まりである。

https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF

少しわかりにくいので、この場合ExcelやWord等の「ファイル」もしくはMy SQLといった「テーブル」のことを言っていると考えてください。

②画面について
画面というのは、システム上の画面やExcel帳票を指します。データを基に画面を作成したり、画面からデータを抽出・出力するといった関係があります。画面はどちらかというと見ることに焦点を当てたものだと考えると分かり易いかもしれません。

③プロセスについて
プロセスというのは、データや画面の間の加工処理を指します。例えば、私の会社ではfreeeという会計アプリを使って経費精算を行っているのですが、まずfreeeというシステムの「経費精算”画面”」から今月分の交通費を選択し、「PDF」という”データ”に出力します。
この、「経費精算画面」→「PDF」に出力する一連の流れの裏側ではプログラムされた加工処理が実行されています。

これら3つの要素が複雑に絡みあい、ITの業務が構成されています。

ITの基礎知識とデータアーキテクチャ

では、ITを構成する3要素とデータアーキテクチャにはどういった関連があるのでしょうか?少しずつ説明していきます。
まず、データアーキテクチャで作成すべき成果物の1つに「データフロー」というものがあります。
データフローとは、簡単に言うとデータ、画面、プロセスを図式化したものです。
※詳しくは以下のような記事を参考にすると良いかもしれません。
https://and-engineer.com/articles/YDYO9BAAACIAOhu3

つまり、データフローを作成することはIT業務を紐解くことに繋がります。また、データフローを作成していくと、あることに気づくと思います。それは、同じようなデータや画面を様々なプロセスで生み出しているということです。
例えば、ある小売業が店舗ごとの月次売上について分析するため、BIツールを導入し分析画面を作成したとします。当初は東京駅前店からのデータのみを収集して分析していましたが、渋谷駅前店、新宿駅前店からのデータも収集していくようになりました。
それぞれの店舗から取得するデータは同じような形をしており、月次売上を分析する画面も同じですが途中のプロセスがお店により異なることがあります。
というのも、プロセスに関しては技術者の技量や趣味嗜好(いかにエレガントに書くかを重視するなど)によって異なりやすいものです。また、同じ技術者が作ったものでも、作りながら「こっちの方が作りやすい」もしくは「効率的だ」という風にプロセスが異なっていくことも多いです。

データフローを作成するとプロセスの標準化や共通化を実現することに役立ちます。
では、プロセスの標準化や共通化を実現すると何が嬉しいのでしょうか?
私の答えは、技術の継承が容易になるということです。
プロセスがあまりにも属人化してしまうと、その技術者しか管理できないものが出来上がってしまいます。
例えば優秀やエンジニアが、素晴らしいプログラムを書いたとします。ただし、あまりに複雑なため作成したエンジニア以外理解できないとなった場合、以下2つの点で困ります。
①そのエンジニアは作成したシステムやプログラムにつきっきりになる必要があるため、余計な労力がかかる。
②そのエンジニアが職を離れた際、誰もメンテナンスができなくなる。
以前、某メガバンクがシステム障害を複数回起こしたことが話題になりましたが、これはプロセスが属人的なまま放置され、その状態でシステムを新しくしようとしたため起こってしまったと考えられます。
このようにデータ、画面、プロセスを可視化することは非常に重要です。
また、ここまでは範囲が小さいお話でしたが、より企業全体といった大きな視点で可視化していくとDMBOKに書かれているデータアーキテクチャに繋がっていきます。

最後に

ここまでの内容で、IT業務を構成する要素についてやデータアーキテクチャの重要性について多少理解いただけたのではないでしょうか?
今回は「プロセス」中心にご説明したため、データアーキテクチャの全貌を語ることはできませんでしたが、少しでも重要性を感じ取っていただけますと幸いです。

また、昨今では、ノーコードで開発できるツール等が注目されています。
このツールは、プログラムが書けない人でも開発が出来るという点に注目されがちですが、それ以上にノーコードだとある程度表現の幅が決まっているため、今回の話に出たような「プロセス」が属人化してしまうという問題点解消にも役立つという点も注目すべきだと考えます。
「プロセス」の属人化を防ぐため、これから先特にIT人財で必要とされる知識は、綺麗なプログラムを書くことではなく、組織の「データ」や「画面」、「プロセス」を把握し、適切に配置できる力なのかもしれません。
だからこそ、今データアーキテクチャを学ぶ価値というのは十分にあると思っています。
今回の話で少しでも興味を持った方は、データアーキテクチャについて深く学んでみてはいかがでしょうか?

いいなと思ったら応援しよう!