Roman Martin
振る舞い駆動開発(BDD)は、テストファースト、つまりアジャイルなテストプラクティスにフォーカスしたソフトウェア開発プロセスであり、システムの振る舞いを指定したテストを定義(自動化も可能)することで品質の作り込みを実現します。
このプラクティスは、Given/When/Thenのようなパターンを使って、ビジネス担当者と技術担当者の会話からシステムの振る舞いを捉えるという、ビジネス価値に焦点を当てたものです。
これは、以下によって、ビジネス担当者と技術担当者の間のギャップを埋めるプロダクトチームの進め方です:
BDDプロセスでは、あらゆるソフトウェアのテストを、そのユニットの望ましい振る舞いの観点から特定する必要があります。望ましい振る舞いは、どのようなソフトウェア・ユニットであれ、ビジネス上の価値を持つ、ビジネスによって設定された要件で構成され、これは「アウトサイド・イン」活動と呼ばれます。
このプロセスは、ビジネス担当者と技術担当者の会話に基づいており、ディスカバリーワークショップと呼ばれることもあります。ディスカバリー・ワークショップの一例であるExample Mappingは、特定のケースについて複数の例を挙げることで、1つの概念について下手な抽象化をするよりも情報をうまく伝えられるという考えに基づいています。
最終的に、技術担当者は、これらのテストを開発活動の受け入れ基準の一部として使用する、あるいは開発ライフサイクルをガイドするために自動化することができます。
このプロセスは次のように要約できる:
振る舞い駆動開発 をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。