COLUMN
コラム
Column 39

アジャイル開発におけるフィードバックの重要性

QAエンジニアが行うフィードバックというと、テスト結果や不具合傾向の分析やサマリーレポート作成といった下流工程での作業を思い浮かべられる方が多いと思います。
しかし、QAエンジニアが行う上流工程でのフィードバックも重要な役割を持ちます。
今回はWebアプリのアジャイル開発を例に、フィードバックの取り組みとそのメリットについて紹介していきます。

1.アジャイル開発で起きうる問題

Webアプリのアジャイル開発における、よくある問題として以下の問題が挙げられます。

・頻繁な機能追加や仕様変更による不具合
Webアプリのアジャイル開発では、エンドユーザーからの要望や不具合修正により頻繁に機能追加や仕様変更が行われます。また、頻繁なリリースはデグレード(プログラムの変更または修正により、他のプログラムに意図しない影響が生まれ、変更・修正前よりもソフトウェアの品質が劣化してしまうこと) の大きな要因となります。例えばクラウドの電子請求書発行システムの検証であれば、ユーザビリティが顧客獲得に直結するため頻繁に機能が追加修正されることがありますが、デグレードが起きてしまうとその不便さからかえってユーザー利用の機会損失を生みます。

・ドキュメントの不備
Webアプリ開発の納期は短いことが多く、開発仕様書などのドキュメントの整備が疎かにされたまま開発が進むこともしばしばあります。ドキュメントの不備があると不具合の埋め込みが発生しやすくなってしまいます。

2.フィードバックとそのメリット

QAエンジニアという第三者の目線からドキュメントの整備やフィードバックを行うことで、開発対象とその範囲・起きうるリスク・副次的な影響範囲などを明確にし、開発者やPM、QAエンジニアなどの間で認識を合わせることができます。具体的には以下のようなものが挙げられます。

・開発機能/範囲の取捨選択
開発機能/範囲についてあらかじめ関係者間で認識合わせをし、ドキュメントに記載することで、開発の対象範囲を広げすぎたり、開発途中での仕様が変更されたりすることを抑止できます。
限られたスケジュールの中で、無理のある開発は多大なリスクを伴います。そのため、漏れのないようやるべきタスク・やらないタスクを洗い出すことが、品質を担保しながらプロジェクトを完遂するために必要不可欠です。
特にやらないことを洗い出す作業はとても重要だと考えています。アジャイル開発においては特に曖昧にされやすい部分で、開発が進んだ段階で「この機能はあるものだと思っていた」とステークホルダーに言われる事態に陥る可能性があるためです。

・ナレッジの共有
不具合が起きる大きな要因の一つとして開発メンバー間でのナレッジの差分による考慮不足が挙げられます。ドキュメントの整備によりある程度そのリスクは避けることができるでしょう。
しかし、ドキュメントなどの文面上でのコミュニケーションでは、時には細かいニュアンスや仕様について誤認が生じる可能性がぬぐい切れません。そのため、時間を取って各人のナレッジを共有しながら確認する場を設けるというのもデグレードの頻発や要求とのギャップによる手戻り作業を発生させないための一つの手段となりえます。

3. まとめ

今回、アジャイル開発において起きやすい問題とそれを解決するためのフィードバックの具体例をご紹介しました。

開発の基盤となる開発仕様書が曖昧な状態では関係者間でのコミュニケーションにも無駄な工数がかかり、出来上がるプロダクトもそれに対するテスト内容も曖昧になってしまいます。そのため、上流工程でのフィードバックというのは開発工程における土台作りに直結する重要な役割です。

ただし、今回紹介した取り組みはあくまで一例で、QAエンジニアにどこまで裁量があるかは現場によって異なるかと思います。できうる範囲でリスクを軽減しチーム全体が同じゴールを目指して開発を進められるよう、縁の下の力持ちとして動く意識が最終的な品質の向上につながると筆者は考えています。

関連資料・関連リンク

ページトップへ戻る