BizDevOpsがビジネス・開発・運用の敷居を下げ、製品品質の確保と柔軟な開発を実現する

※当サイトではアフィリエイト広告を利用しています。

CTOの視点

DevOpsは開発と運用の自動化を進めたが、業務チームとの関係は手つかずだった

DevOpsは開発と運用に共通のゴールを持たせ、柔軟な機能追加と安定したシステム運用を実現する取り組みです。自動化ツールを積極的に導入し、開発者がコードを変更してから、テストを実施し、本番環境へリリースするサイクルの品質を高めます。アジャイル開発において、頻繁に機能変更を行っても問題が起こらないようにして、開発・運用の信頼を高めます。

多くの開発組織に普及してきたDevOpsですが、その広まりと共に課題も見つかってきました。ある調査では、DevOpsの導入に関して、その導入の成否を評価しているのは62%の企業に留まり、また、ROI(投資対効果)を定義しているのは、わずか33%の企業です。DevOpsは開発・運用という技術組織に閉じた概念であるため、ビジネス上の価値を評価しづらいという課題がありました。

開発チームと運用チームがサイロ化していた際にDevOpsが求められたように、ビジネスチームと技術チームのサイロ化が顕在化してきたと言えます。ビジネス上の価値が、どのようにDevOpsへとつながっているのかを検討する必要があります。

そこで提案されたのが、BizDevOpsというコンセプトです。ビジネス上の要求をまとめて仕様をまとめるビジネスチーム(Biz)と、その要求を実装する開発チーム(Dev)、そして、システムの稼働を保証する運用チーム(Ops)が、共通のゴールの下で協業する考え方です。

BizDevOpsでは、ビジネスチームが顧客との対話や分析で導き出したソフトウェア要求を開発チームへ伝達します。要求から仕様・テストまで、開発サイクルの序盤からすり合わせを行い、チーム間のコミュニケーションを促進します。開発チームに求められるのは、仕様の理解を深めて、高品質な製品開発を行うことです。運用チームは、自動テストを実装し、開発サイクルの高度化を目指します。

BizDevOpsは反復的な顧客からのフィードバックによってビジネス上の価値を実装する

BizDevOpsはリーンスタートアップの実現に有効です。リーンスタートアップは、ビジネス上の要件を定義し、素早く顧客からのフィードバックを受け、反復的な検証を通じて、最適なソリューションを開発します。最適なソリューションがあらかじめ分からないような新分野での開発を行う際に有効で、あらかじめ仕様を固定するウォーターフォール型とは対照的なアプローチをとります。

BizDevOpsはリーンスタートアップにおける構築・計測・学習サイクルの実践を目指します。MVP(ミニマル・バイアブル・プロダクト)を開発するために、最低限のシステム要求を作成するのがビジネスチームの仕事であり、開発チームが実装した後、ビジネスチームは顧客からのフィードバックを受け、その効果を検証します。BizDevOpsは製品リリースを頻繁に行い、フィードバックを受ける頻度を高めるのがメリットです。テストや運用を安定的に行えば、頻繁な変更を行っても、システムの可用性が損なわれることがありません。

BizDevOpsは3つのチームの重なりによって表現されます。ビジネスと開発は機能要求であるバックログの管理でコミュニケーションします。また、開発と運用は製品リリースを軸にした協業が欠かせません。そして、運用とビジネスは製品ポートフォリオを通してフィードバックします。各チームの責任は以下のように定義されます。

  • ビジネスチーム:ユーザー目線の価値
    • 価値創造
    • ビジネス計画
    • ビジネスモデル立案
    • 顧客からのフィードバックの分析
  • 開発チーム:実装とデリバリー
    • 仕様分析
    • 設計
    • 開発
    • テスト
    • リリース
  • 運用チーム:システム提供と最適化
    • デプロイ
    • 監視

要求・実装・テストの追跡可能性が求められる規制業界でBizDevOpsは有効

BizDevOpsが特に求められるのは、仕様の追跡可能性(トレーサビリティ)が必要とされる業界です。医療業界で用いられるソフトウェア等、人命に関わり規制の強い分野では、ビジネス上の要求がシステム仕様へ反映され、それがテストされている点を確認することが求められます。例えば、要求からテストケースまで番号を振って、それらが追跡できなければ、規制当局からの監査に耐えられません。

ソフトウェア開発において、要求開発からリリース及びテストまで過程が正しく行われている点を確認する手法としてV&Vというモデルが提案されています。検証(Verification、ベリフィケーション)と妥当性確認(Validation、バリデーション)の二つの視点で評価を行います。

検証はいわゆるソフトウェアテストであり、仕様通りに製品が実装されている点を確認します。妥当性確認は、本来意図された要求と、対象となる実装に合致している旨を求めます。

DevOpsは検証のプロセスに効果を発揮します。ソフトウェアが期待通りの動作をするよう、自動化されたテストを実装するからです。また、BizDevOpsは妥当性確認への貢献が期待されます。ビジネスチームから提案されたソフトウェア要求が、開発チームの実装や運用チームが自動化するテストケースに合致していなければなりません。ツールを使って、要求から仕様・テストを管理し、トレーサビリティが確保でき、規制当局からの監査にも対応可能になります

まとめ

BizDevOpsは業務・開発・運用のサイロ化を防ぎ、ビジネス上の要求から実装・テストまで齟齬がおきないよう、開発サイクルを高度化させます。顧客からのフィードバックを反復的に受けて検証を進めるリーンスタートアップ型の開発を行いながら、開発・運用チームが少ない負荷で、機能追加・安定運用を行うのを目指します。規制業界ではソフトウェア検証と妥当性確認が欠かせないので、BizDevOpsによって要求・仕様・テストの追跡を促進します。

タイトルとURLをコピーしました