2010-01-16

Forecast と Backcast の視点

エコの世界にはフォアキャスト(Forecast)とバックキャスト(Backcast)という言葉があるらしい。

そもそも、フォアキャスト(forecast)やバックキャスト(backcast)は、釣りの世界の専門用語で、フライフィッシングにて、釣り糸と仕掛けの重さだけで自分の思うポイントに疑似餌を投入する竿と糸の振り方(キャスティング)で、前に振るのをフォアキャスト、後ろに振るのをバックキャストと言うのだそうだ。

で、エコの世界でどのようにフォアキャスト(Forecast)とバックキャスト(Backcast)が使われているかというと・・・

「バックキャスト」と「フォアキャスト」とはどかが違うの? より引用】
フォアキャストでは、過去の実績を延長して(たとえば)25年後の目標を決めます。この場合、25年後の目標はたとえば努力の程度、実現の難易度などで複数個(~無限個)のものを設定することができます。これとは全く違って、バックキャストでは、たとえば「炭酸ガスの排出量を25年後に6億トン以下に抑える」といったことを「決めます」。目標は動かさない(動かせない)のです。そうしておいてから、「では今、そして来年から25年後まで、何を何時迄にやらなければならないか」を決めます。これにも幅(余裕、選択)は(ほとんど)ありません。そして実行してみてたとえば1年後に結果を見て、もし計画からずれていたら直ちに今年の計画に組み込まなければなりません。
【引用終わり】

要するに、このまま放っておけば地球は滅亡する。それを防ぐためにはこれこれのことを積み上げていかなければいけない。今年の目標が達成できなければ、来年は今年実現できなかった分も実施する。生き延びることができた場合の未来から過去を振り返ったときに、やるべき事を考えるのがバックキャストということだ。

そこでふと思った。エコの世界だけでなく、フォアキャスト(Forecast)やバックキャスト(Backcast)という視点は大事だということである。

フォアキャスト(Forecast)とは、「前を見通す」という意味で、現状分析から出発して、将来どのようになっているかを考える。楽観的な人は楽観的な未来を悲観的な人は悲観的な未来を予想するだろう。どちらにしも、ある意味未来に対しての責任があるという色彩は薄い。

しかし、環境問題で使われているバックキャスト(Backcast)の例を見れば分かるように、バックキャストには目指すべき未来を実現するための責任という意味も含まれる。

これは、ソフトウェアプロダクトライン(ソフトウェアの再利用戦略)の実践にぴったりじゃないか。

ソフトウェアプロダクトラインが日本での成功例がなかなか見あたらない一つの理由に、日本人の未来を見通す力の低さと、来るべき未来を実現するための今の責任という視点に欠けているという点があると思う。

これこそ、フォアキャスト(Forecast)とバックキャスト(Backcast)の視点だ。

ソフトウェアプロダクトラインは、コアとなるソフトウェア資産を構築して、それを使ってさまざまな派生製品を作っていく戦略だ。簡単に思えるかもしれないが、実現するのは極めて難しい。難しい理由は、次の三つだ。
  1. 再利用可能なコアアセットを作るスキルが足らない
  2. コアアセットを作るための一時的に時間とコストがかかる
  3. せっかく作ったコアアセットを我慢できずにすぐ修正して派生させてしまう技術者を組織が制御できない
これらのハードルを越えてソフトウェアプロダクトラインを成功させるためには、次のようなことが必要であろう。
  1. 開発効率が上がりこれまでの半分くらいの工数で楽々新製品のソフトウェアができてしまうソフトウェアプロダクトラインが成功したときのプロジェクトの姿を想像する。
  2. そのための必要なスキルや、組織構成、時間、コスト、必要な技術支援は何かを考え、実現のための計画を立てる。
  3. 最初(コア資産ができあがるまで)は辛くとも、未来の自分達の姿を夢見てスキルアップに精進する。
ここにはフォアキャスト(Forecast)とバックキャスト(Backcast)の両方の視点が入っている。大事なのは、未来のあるべき姿を実現するためには、辛くとも努力を続けあきらめずに途中で取り組みを放り投げないことだ。


