企業や行政機関がこぞってDX(デジタルトランスフォーメーション)に取り組むようになり、そこここでデジタル技術を使った新規事業や新規サービスが立ち上がっている。本特集の最終回でもある応用編第3回は、SoE(System of Engagement)領域の新規サービスをアジャイル開発で構築する際の注意点を掘り下げて解説する。
新規サービス開発には、市場調査、ニーズ検証・評価、投資判断など様々なタスクがあるが、その中でもソフトウエア開発はアジャイル開発との相性がよいとされる。ソフトウエア開発では「サービスで実現したい価値は決まっていてもアプリケーションの仕様は決まっていない」ケースが多い。小さな完成品を市場に出し、フィードバックを得て改善するなど、絶えず仮説と検証を繰り返す必要もある。
このような条件下では確かにアジャイル開発の手法が合っている。しかし、相性がいいとはいえ、そこには様々な落とし穴もあるため注意が必要だ。今回は、そうした「落とし穴」について取り上げていく。
業務システムとサービスシステムの違い
本題の前提として、「業務システム」と「サービスシステム」の違いについて3つの観点で整理しておこう。ここでいう業務システムとはSoR(System of Records)領域のシステムであり、主な利用者は社内に閉じる。一方のサービスシステムとはSoE領域のシステムであり、主な利用者は社外にいる。
根底にあるのは「顧客」が異なる点だ。顧客とは、ここではシステムが提供する「価値」を真に享受させたい利用者を指す。業務システムの利用者は例えば業務オペレーション担当者などと明確になっているが、サービスシステムの利用者は不特定多数の一般消費者である。
顧客が異なると、システムの利用頻度もプロジェクトのゴールも異なる。利用頻度でいえば、業務システムは「必ず使わなければいけないもの」である。
なぜならそれなくしては業務を遂行できないからだ。だからこそ業務システムに対しては、「使いにくい」という不満が募っても、システム自体を使わなくなるということにはつながらない。
一方でサービスシステムは(当然の話ではあるが)利用を強制できない。顧客はシステムから享受できる価値に満足しなければ、すぐに離れ、二度と利用しなくなる。
プロジェクトのゴールの違いも見てみよう。業務システムのプロジェクトのゴールは本稼働させること、すなわち運用に引き渡すことである。それに向け、QCD(品質・費用・納期)をコントロールしながら業務機能を要望通りに正しく実装・テストしていく。
本稼働がゴールだといえる理由は、顧客が社内にいるため、要件定義の段階で顧客が抱える課題とその解決策が明確になっているからである。システムが稼働することで顧客の課題を解決できるように機能を実装しているので、目的は達成されているのである。