- 目次
0. 変化に即応できるアジャイル開発の重要性の高まり
新型コロナウイルスは、社会を一変させた。この変化を乗り越え、新しい社会像を描くためには、デジタル技術の力を活用していくことが必要不可欠だ。NTTデータ経営研究所ではNTTデータグループが保有するデジタル技術に関するさまざまな知見を活用し、ニューノーマル時代の新しいデジタル社会に関する提言、「Re-Design by Digital ~デジタルによる社会の再構築~」をまとめた。
「目指すべきデジタル社会の方向性」「デジタル社会を支える情報システムの在り方」「デジタル社会実現のために必要となる人材」の3つの観点から、具体的に実現すべき7つのメッセージを発信している。
今回は、7つの内の1つ「変化に即応できる俊敏なシステム」(アジャイル/ブリコラージュ)に着目する。
「アジャイル開発」という言葉はコロナ禍以前から身近なものだった。「アジャイル(Agile)」とは、直訳すると「素早い」、「俊敏な」という意味で、アジャイル開発では従来よりも短い開発サイクルで市場投入を行い、その反応や変化に応じて継続的に開発サイクルをスピーディーに回す。まさに変化に即応する俊敏なシステム開発を志向する開発手法である。
システム開発の現場では、開発スピードを求められるとともに、素早く市場投入してユーザーや顧客のフィードバックを得ることが重要となっている。従来のいわゆるウォーターフォール開発ではなくアジャイル開発を採用するプロジェクトが増加している。コロナ禍に代表される社会の変化の中で、今後はシステム開発に限らず、アジャイル開発手法を取り入れることがますます重要となるだろう。
一方で、アジャイル開発がうまく行かないケースが少なからず発生している。成功できない原因は、アジャイル開発に対する理解不足や、本来適していないプロジェクトに採用したミスマッチなど、さまざまだ。
それでは、アジャイル開発を成功させるためにはどのようなことが必要なのだろうか。今回の対談では、ソフトウエアエンジニアリングを専門とし、ソフトウエア工学(学問)だけでなく開発や運用の実践の技術に詳しい、早稲田大学基幹理工学部の鷲崎弘宜教授とNTTデータAgileプロフェッショナル担当部長の市川との対談を通じ、アジャイル開発成功における要諦を探る。
1. アジャイル開発の成功事例
市川アジャイル開発というと、比較的小規模のプロジェクトに適用するケースが多かったように思います。しかし今後求められているのはある程度規模のあるケースへの適用です。今回は成功事例として、私が関わったNTTデータの活動についてご紹介します。
30年以上にわたりNTTデータが提供している決済サービスCAFIS。この周辺サービスにアジャイル開発を活用したのが「Digital CAFIS」です。
CAFISは日本の決済インフラという性質上、安定運用が第一です。その一方で、お客さまや市場のニーズをタイムリーに反映するために組織として必要な柔軟性や最新テクノロジーへの追従の不足といった、内部的な課題がありました。
これらの課題を解決するため、私のアジャイル専門家チームも加わり、売り上げデータ管理やシステム開発管理などのビジネスプロセス基盤の社内インフラと商品開発プロセスの2つについて見直しを行いました。この際、従来の組織のルールや仕組みの中で行うことが難しいと感じたため、経団連の出島戦略(※1)を活用して既存組織から完全に独立させた状態で進めました。
CAFISを提供する組織がアジリティのケイパビリティを獲得するために、Digital CAFISのプロセス変革には欧米でデファクト・スタンダードとなっているSAFe(Scaled Agile Framework)(※2)という枠組みを用いました。経営のレイヤーにも焦点を当てており、組織としてアジリティを出す目的にマッチしている上、「社員エンゲージメント」、「生産性」、「品質」、「市場投入期間(スピード)」の4つの指標で成果が出ているかどうかを測っていくことが定義されている点でも扱いやすいと思っています。
プロセス変革では、従来分断されていたシステム開発と運用の体制を一体化してサービス提供する「DevOpsと継続的デリバリー」をできるようになることがアジリティの確保につながると考え、メインに据えています。開発と運用が一体となって素早く価値を提供し続けるためにはITのソフトウエアの更新が必要なので、それができるよう仕組みや人も含めて変化させました。管理職が持つべきマインドや思考もこれまでと違うことを理解してもらうため、定期的に振り返るなど、メンバーの教育に活用しています。
図1:Digital CAFISでのSAFe活用の考え方
グランドデザインの検討では、逆コンウェイの法則にのっとり組織とアーキテクチャを統合させ、チームが独立して動ける組織構造と疎結合なシステムアーキテクチャそのものの両面について見直しを行いました。例えばECサイトでは会員登録機能と商品購入機能についてシステム構造を疎結合な構造とし、その開発体制も別々にしています。この改善サイクルを回した結果、Digital CAFISの取り組みとして最適な姿にたどり着きました。アーキテクチャとチームの役割を徐々に変化させていくというのは成功の肝になるところだと思います。この改善活動は現在も継続しています。
市川Digital CAFISの取り組みについてSAFeの4つの指標を評価したところ、品質は従来と同等レベルをキープしたまま、他3項目すべてで改善が見られました。特に社員エンゲージメントがあがると、スピードや生産性を上げるための改善活動においてプラスのサイクルが維持できると感じています。定量的に比較することで組織がケイパビリティを獲得し、アジリティが高い状態を維持できるとも感じています。
図2:Digital CAFISの取り組み成果
2. 改善し続ける「マインド」は「行動」で測る
鷲崎これまで私が見てきた現場では技術面ばかりが注目され、目先のアジャイル開発を進めることが目的になってしまいがちでした。Digital CAFISでは「改善を意識的に進める」ということを、組織的な仕組みとして取り入れている点も成功のポイントではないでしょうか。
市川鷲崎先生がおっしゃるように目の前のアジャイル開発に集中してしまう現象はどうしても起こってしまいます。そこで、外部の人が継続的に問題点を指摘できるような体制を組んでいます。Digital CAFISの場合はわれわれのような社内別組織や外部ベンチャー企業などに入ってもらい、一般的にみておかしいところがないかチェックしてもらっています。
鷲崎外から指摘を受ける体制をつくるというのは素晴らしい取り組みだと思います。
アジャイル開発成功のためには、きちんと規律をもって作業標準を決めるだけでなく、根底にあるマインドの共有が重要です。「何をするのか」というより「なぜするのか」という視点で、グッドプラクティスについてどのようなことに気を付けなければならないか「組織やプロセスなどの推奨パターン」という形で共有するのがよいと思っています。改善を継続するために外から指摘を受ける体制をつくるというのは、一つのパターンになるでしょう。NTTデータの場合もマインドを醸成する事を意識的に行っているのではないかと思いますが、どのようにされているのでしょうか。
市川Digital CAFISにおける開発者の育成では、マインドの変革を中心として多くのリソースをかけています。言葉で「主体的に」や「自立的に」と表すのは簡単ですが、マインド変革の成果は行動の変化でしか見ることができません。
CAFISは決済サービスなので、決済の知識を持った開発者に対して研修と実践を通じてアジャイル開発に関するリスキルを行いました。そうすると、第三者からアジャイル開発が合わないとわかる開発者や、自ら合わないと申し出てくる開発者が一部いました。実際の行動を見て、マインドが合うメンバーをなるべくリスキルするようにしています。
鷲崎「アジャイル開発の基本はマインドである。Do AgileではなくBe Agileだ」とは言うものの、マインドを測ることが難しいという中、行動のような、間接的な現象や結果を継続的にみていくことは重要です。大学に籍を置く身としては、今後データによる裏付けはしたい。たとえばアジャイル開発の成功に不可欠なCI/CD(継続的インテグレーション/継続的デリバリー)についても、やみくもにやればよいというわけではなく、段階やチームの規模に応じた導入検討が必要なことが私たちの研究で示されつつあります。
市川Digital CAFISの場合、商用でサービス提供している部分にはDevOpsとCI/CDを用いますが、プロセス変革の「価値創造」活動で検証している、例えばブロックチェーン技術を使った決済の内部PoC環境には、CIの仕組みを入れていません。PoCで主眼においているのはビジネスとして成り立つかということなので、改善活動の結果で必要ないと経験的に判断しました。
鷲崎それは研究結果と整合する可能性がありますね。試行錯誤の中で経験的に育まれたものと、データで見たものの整合性を見て、パターンを含めてコミュニティー全体で改善し続けるとよいと思います。
3. 自分たちの課題を考えてパターンを活用する
市川Digital CAFISの場合は課題が明確にわかっていたので、解決手段としてアジャイルを取り入れることができました。しかし、成功したものを参考に進めようとすると手段が目的になってしまうことが起こりがちです。自分たちの課題は何かを忘れて事例を参考に進めてもうまくいきません。手段と目的を履き違えないためにも、自分たちの課題は何かをベースラインとして考えるのが重要だと思います。
鷲崎私がパターンの構築に取り組んでいるのはそのためなので、100%同意します。不確実性が高くないときは成功事例をそのまま使えましたが、コロナ禍の変化の大きい時にはそうはいきません。大事なことは、成功した解決策を繰り返すのではなく、背景にある成功した理由(文脈)をとらえて、そのうえで次の異なる文脈についてどう取り組むかを考えることだと思います。そうすると個人・組織・チームが成長できると思います。なぜ成功するのかを考え、言語化して組織に展開するのがパターンの肝となっています。
市川Digital CAFISの場合は鷲崎先生がおっしゃった抽象的な組織やプロセス推奨パターンのようなものに基づいて実行したというより、実際の業務において、チームで課題を見つけて解決するやり方を重視していました。非効率な面もあったかもしれませんが、育成につながったと感じています。
一方、自動化に関してはSAFeを参考にして、大規模ミッションクリティカルシステム全体のアーキテクチャやシステム開発環境も含めた全体の改善を考えられるような優秀な人材を集めた「システムチーム」に解決策の策定を集約しました。実際の運営を行ってみても効率的で成功だったと感じています。
図3:組織とアーキテクチャの結合
鷲崎大変すばらしい取り組みだと思います。より踏み込んだ具体的なパターンと言えるのではないでしょうか。
4. 価値の連鎖「見える化」と「協創」
鷲崎これからのソフトウエア開発では企業やビジネスの目先の価値に加えて、高い次元の社会的価値が大事になってくるでしょう。NTTデータではSDGsも含め社会的価値を考えていると思いますが、アジャイル開発とのつながりや意識についてはどのように持たれていますか。
市川SAFeのプロセスには、ビジネスの価値をどう考え、どう提供していくのかを考える「バリューストリームワークショップ」があります。
そこでは、企業がエンドユーザーに価値を提供する流れの検討がメインですが、組織的な評価目標や改善目標を設定して、それらをビジネスとどう関連付けるかを可視化して考えます。これはDigital CAFISでも行っています。5年や10年といった単位の話になると、現場だけでなく事業戦略を考えるような形になっていくイメージをもっています。
鷲崎ソフトウエア業界は一人一人の貢献が見えにくい。そのため、それぞれの取り組みがどうつながっているかという「価値の連鎖」を目標や戦略のつながりとして根拠やデータを伴って明らかにし、組織で対話することが求められます。これは経産省のDXレポート2ワーキンググループ報告書(※3)でも推奨しています。
市川新しいことに取り組もうとしているユーザー企業はシステムの内製化を進める傾向がありますが、そうすると「ビジネスオーナー(BO)」のように責任者を中心とした層にアジャイルの思想や実行を経験されていない方が入ることになり、うまく巻き込めないことがよくあり、課題になっています。
地道に勉強会を開催したり、キーマンのお話を聞いていただいたりするなど、効果がありそうな取り組みをトライしていますが、特効薬のようなものは見つかっていません。この層の協力がないと目指す効果が出にくいので課題となっています。
鷲崎一足飛びに実現するのは難しいでしょうね。日本の場合はユーザー企業が発注側、ベンダーが受注側という従来型の分業構造が根付いています。段階的に少しずつ、アジャイル開発の導入によって受託から協創する形へと変化させていかなければならないでしょう。私が主催しているリカレント教育でも、音楽業界や食品業界のように、これまでベンダーに発注をしていた業界の方が参加するようになっています。国全体としても人材育成の機会を作り、後押しをしていく必要があると思います。
https://www.meti.go.jp/press/2020/12/20201228004/20201228004.html
5. アジャイル開発の成功に必要なこと
アジャイル開発自体を目的化せず、「Be Agile」のマインドで取り組むこと。単なる事例ではなく、なぜそれを行うのか、文脈まで含めたパターンを蓄積し活用していくこと。それが変化に対して俊敏に対応するアジャイル開発を成功させるために重要なことだ。
今後、不確実性の高い社会環境が続くことが見込まれる中、システムなどの開発に求められる俊敏性、即応性を実現するためには、先を見越してしっかりとアジャイルに適した環境を整備しておかなければいけない。童話「アリとキリギリス」の教訓を思い起こされる、非常に有意義な対談であった。