今回の記事は Bonfire に関する、2011 年 12 月 22 日に発表された Christina Bang 氏のブログ投稿「The only way to keep bugs out of your software」の弊社日本語訳です。原文はこちらでご確認いただけます。
バグのないソフトウェアを保証する唯一確実な方法は、初期の段階でバグが作られるのを阻止することです。バグの阻止は製品管理、開発、および QA チーム間でのコミュニケーションと協同作業から始まります。Atlassian Bonfire は議論を促進し、作業を経て計画からテストまでのストーリーをつなぎあわせるためのツールを備え、その構造も軽量です。そのため、テストが始まる前に既に全員が期待値や合格基準を理解しています。
アジャイル チームにとって Bonfire の柔軟性は重要な強みです。規定のワークフローは付属せず、テスターや開発チームに方法論や慣例を押し付けたりすることはありません。Bonfire はあらゆる種類のアジャイル開発で機能します。バグが二度と日の目を見ないようにするためにさまざまなチーム (スクラム、カンバン、およびその間のチーム) がどのように Bonfire を使用しているかを調べるべく、私は Atlassian の QA チーム リーダー Andrew Prentice 氏にインタビューしました。
スクラム チームは Bonfire をどのように使用していますか?
「Bonfire は面倒なプロセスを追加することなく既存のスクラム ワークフローにぴったりとはまりますね。イテレーションの開始時に 1 ~ 2 名のQA チーム メンバーがプラン ミーティングに参加し、ディスカッション中にテスト セッションをストーリーに追加します。つまり、開発者がストーリーの作業を開始すると、それに関連付けられたテスト セッションからどのテストが予定されているかが示され、開発者は自分の作業にそれを取り込むことができます。」
「期待値をまず定めることで、ストーリーが QA チームに渡されてテストが開始されるときにバグが現れるのを大幅に防ぐことができます。そして、ストーリーが開発からテストに回されたときに、これらのセッションが処理されることになります。ストーリーが ‘完了’ とマーキングされると、スクラム マスターまたは製品オーナーが [テスト セッション (Test Sessions)] タブにアクセスしてこれらのテストがいつ終わったかを確認し、テストされたものとされなかったものを調べるためにそのプロセスを繰り返します。」
「さらに、テスト セッションの作成が計画段階で会話の火付け役となるのも良い点です。想定に誤りがあったり考えの隔たりがある場合はこうした議論で浮き彫りになりますし、初期の段階でバグが作成されるのを大幅に防ぐことができます。テスト セッションの目的や合格基準をチームが把握するためのツールは他にもありますが、Bonfire はこれらをストーリーに直接結びつけたり、ストーリーと関連付けられたセッションとストーリーの両方のステータスに結びつけることができます。そのため、製品管理、開発、QA の各メンバー、さらには経営陣までもが全体像を把握できます。」
こうしたプラン ミーティングを行わないカンバン チームにとっての利点は何でしょうか?
「Bonfire ワークフローについてスクラムと違う点はこうした前もってのディスカッションがないことです。その代わり、テスター、製品マネージャー、および開発者間でのその場その場での会話が口頭、メール、またはインスタント メッセージで多く行われ、比較的簡単に失われてしまいます。Bonfire ではこれらのストーリーはテスト バケットに入ってくるため、簡単に追跡可能です。また、以前のストーリーを確認するために戻ったり、実行されるテストを改良することもできます。」
「カンバン チームはボード上で作業をすばやく一定のスピードで動かすことに注力しています。テスト セッションを徐々に反復的に追加できるため、あらかじめこのブロッカーを掲げる代わりに、ストーリーが開発作業で進む中で新しいテスト アイデアを盛り込んだセッションを追加できます。Bonfire はこのジャストインタイム作業方式を促進します。」
コミュニケーションの促進
子どもの頃、’伝言ゲーム’ 遊びをしたことはありますか? 友達の耳にある文章をささやいて、その友達が次の人の耳にささやいていくというのを繰り返すものです。通常、5 ~ 6 人の人が文章を伝え終えた頃にはその内容の論点が変わってしまったり、支離滅裂になったりします。
ソフトウェア開発は時に伝言ゲームと似たような感じになります。顧客の要望が途中で一部抜け落ちてしまうことがあります。
- 顧客が販売スタッフに伝える
- 販売スタッフがマーケティング スタッフに伝える
- マーケティング スタッフが製品管理スタッフに伝える
- 製品管理スタッフが開発スタッフに伝える
- 開発スタッフが QA スタッフに伝える
より良いソフトウェアに仕上げるためのキーは、バグを防いでユーザーが欲する内容を作り上げることです。Bonfire はこうした人たちをつなぎ合わせます。コードを記述するのは人間であり、人と人とのコミュニケーションや協同作業がより良いソフトウェアにつながるからです。







