フィードバックとは何か?ソフトウェア開発のライフサイクルを通じて得られるフィードバックについて解説
フィードバックの概要
フィードバック(feedback)は情報・質問を受ける側からの反応や意見という意味で訳されることが多い言葉です。
今日、フィードバックは様々な場面で使われており、その文脈によって意味は変わってきます。
ソフトウェア開発では、開発前のアイデア段階、プロジェクト始動後のプロトタイピング、ローンチ後など、さまざまなタイミングでフィードバックが得られます。
今回はソフトウェア開発のライフサイクルを通じ、フィードバックがどのような意味で用いられているかを確認しながら、フィードバックのメリットと注意点を解説していきます。
ソフトウェア開発の各フェーズでのフィードバック
ソフトウェア開発がどのように進められるかは諸説ありますが、ここでは以下の6つのフェーズを経ていくとして、話を進めていきます。
- 要件の収集と分析
- 設計
- 実装
- テスト
- 展開
- メンテナンス
要件の収集と分析におけるフィードバック
要件の収集と分析のフェーズでは「どんなITシステムが必要なのか?」「組織はどのようなITシステムが欲しいのか?」を考えていきます。
要件の収集と分析のフェーズでは、主に既存のシステムを利用してきたユーザーの意見を聞きながら、どのような機能が必要なのかを考えていきます。つまり、このフェーズでのフィードバックは、このユーザーからの意見となります。
設計におけるフィードバック
設計のフェーズでは、外部設計書や内部設計書などの文書を作成しながら、どのようにソフトウェアを開発していくのかを考えていきます。
主にプロジェクト・チーム内で各種設計書を確認していくことになりますが、プロジェクト・メンバーからの疑問点や質問点、指摘事項などが、このフェーズでのフィードバックだと言えるでしょう。
実装とテストにおけるフィードバック
実装、つまり実際に手を動かしてプログラムを書いていくフェーズやそれをテストするフェーズでは、実際に書いたプログラムの反応がフィードバックになります。
例えば、エラー画面はプログラムのフィードバックの最たるものです。何か記述に誤りがあったことを、フィードバックとしてプログラムがエラー画面を表示させています。
この他にも、実装のフェーズでプロトタイプを作成する場合は、プロトタイプを見たプロジェクト・メンバーやユーザーの反応がフィードバックになります。
この手法はリーンソフトウェア開発やアジャイル開発などの適応型のライフサイクルで用いられます。
プロジェクト・メンバーやユーザーのフィードバックをもとに、新たなプロトタイプを作成したり、作成したプロトタイプに手を加えたりして、最良の製品の仕様を模索していきます。
展開とメンテナンスにおけるフィードバック
開発していたソフトウェアのテストも終え、ユーザーに展開し、メンテナンスのフェーズに入った後は、再びユーザーからの意見や反応が主なフィードバックになります。
ここで得られたフィードバックをもとに、新たなソフトウェアの着想を得たり、満足度を高めるための改修を行ったりします。
フィードバックのメリット
ソフトウェア開発でもフィードバックが行われますが、どのような効果が得られるのでしょうか?
ここでは、フィードバックを行うメリットについて解説します。
ユーザーの満足度を高める
ソフトウェア開発にフィードバックが必要な理由は、ユーザーの満足度を高めるためです。
有名企業のAmazonやFacebookはユーザーからのフィードバックを参考にして、日々サービスやアプリケーションのアップデートを行い、改善に努めています。これらの会社は「どのような点を見直すべきか」、「改善点はどこなのか」を知るために、ユーザーからのフィードバックを大切にし、ユーザーの満足度を高めることに成功しています。
プロジェクトで協力体制を築く
プロジェクトを成功させるためには、さまざまな意見を取り入れることが肝心です。プロジェクト・メンバー間でフィードバックを送り合う文化が生まれれば、アイデアが蓄積されていき、メンバーのコミュニケーションも活性化していきます。
ユーザー目線を取り戻せる
ソフトウェア開発の成功とは、利用者に満足してもらえて、多くの人に利用してもらえることです。しかし、専門知識を持ったエンジニアは、開発者目線で業務に当たってしまうことも少なくありません。そのため、定期的にフィードバックをし合う時間を設けることで、ユーザー目線に立てるようになり、ソフトウェア開発に活かすことができます。
フィードバックを行う際の注意点
フィードバックは、ソフトウェア開発の成功に欠かせません。しかし、フィードバックを行う際には注意しなければいけないこともあります。ここでは、フィードバックを行う際の注意点をご紹介します。
伝え方に注意する
フィードバックは良い評価を行うときもあれば、悪い評価を行わなければいけないときもあります。ソフトウェア開発では、バグの指摘をする機会が多くなりますが、指摘だけすると開発者の士気を削いでしまうかもしれません。
指摘ばかりされてしまうと、メンバーの精神衛生を悪化させてしまうでしょう。そのため、フィードバックを行う場合は、伝え方に注意しましょう。後述しますが、ネガティブなフィードバックを行う際は、目標も合わせて提示してあげることが大切です。
ゴールを設定する
フィードバックで大切なことは、ゴールを設定することです。フィードバックで指摘をするだけでは、相手の士気が下がってしまいます。そのため、現状を評価した後に、ゴールに向かうための目標も提示してあげます。このようなフィードバックを心掛けることで、着実にゴールに近づいていくことができます。
また、フィードバックにより、メンバーの成長を促すこともできます。
フィードバックを仕組み化する
フィードバックをするタイミングやルールも大切です。フィードバックを仕組み化しておくことで、良いフィードバックを送り合える文化が根付きます。そのため、フィードバックの仕組み化を考えてみましょう。