そのためには、あるべき姿、未来の成功した自分から現在をバックキャストして何が足らないのかを考えることも必要だし、現状を分析して未来に向けて何をすべきかというフォアキャストの視点もいる。

辛い現実があるとつい近視眼的な視点になりがちだが、5年、10年というレンジで、フォアキャスト(Forecast)、バックキャスト(Backcast)の視点で、左うちわで価値の高い商品を生み出すことに成功している自分を想像しつつ、そのために今やるべきことは何かを考え、実行することが大切ではないかと思った。

バックキャスト(Backcast)したときに、今の自分の双肩にかかっている責務を感じることができない人は、結局はいろいろな誘惑に負けて想定した未来を掴むことはできないのだと思う。 

3 件のコメント:

ZACKY さんのコメント...

ご明察.プロダクトラインにおいては特に forecast の重要性が教科書でも言われています.

たとえば,Clements & Northrop の教科書には Technology Forecasting (技術予測)という,そのものズバリの practice area があります.market analysis を重視する理由も,forecast から来ています.

これに対し,backcast については明言している文献は,僕はまだ見たことがありません.しかし,backcast という言葉を使っていなくても,scoping やプロジェクト管理の practice area では,暗黙のうちに backcast の考え方を取り入れていると解釈できると思います.

forecast, backcast がうまくいくかどうかが,予測型(proactive) のプロダクトラインではとくに重要です.しかし,予測には限界があり,かつ日本にとって不得意な領域なので,発掘型(extractive)のプロダクトラインが注目されているのだと思います.

僕は forecast の研究を中心に進めているのですが,これはプロダクトラインにおける予測の限界を見極めたいという動機から来ています.まだ材料をそろえている段階ですが,今の時点での中間的な結論では「予測の確度が高い領域(ドメイン)をうまく切り出して,そこを重点的にプロダクトライン的な開発をせよ,そうでない領域は無理してプロダクトラインにするな」というのが妥当だと思います.このあたり,もうちょっとまとまったら文章化しようと思っています.

よの字 さんのコメント...

ソフトウェアプロダクトラインに限りませんが、「達成」ということを考えれば backcast の考え方を採用することになります。ゴールを決めて、それを遡るサブゴールを決めるやり方と同じだと思います。

これは日本の企業における日々の改善では中々でてこない視点だと思います。何故なら、普通は、上層部がゴールに対してコミットしようとしないので、責任が取れないからです。実際、いまお手伝いしている企業の支援部門は、ソフトウェアプロダクトラインを目標に掲げることを躊躇しています。理由はここに書いたとおりです。

日本で、より現実的には、ゴール達成の時期はコミットせず、しかしロードマップは敷き、その中のマイルストン(サブゴール)に到達するごとに次の一区間の詳細計画を立てる(見直す)というやり方が考えられます。そして、私のお客様にもこうした、トップのコミットメントが得られない中で責任を押し付けられず、なおかつゴールを見据えて前に進む方法もしくはそのバリアントを勧めています。つまり、上層部が責任を取ってくれないリスクに対して逃げを打てる計画です。

逃げを考えるというと、潔癖な人は嫌悪感を示すかも知れませんが、そうしないと詰め腹を切らされて投資が無駄になる危険がありますし、そもそも担当者が怖気づいて動いてくれない。それよりは、少しでも前に進める方法の方が遥かにましと考えています。

sakai さんのコメント...

先日、現場のプロジェクトと外部協力会社のエンジニア達と次に発注する委託開発の内容についてディスカッションをしていたとき、将来3年後、5年後の構想(今出す仕事で作ったソフトウェアの将来の使い道)や、開発環境である Visual Studio, MFC の行方等について同予測しているのか聞いてみたところ、ほとんど何も考えていないことにがっくりきました。

直近(せいぜい半年から一年後)までのことしか見ていないように感じました。

未来を見通す、あるべき未来から今を考えることは上層部もできてないし、現場もできていないのかもしれません。

ヤレヤレ、そんなことでは絶対悪循環から脱出できないぞ、というメッセージをそのときは送りました。