近年、DX推進においてアジャイルの原則とアプローチに則ったデジタルプロダクト開発が求められています。
しかし、スピード感が求められるアジャイル開発において、課題になっているのが「セキュリティ対策」。その解決策として注目されているのが、DevOpsのサイクルにセキュリティを組み込んだDevSecOpsという手法です。
今回は、企業のセキュリティ対策を支援するNRIセキュアテクノロジーズ株式会社(以下:NRIS)の西谷 昌紀 氏(写真左)、セキュリティ人材の教育・育成を行うグローバルセキュリティエキスパート株式会社(以下:GSX)の武藤 耕也 氏(写真右)、モンスターラボ(以下:ML)でQAマネージャーを務める山下 加代子(写真中央)の3人でDX推進におけるセキュリティの重要性とその課題に関する鼎談を実施しました。
取材協力:
西谷 昌紀(NRIセキュアテクノロジーズ株式会社 DXセキュリティ事業本部 DevSecOps事業部 部長)/武藤 耕也(グローバルセキュリティエキスパート株式会社 CCO コーポレートエバンジェリスト)
弊社:
山下 加代子(株式会社モンスターラボ Qualitylab QAマネージャー )
目次
山下:新型コロナウイルスの拡大でDX推進への取り組みが一気に加速するといわれています。社会や企業を取り巻く環境が目まぐるしく変化する世の中で、ユーザーニーズにマッチしたサービスをいち早くリリースし、顧客価値を高めることが求められています。そこで重要なのが、企画や実行、学習のサイクルをスピーディーに繰り返すアジャイルの原則とアプローチ(※1)です。
(※1)アジャイルの原則とアプローチとは
アジャイルの原則に則ったアプローチ(アジャイル思考)とは、ソフトウェアの開発手法である「アジャイル開発」とは異なり、新規事業開発やプロジェクトおよび組織のマネジメントなどビジネスにおけるさまざまな領域にアジャイルの考え方を取り入れることを指します。
山下:変化に柔軟に対応でき、スピード感のあるサービスインを実現できることです。素早く市場に投下して仮説検証を行い、開発サイクルを回すなかで不確実な部分を解消していけるところが、ウォーターフォール開発よりも優れている部分だと思います。
西谷:そうですね。最近、お客様からアジャイルでDX推進したいというご相談をいただくことが多い印象です。これまでのように長い時間をかけてウォーターフォールで作るよりも、市場の変化に対応しながら新しい機能を取り入れるアジャイル開発を採用する企業が増えています。
山下:MLでは、スクラム開発を取り入れ、プロダクトオーナーと開発者だけでなく、品質保証や運用、情報セキュリティ担当者が、組織全体とクライアントビジネスの成功を目指して、お互いに協力する仕組み作りに取り組んでいます。
武藤:すごいスピード感のなかで、クライアントの業務を理解しながら最適な開発体制を構築するのは大変ですよね。
山下:そうですね。より良い提案をするためには、素早くクライアントの業務を理解することが重要です。現在、さまざまな企業がDX推進に取り組んでいるため、多種多様な業種の業務理解が求められていると実感しています。
武藤:以前はただひたすらに言われたことをこなすような開発だったと思いますが、アジャイルやDevOpsは合意形成のプロセスが異なるため、そこがキーになってきそうですね。
西谷:発注側が仕様を決めて、受注側がそれを作り、完成したものが安全だったらおしまいという以前の形とはかなり関係が変わってきています。企業が自分ごととして開発チームと一緒に進めていくやり方を模索していますし、実際にそういうことができるパートナーでないとDX推進を実現するのは難しいです。
武藤:MLさんは、お客様のチームの中に入っていくイメージでやられているんですか?
山下:そうですね。スクラムチームを組成する際に、POの役割をクライアントに担当してもらうケースも増えています。お客様と一緒に進めていくことが功を奏して、良い結果につながっていると実感しています。
武藤:すごく羨ましいです(笑)。一緒に作り上げる喜びを感じられそうですね。
山下:仕様を詰める段階からクライアントとエンジニアが直接対峙しているので、生の声を生かした開発ができると感じており、お客様との距離も近づいているように思います。
西谷:従来のデジタルプロダクト開発では、開発と品質保証の役割分担がある程度しやすかった印象です。しかし、お客様と一緒にものを作っていくやり方ですと、現場の開発メンバーも安全でしっかりしたものを作る責任感を持っていなければいけません。その辺り、MLさんでは、どう対応されていますか?
山下:品質保証はどうしても、検証の段階になってからプロジェクトに参画することが多くなります。そのなかで大切にしていることは、「お客様がプロダクトで何を実現したいのか」ビジネスの目的をしっかり理解したうえで、業務に取り組むことです。非常にタイトな期間でテストを行い、品質の確認をしなければいけないので、ビジネスや業務の目的をしっかり理解したうえで、優劣や強弱を付けて、どこに重点をおいて品質保証していくか考えています。
西谷:品質管理もチームの一員として関わっていくということですね。
山下:そうですね。従来のテストフェーズだけ担当していたときと比べて、チームの距離感が近いなと感じます。
武藤:過去の開発現場で「何のためにこれ作ってるんだっけ」とか「これを使う人たちは、どういうふうに使うのか」ということをイメージして要件定義すると、お客様と意思疎通ができて、しっかり合意形成も取れるので出戻りが少なくなることを学びました。最近は、非機能要件でも同じで、使い方や目的がわからないと、セキュリティもしっかり定義できません。また、限られたリソースのなかでどこを重要視するかは、ビジネス目線で優先順位をつけないといけないと思うんですが、開発メンバーのみんなが理解して意識しながら進めることで、質の高いものができると思います。
山下:具体的な施策としては、どうしてもマニュアルの手動のテストだと、QCDS(※2)のバランスに合わないので、テストの自動化を導入したり、触りながら弱点を探す模索的テストを取り入れながら、スクラムのスピード感についていけるように進めています。
(※2)QCDSバランスとは
Quality(品質)、Cost(費用)、Delivery(スケジュール)、Scope(実現すべき機能等の範囲)をトレードオフさせながら最適なプロジェクト進行をすること。高い品質を求めつつも、費用やスケジュールに過剰な影響を与えないよう最適な方法論を模索する。
武藤:プロジェクト回しながらのテストは、大変そうですね。
山下:めちゃくちゃ大変です(笑)。
山下:デジタルプロダクトの開発では、クラウドやSaaSを積極的に活用しています。例えば、Slackというコミュニケーションツールを活用したアプリ(ボット、拡張機能など)は、魅力的な機能を手軽に利用できるため多くの開発現場で使用されています。
しかし、アプリはユーザーが付与した認証情報を使ってサービス活用するため、必要以上に強力な権限を与えてしまうと、意図せずアプリが機密情報にアクセスできてしまう脅威があります。
武藤:複数のクラウドを使いますが、そこを全部管理できてるかというと怖いですね。
山下:はい。デザイン部分でも先進技術に敏感だったりするので取り入れています。こういった便利なSaaSはうまく使えば強力なので積極的に利用したいのですが、一方で新たな脅威にもなってしまう。そのため、同時に適切な設定や利用方法に気を配る必要があります。
山下:これまではセキュリティテストは終盤に1回実施してリリースしていました。ただ、それだとセキュリティが担保できません。アジャイル開発を取り入れることでリリース頻度が上がると、検査のサイクルもそれに合わせて増加します。そこで初めて根本的な問題を発見していては、手戻りが発生してしまい、予定のリリース期日に間に合わないといった問題も発生する恐れがあります。そのため、なるべく開発プロジェクトの冒頭から品質やセキュリティを理解している人がチームに加わっていることが大事だと思います。
西谷:極端な話ですが、毎週・毎日のように新機能が追加されていく開発をしていくなかで、日々セキュリティテストを実施するのは現実的ではありません。機能の追加や修正に応じて、どんな検証を行う必要があるのかを決めないといけないと思います。どういうリスクがあり、どう仕様で担保するのかを理解したうえで、開発プロセスの中に組み込んでいく必要があります。この取り組みが、まさにDevSecOpsです。それを開発チームの中で主体となって進めていくことが必要だと思います。
武藤:チームの外からセキュリティの専門家が出ていくやり方では、開発のスピードについていけないですもんね。
西谷:「DevSecOps」という言葉を検索をすると、いろいろなツールやソリューションが出てきますが、DevSecOpsもアジャイルと同様に文化だと捉えています。単にツールやプロセスだけで成立する訳ではなく、人とプロセスとツールが噛み合って、プロセスを回していくなかで安全性を高めていくこと。あるいは、安全にするためのプロセス自体を改善していくことが、成熟したDevSecOpsのあり方だと思います。
また、DevSecOpsには「型」のようなものはありますが、一律ではありません。作るものに応じてプロジェクトメンバーが考えながら、プロセスとツールを適切に組み立てていくことがとても重要です。
西谷:DevSecOpsを実践していくうえで大事なことは、開発チームにセキュリティをリードしていくポジションを担う「セキュリティチャンピオン」を配置すること。セキュリティチャンピオンは、必ずしもセキュリティの専門家である必要はありません。あくまでもプロジェクトメンバーの一員だというところがポイントです。
その人が開発チームの中で何が安全かを考え、ツールやベンダーの活用や専門家レビューの必要性を見極めます。そういったセキュリティ人材をチームの中で育てていくことが重要です。
武藤:そうですね。チームの中で育てるほうが定着もしますし、周囲への影響も大きい。チーム内からセキュリティチャンピオンたる人材が生まれることで、組織全体がいい方向に進んでいくという経験も数多くありました。
武藤:従来の開発者向け教育では、やるべき論で考えたり、セキュリティの細かい部分を話すことが多かったです。しかし、便利なツールを少しでも早く覚えたいとか、少しでもコードを先に進めたいという人からすると、面倒くさいだけなんですよね。なので、GSXでは伝え方を変えています。具体的には、「悪用されることをイメージしましょう」と最初に伝えるだけで受講する方の意識も全然変わるんです。
西谷:セキュリティに関心がない開発者だと、セキュリティと開発は遠い場所にあるものだというイメージを持っているかもしれません。でも、安全な物をどう作るか、ツールや手法を活用して効率よく安全な物を作っていくかというのは、開発者としても面白いテーマだと思うんですよね。その面白さを理解してもらえれば、セキュリティを自分ごととして考える開発者が増えていくと思いますし、そういう人たちを支援していきたいです。
武藤:おそらくアジャイル開発やDevSecOpsをやりたくない企業はいないと思います。ただ、どうやればいいかわからない。そういうお客様に対して、この3社でスクラムを組成できればいい支援ができると感じました。
西谷:アジャイル開発やDevSecOpsを通してお客様と一体となり、世の中を便利にしたり、楽しくするものを作りたい。しかも、それを安全なものとして世に送り出したいという気持ちが、3社とも同じなんだと感じました。プロジェクトの最後にセキュリティテストを実施したり、チームの外から指摘するだけではなく、お客様に「自分たちが安全なものを作っているんだ」と実感してもらえる支援をしていきたいです。
山下:お客様のDX推進を支援するうえで、どうしても素早い対応が求められてきます。そのため、セキュリティの必要性はわかっていながらも、スピードとトレードオフになってしまうので、どちらを優先するかという判断を迫られるケースも少なくありません。しかし、アジャイルの文化が浸透したように、DevSecOpsも新たな文化として浸透させることができると思います。開発スピードを落とさずにセキュリティ対策をセットとして取り入れ、より安全なものとして作れることを、3社の取り組みを通して伝えていきたいと思います。
モンスターラボは、デジタル領域の知見を活かし、企業のDX推進戦略をあらゆる面からサポートいたします。
ご提案・お見積もりの段階から、デジタル領域の知見を持つコンサルタントをアサイン。新規事業の立ち上げ・既存事業の変革などのビジネス戦略を上流工程からサポートいたします
開発プロジェクトでは、UXリサーチ・設計、UIデザイン、ブランド開発、デジタルプロダクト開発、グロールハックまでの全行程をワンストップで提供。
モンスターラボが提供するサポートの詳しい概要は、下記のボタンから資料をダウンロードしてください。
DX支援サービス紹介資料ダウンロード