振る舞い駆動開発

プロダクトチームにおける要件理解の共有化
Contributed by

Roman Martin

Published February 09, 2023
Collection
2

概要

振る舞い駆動開発(BDD)は、テストファースト、つまりアジャイルなテストプラクティスにフォーカスしたソフトウェア開発プロセスであり、システムの振る舞いを指定したテストを定義(自動化も可能)することで品質の作り込みを実現します。

このプラクティスは、Given/When/Thenのようなパターンを使って、ビジネス担当者と技術担当者の会話からシステムの振る舞いを捉えるという、ビジネス価値に焦点を当てたものです。

メリット

これは、以下によって、ビジネス担当者と技術担当者の間のギャップを埋めるプロダクトチームの進め方です:

  • ユビキタス言語による要件の共有化
  • 開発をリードし、手戻りを減らし、フローを向上
  • ストーリー、フィーチャー、ケイパビリティの動作をユーザーの視点から記述しようとする、ビジネス向けのシナリオを作成

実施方法

BDDプロセスでは、あらゆるソフトウェアのテストを、そのユニットの望ましい振る舞いの観点から特定する必要があります。望ましい振る舞いは、どのようなソフトウェア・ユニットであれ、ビジネス上の価値を持つ、ビジネスによって設定された要件で構成され、これは「アウトサイド・イン」活動と呼ばれます。

このプロセスは、ビジネス担当者と技術担当者の会話に基づいており、ディスカバリーワークショップと呼ばれることもあります。ディスカバリー・ワークショップの一例であるExample Mappingは、特定のケースについて複数の例を挙げることで、1つの概念について下手な抽象化をするよりも情報をうまく伝えられるという考えに基づいています。

最終的に、技術担当者は、これらのテストを開発活動の受け入れ基準の一部として使用する、あるいは開発ライフサイクルをガイドするために自動化することができます。

このプロセスは次のように要約できる:

  1. システムのシナリオまたは望ましい動作を設定する。
  2. ディスカバリー・ワークショップでのさまざまなテストを文書化する。
  3. テストを実施するか、開発ライフサイクルの受け入れ基準の一部に含める。

実施例

参考

振る舞い駆動開発 をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。


Except where noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license. This site is graciously hosted by Netlify