アプリケーションを構築するために考える基本的な要素は3つだと思います。それがファンクショナリティ、ユーザビリティ、スケーラビリティです。
1.ファンクショナリティ(機能性):アプリケーションが提供すべき機能そのもの
2.ユーザビリティ(使える性※):アプリケーションの機能を、ユーザーが使えるようにする
3.スケーラビリティ(調整可能性):ユーザービリティを低減させること無く、適切な数のユーザーに提供する
※ユーザービリティを「使いやすさ」と訳すと「ユーザビリティ=使いやすさ」なんて誤訳をいつまで放置するのか?と言われてしまうので。
この3つは同時に実現されるべきものです。機能が良くても使えなくは意味がない。使えても提供できなくては意味がない。提供もできて使えても機能がヘボでは意味がない。
これがけっこう難しい。アプリケーションというと1.ファンクショナリティというのに目が行きがちで2、3を無視することが少なくありません。逆に2がクライアントニーズにフォーカスしすぎてしまい斬新的なイノベーションに終始してしまう。ようやく1と2のバランスが取れたところで、3でこけて信頼を失うなんてざらに起きることです。
4つ目の軸はサステナビリティ
3つを同時に実現させるだけでも難しいのに、さらに考えるべき4つ目の視点があります。それが「サステナビリティ(持続可能性)」です。アプリケーション・サステナビリティというのは「アプリケーションが将来においても顧客に機能を提供し続けられる可能性を現在において持っていること」ということができます(「企業のサステナビリティ」についてはこちら)。
では、どのようにサステナビリティは評価されるのでしょうか。たとえば企業のサステナビリティというと、企業の事業活動に対する経済合理性、環境適合力、社会適合力を評価することになります。それぞれをアプリケーションに置き換えて考えてみます(注意!純粋にアプリケーションの話なので電力消費量とかは言わないです)。
アプリケーション・サステナビリティ評価:経済合理性
これは単純。ものすごく簡単に言えばアプリケーションを動かすことで得られる売上や投資がコストを上回っていることです。またセキュリティやコンプライアンスなどのリスク管理も含まれます。インフラ面ではディザスタリカバリ(災害時復旧)とか。
アプリケーション・サステナビリティ評価:環境適合力
アプリケーションにとっての環境(僕としては外圧)というのは、ユーザーニーズ・市場・技術などの変化と読むことができます。ですから、1.ファンクショナリティ、2.ユーザビリティ、3.スケーラビリティの変更に適応するだけの下地があることが考えられる。適切にコンポーネント化されていること、標準技術に対応していることなどでしょう。
アプリケーション・サステナビリティ評価:社会適合力
これはアプリケーションを取り巻く人が持続的に関われるような取り組みと考えられそうです。
例えばユーザー。持続的にアプリケーションを使うためにマニュアルが分かりやすいとか、細かいFAQが運用されているとか、ユーザビリティ評価が継続的に行われるとか。
他には運用オペレーター。単に人がいるだけではなくてインシデントの処理プロセスが定義されているとか、そもそも人員教育やノウハウの継承が定義されているとか。
アプリケーション・サステナビリティへのフォーカス
まだまだ曖昧ですが、このアプリケーション・サステナビリティへのフォーカスを進めるためのテクノロジーとは何かという点が気になっています。前回紹介した「アジャイル・エンタープライズ・アーキテクチャ」というのもアプリケーション・サステナビリティが重要な視点になるはずです。
