2006-01-19

近況

どかどかと雑誌が届いた. せっかくなので記事で面白かったものを少しはウェブに書いておくことにする.

最近読んだ記事

Counting Boulders and Measuring Mountains @ CACM January 2006

ソフトウェアの見積りに関する記事. 山の高さの見積りの比喩をつかって ソフトウェアの「見積り」と「計画」の違いを説明する.

ソフトウェアの規模(や納期)を見積るときによくやるのが, 発生するタスクの一覧をつくってその所要時間を合計するというもの. これを記事では "Counting Boulders" と読んでいる. 岩の数を数えて山の高さを計るということね. もう一つのアプローチは COCOMOII や SLIM Estimate という見積り技法を つかう方法. 三角測量に相当する.

世の PM は大抵 "Counting Boulders" アプローチを使うのだが, これは良いところもあるが悪いところもある. 問題点はとにかく時間がかかることと, 実は裏に色々な前提があってその前提が崩れると精度が落ちる(し前提はよく崩れる). そのうえ上司はよくダメ出しをして, その結果の調整でまた時間がかかるし, なんだよ調整って...という面もある.

で, "Counting Boulders" は実は見積りではなく計画なんだという話になる. 計画は重要だけれど, 見積りは計画の前にやるもので, 計画が先に来てしまうとそれに時間をとられて意思決定が遅くなるなど 色々問題がある. だからプロジェクトの規模や人員からなんらかの公式で期間を算出する いわゆる見積り技法を使うのが筋なんじゃないの? と記事は主張する.

ただ "規模" がわかれば苦労はなくて, ソフトウェア開発が基本的に不確定性と戦う仕事である以上その 見積りはとても大変なのだともいい, 確定している部分の規模と不確定な部分の大きさを明らかにして あとはそれを元に意思決定しましょうと結論する.

"Counting Boulders" アプローチを使っている私にとっては新鮮な記事. 見積りと計画が別のものだという考え方はなかった. COCOMOII を勉強してみるのも良いかもしれない. ただ当面私のところにやってくる仕事は 既に「見積り」の済んだものばかりだろうから, 当面は現状のアプローチで良さそう. あと見積り技法を勉強する前には要求の制定方法も 前提知識として知っておかなければならないだろうから, 道は長い.

MyLifeBits : A Personal Database for Everything @ CACM January 2006

MS Research がやっている, 人生の全てを記録しておくという壮大なプロジェクト MyLifeBits 以前見たことがあった(と思ったら 2001 年にも CACM で記事になっていた.)けど まだやっていたのか. えらい.

実際は人生の全てというにはだいぶ限定されているが, それでもなかなか面白い. 見たウェブ, 読み書きしたメールや IM のメッセージ, 手持ちの書類, 領収書, 見たテレビ番組, 聞いたラジオ番組(の名前), 移動した場所の GPS 情報, キーボードやマウスの入力, 電話, ミーティングの音声記録, 撮った写真, ビデオ, など. 妄想にとどめず実際にやってしまうところがすごい. 多くの本がデジタル化されていないのを frustrating だと言ってしまうあたりに クレイジーさが滲んでいい. SenseCam もマッドサイエンティストっぽい.

何を保存するか選ぶコストを無視して全部保存するのがミソで, そうすることで secure な気持になれるという. わかる気もする.

当初はディレクトリ構成で情報を整理していたのが厳しくなってきて 検索ベースに移行するといったあたりは世間の風潮と同じ. 肝となるデジタル情報は普通の人も保存しているわけだから, まあ当然かもしれない. 時が流れるにつれて最初からデジタルな情報が増えて収集が楽になったというくだりも さもありなんで新鮮味はない.

具体的な数字は目を引く. 今はだいたい 100GB くらい使っていて, ビデオ以外では月に約 0.5GB づつ増えるという. そんなもんなのか.

データが増えてくると検索しない(=使わない)データがふえてきて, そういうのをどう活用するかもテーマだといい, 解決策のひとつとして screensaver を挙げている. 放っておくと昔とった写真とか動画を勝手に再生する仕組み. こういうのがリビングにあると家族団欒の材料になっていいんじゃないかと. これなんかは日本の家電産業好みのアイデアに見える. たとえば撮り貯めた運動会のビデオなんて絶対みないもんね. 普段. スライドウェアの動画(+a)版と考えればよい.

そのほかメタデータがどうとか細々した話もあったが興味わかず. 継続に意味のあるプロジェクトだから, がんばってまた五年後くらいに記事を書いてほしい.

CACM 1月号そのほか

CACM の 1 月号は "Personal Information Management" という特集で MyLifeBits をはじめ結構面白そうな記事が多かったのだが, 一方で研究より現実が先行している部分も多くやや腰砕け. どの研究も Google Desktop Search を始めとする デスクトップ検索に言及しているのだが, それより決定的に優れていると感じるものはなかった. メタデータや情報の統一的表現といったアカデミック風味な方向に話が 流れてしまいがち. そういう複雑な方向はどうも袋小路に思えてならない. MyLifeBits が古いながらも面白いのは, 物量と戦うという基本的なポリシーがシンプルだからかもしれない.

あとは Microsoft Research からの投稿が多かったのが印象的. やはりパーソナル・コンピューティングの会社なんだなあ.

The Unspoken Revolution in Software Engineering(PDF) @ Computer January 2006

IEEE にもアウトソーシングの話を発見. こっちはものすごい勢いで煽っている. 結論は上流工程とかビジネスも勉強しなさいねという話. 記事を書いているのは Effiel の作者である Bertrand Meyer. こういうアカデミックでアウトソーシングの被害から遠そうな人に おまえらクビになりたくなかったら勉強しろなどと言われるとちょっとやなかんじ.

面白いのは, プログラミングは creative activity であり, そうである以上 民主的な国で教育を受けている人は重大な優位にあるのだというくだり. 関係ないよそれ...

洋書行

二冊目. Rod Johnson は冗長なぶん内容はイージーで読みやすい. さくさく進む. 平日風邪でダウンした分を週末でとりもどす. 雑誌もカウントしたくなってきた...