はじめての開発プロセス 4

フィードバックループ

フィードバックループ

スクラムでは、スプリントの結果からフィードバックを得て、次のスプリントへとフィードバックが反映されます。このように、フィードバックがループを形成しています。第3回で説明したプロセスのパターンも同様にループを形成していました。プロセスのパターンはいずれも、活動の結果が次の活動に影響を与えるように設計されています。つまり、フィードバックループを形成するように設計されており、活動を常に洗練させるようになっています。

フィードバックループにはサイクル時間が設定されます。スプリントにおけるフィードバックループのサイクル時間は1ヶ月に設定されています。つまり、1ヶ月で1サイクルするということです。他にも、スクラムでは1日単位でタスクの割り振りを実施しており、1日をサイクル時間とするフィードバックループを形成しています。スクラムとは異なりますが、ペアプログラミングは設計と実装に対して数分のサイクル時間でフィードバックしています。

フィードバックループのサイクル時間が短いほど、活動の方向性を修正することが機敏になり、活動を最適化できる可能性が高まります。しかし、サイクル時間が短いということは、フィードバックの情報を処理しなければならない時間が短いことを意味し、短時間で情報を処理できないならば混乱と無駄を招くことになります。フィードバックループは、その活動を行う人たちの情報処理能力に応じて設計する必要があります。

フィードバック

ここまではフィードバックの使い方を中心に説明してきましたが、フィードバックをするとは具体的に何をするのでしょうか?具体的には、第3回で説明したIDAサイクル(図6)がフィードバックループそのものです。つまり、フィードバックの対象となる活動がDecideとActであり、Informがフィードバックになります。図4において検証と呼んでいる行為はInformと対応し、Informにより見えてきた未来の可能性が活動の方向性を形作ることになります。そして、Decideが活動の方向性を1つに決めます。図4と図6は同じ事柄を異なる視点から見ています。

図6:IDAサイクル(クリックで拡大)

また、フィードバックには対象となる活動がありますが、フィードバックの対象をさらに分類すると2つの側面があります。それは、活動の結果(文書やモデルなど)と活動の過程(進め方)です。フィードバックは、活動の結果を洗練すると共に、その結果を生み出すための過程を洗練するために行います。図5では、活動の結果に対してのフィードバックが行われていますが、スクラムではこれとは別に『ふりかえり』によって活動の過程に対してのフィードバックを行います。

おわりに

今回説明した内容から要点を以下にまとめます。

  • フィードバックは、何らかの活動を行った結果をその活動の入力にすること
  • フィードバックの目的は、活動が適切に実施されていることを検証し、活動の方向性を修正すること
  • IDAサイクルはフィードバックループの具体例であり、活動を継続的に洗練しながら成果を生み出す
  • フィードバックの対象は活動であり、詳しくは活動の『結果』と『過程』に分けられる
  • フィードバックループのサイクル時間は短いほど活動を最適化できる可能性が高まる
  • しかし、短時間でフィードバックの情報を処理できないならば混乱と無駄を招く

フィードバックの要は、フィードバック情報の処理能力にあります。それは言い換えれば、IDAサイクルのInformを適切に行う能力と言えます。そこで、次回はInformを適切に行うために必要となる『見える化』を取り上げます。

◆◇◆◇ コラム:使うのは誰か ◆◇◆◇

メインフレーム全盛時代のソフトウエア開発では、科学技術計算や事務処理など、ソフトウエアで行うことは限られおり、使う人も限られた人でした。従って、仕様が概ね決まっている「似たようなもの」、「やったことがあるもの」を作っていたといえます。ですから使用する側としては最初に仕様を詰めておけば、あとは完成を待てばよかったのでしょう。

現代ではソフトウエアで行うことは「際限ない」と言えるほどにまで多様化し、生活を支えています。あらゆる人あるいはモノが使用者となったわけです。
どのような使い方をされるのか、どのような機能が必要になるのか、予測が難しいため、はじめから抜け漏れのない仕様を詰めることが困難になりつつあります。

このようなソフトウエアの位置づけの変化によって、ソフトウエア開発は、

「仕様書を読んでその通りに作れば良いものができる」時代から
 「作りながら仕様を決めていくことで良いものができる」時代へ

と変化しようとしています。この変化なくして使用者が満足できるソフトウエアの開発は困難といえるでしょう。
ここで重要になってくるのがフィードバックです。開発者は使用者の視点を得るために、使用者は自分の思いを開発者に伝えるために、フィードバックが繰り返されます。

使用者からのフィードバックを受けながら、使用者・開発者が一体となってモノづくりをする時代。
ソフトウエアに携わるものとして、難しい時代になったと同時に今までとは違ったやりがいのある時代になったとも言えるでしょう。

(株式会社SRA:土屋 正人)

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る