アプリケーション開発に求められる要件の移り変わり
まずデータベースの話に入る前にアプリケーション開発に関する様々な要件を満たす開発プラットフォームについて話を進めていきたいと思います。
その話を進めるためにまずアプリケーション開発に求められる要件がどう変化してきているかを歴史を振り返って見ていきたいと思います。
ITがビジネスに利用されるようになって50年以上の年月が経つわけですが、最初は伝票を入力して集計して帳票を作るというところから始まりました。
当時はバッチ処理で紙の伝票をパンチカードなどに書き起こし、一度にまとめて処理するというのが主流でした。
やがてコンピュータの性能も上がり、オンラインで伝票を発生時点に入力して、それを後からも参照できる様にコンピュータ上に台帳を作成、蓄積していくという形で利用が進んでいきます。
つまり様々な手作業をコンピュータ化することで業務を効率化していこうという流れで、会計業務だけでなく、販売管理や生産管理など様々な業務がコンピュータ化され業務効率、生産性が飛躍的に向上しました。
業務効率や生産性の向上が一段落するとITを効率化のために使うのではなく競合に打ち勝つための競争優位のための仕組みとして利用できないかと考えられるようになりました。
そして複数のシステムを連携させてちょっとした工夫を加えることで競合他社と差別化したり、差別化できる要素を探すために分析用にデータウェアハウスを構築するようになりました。
そのためにはいままで個別に単独で動作していたシステムを連携させる必要がでてきました。
連携することによって複数のシステムのデータの整合性を維持することや既存の仕組みを流用しながらその競争優位のための新たなアプリケーションを構築することなどが行えます。
しかしやがて競争優位も時間とともに他社が追従するようになり長く続かないということが起こります。
そうするとさらなる改善や全く違うアプローチでの競争優位の模索などを行う必要がでてきます。
そしてやがてそういう競争優位のための最適化も中長期的なアプローチではなかなか効果を得られなくなり、かつビジネス環境の変化も増々加速する状況では、より短期的およびトップマネージメントのレイヤーではなく現場レベルでの取り組みの必要性が増してくる状況となりました。
そういう状況ではプロセスの変更やシステム連携ももっと柔軟に迅速に行えるような仕組みが求められてきました。
さらにその様なプロセスの変更が実際に想定していた効果を発揮できたかどうかは何らかの指標を見て判断する必要があることがわかってきました。
こうなると従来のようにオンライントランザクション処理と分析システムを別々に構築するというアプローチでは到底実現できないスピード感で分析できなければなりません。
そしてこれら一連の動きはいわゆるPDCAサイクルをとおして改善をめざしていくものとなります。
プロセスを構築し、実際にそのプロセスを実行してみて意図した通りの結果となったかどうかをそのプロセスが生成する指標(KPIなど)を見て判断し、効果が出ればそれでOKとし、効果が確認できなければさらにプロセスを微調整するなどして結果が出るまでそのサイクルを繰り返すというような運用です。
さらにその微調整すらも人間を介在させることなく予め何らかの条件で発動するよう仕込んで置き、あるKPIが閾値を下回った場合にはプロセス上の特定ルールを緩和してみることなどが考えられます。
この様に分析システムも受動的に結果を出力するだけでなく、結果に基づき能動的に動作することが求められつつあります。
分析した結果を業務システムにフィードバックする仕組みです。
以上長い間に起こった変化をきれいに整理して順序立てて説明するのはかなり大変で、いろいろと舌足らずな面がありますが、大きな流れという点ではそんなに大きくはずれてはいないと思います。
以上を踏まえて現状求められていることを整理すると、
- 業務処理の効率化、生産性を向上するためのIT化はほぼ終わり、今後そういう単体機能を構築するシステム開発ニーズはほとんどないだろう。
- システムを繋げるというニーズは今後もずっと続く
- 情報システムが生成する情報と人々をより緊密に結びつけてより良い意思決定や良い結果が得られることを支援する仕組みが求められつつある。
一方テクノロジーの進化に関わる要件の変化もあります。
情報を操作する端末としてのクライアントデバイスについて現在急激な変化が起こっています。
PCだけでなくスマートフォンやタブレットからシステムにアクセスしたいという要件です。
より多くの人が場所、時を選ばずにシステムにアクセスするようになります。
従来はデバイスに合わせてアプリケーションの出力をカスタマイズするという方法で対処してきましたが、増える一方のデバイスにその都度対応するのは大変です。
デバイスの変化だけでなく個人の好みに基づいて情報を提供するいわゆるパーソナライズというものも求められています。
ここでは表示する内容と表示方法をきれいに分離する仕組みが求められています。
さらに処理するデータの種類にも変化が見られます。
つまり情報システムで整理、加工されたいわゆる構造化データだけでなく、人やモノの活動から発生するデータも処理したいというニーズです。
PC上で作成したオフィス文書、各種ドキュメント、メール文書、ツイートやブログデータ、スマートフォンから発生する位置情報、アクセス履歴など、さらにモノから発生するデータ、電力計や建造物の監視装置、カーナビ、様々なセンサー、メーターなどから次々と生み出されるデータ、一般的にビッグデータと呼ばれているあまり構造化されていないデータです。
従来は構造化されていないものは利活用されないままでしたが、ハードウェアの高性能化や大量データや非構造データを処理する技術の進化などで活用していこうという機運がたかまりつつあります。