
Twilog
Syndicate this site

|
目標設定者 | 平均の生産性 | プロジェクト数 |
---|---|---|
プログラマー | 8.0 | 19 |
管理者 | 6.6 | 23 |
プログラマーと管理者 | 7.8 | 16 |
システムアナリスト | 9.5 | 21 |
目標なし | 12.0 | 24 |
スケジュールを決める担当が違うだけで、なぜこんな差が生まれたのか。誤った目標値の設定はプログラマーにやる気を失わせる。プログラマー自身が加わればより現実的な値になるし、責任感も生まれるだろう。多くの失敗や成功の経験を持つシステムアナリストは現場を冷静に見て正確な見積もりができた。最後に、なぜ日程的な目標がない状態が最も力が発揮できたのか? まったく理由が思い浮かばないなら、それはピープルウェアについて疎かにしている証拠かもしれない。
頭脳労働時間と肉体労働時間は違うということもこの本が強調している点。ただ机の前に座っている時間よりも、割り込みなしでひとり精神集中できる時間が重要ということで、これは作業している本人も忘れていることが多い。そこでオフィスの騒音や電話が問題になってくるわけだ[2]。Radium Softwareの040205 - Fire and Motion (1)にも同様のエピソードが載っていて面白い。
チームについては、それぞれがやる気を出すためにこそチームがあると考えると、ちょっと違う見方ができるかもしれない。
各章の概要についてはこちらのホームページで管理者の方が自身の言葉をおりまぜつつ紹介しているようなので参考にどうぞ。
ピープルウェアで有名な、トム・デマルコとティモシー・リスターによるプロジェクト(リスク)管理の指南書。軽妙な語り口でリスク管理の理由、効果、方法を説いている。本の中にこんなエピソードがある。
(ティモシー・リスター)わたしの父は数学者で、数学の教授だったがいまは引退している。ある日父は、ソフトウェア・プロジェクトはどれも遅れる、ほぼ100パーセント遅れるではないかと責めた。
「どうしてなんだ」と父はたずねた。
「プロジェクトには二通りの結果がありえます。期日に終わるか、期日に遅れるかです。少数の類まれなケースを除いて、後者の確率が高いでしょうね」
「ティム、ありうる結果は二つだけじゃないぞ」と父は答えた。「三つ目がある。期日より早く終わる場合がな」
これにはハッとさせられた。この三番目の可能性がゼロなら、遅れなんて起こるべくして起こるに違いない。
このほかRISKLOGYというエクセルシートを使ったリスク管理ツールの紹介も面白い。
このツールは、プロジェクトの開始日とあらゆる幸運が続いたときに完成する日を入れると、プロジェクトがいつ終わる可能性が何%かというグラフを表示してくれる。
計算にはどんなソフトウェアプロジェクトにもありえる以下のコアリスクを使っている[3]。
さきほどのグラフは業界の平均データをもとにモンテカルロ法でプロジェクトを500回シミュレートしたもの。一番右のグラフはプロジェクト完了しない可能性だ。それぞれのバーを足し合わせると500になる。つまり、70%の確率でプロジェクトが完了する安全性を確保したければ、バーを左の期日から足していき、500×0.7=350になる日を選べばよい。
進歩状況、現在獲得価値(EVR)の判断には、細かなインクリメンタル開発を薦めている。全部を100の部品に分けたとしたら、バージョン1(V1)はAとBを含み獲得価値は11%、V2はCとDとEで価値は19%、V10で全価値が盛り込まれ100%となるというような形で進めていく開発だ。ただし、受身のインクリメンタル開発(率先して公表していない、場当たり的な)ではその長所がまったく活かせない。
事前に入念な計画をする先見的インクリメンタル開発では、プロジェクトの各機能の価値にあわせて優先順位をつけ[4]、リスクのある部分に早めに取り掛かることができる。
このあたり至極もっともだけれど、詳細設計図(インプリメントすべき最低レベルのモジュールやクラスと、その相関関係を示す図)を作るのはなかなかたいへんそうだ。変更をリスクと考えるか、前提と考えるかでこのあたりの捉え方が変わるかもしれない。アジャイル開発手法とうまくマッチする詳細設計手法はどんなものなんだろう。
古い本で前口上が長いけれどポイントポイントは面白い本。内容は「あわてて問題解決に乗り出す前にもっと考えることがありますよ」という主張です。
なにか「問題」を感じ取ったり、持ちかけられて解決しようとすると、いろんな立場の人が別の問題を感じていて、それぞれ別の解決方法(ほかの立場のひとには到底受け入れられないものも!)が考えられることを忘れてしまいがち。「それは誰の問題なんだろう?」
この相手では話が進まない。うまくいかない、困った、どうすればいいだろう。こうしたらどうだ、ああしたらどうだ、いろんな可能性が考えられる。しかし相手の態度の悪さはどこから来たのだろう? この相手と過去応対した人々(自分を含めたわれわれ自身)の態度に問題があったのかもしれない。「問題はどこから来たのか」
新しい視点は新しい不適合を作り出す。問題を解決したが、そのせいでまた別の問題が起こる。問題は決してなくならないし、問題解決が余計なこともある。「他人が自分の問題を自分で完全に解けるときに、それを解いてやろうとするな」
よし、うまくいった! しかし得られた解答はちっともほしいものじゃないかもしれない。「私はそれを本当に解きたいか?」
と、ダイジェストで紹介してみました。ライトの話は本書を読んでのお楽しみ。イラストが年代を感じさせます。
経営管理の理論について書かれた指南小説。本の大筋の解説はAll About Japanの「ザ・ゴールシリーズの関連ガイド」や自動車産業関連リンク集の「TOC(制約条件の理論)」に譲るとして、ここではソフトウェア開発をする個人の視点から概説を。
イスラエルの物理学者エリヤフ・ゴールドラット博士は、工場を経営していた友人から「生産管理のスケジューリングがうまくいかない」と相談を受けたとき、物理学の研究をしてきたやり方で、その問題の解決法を考え友人に伝えました。
結果は予想以上。博士はやがてOPTという生産スケジューリングソフトを販売する会社を起こし、その販売促進用に「ザ・ゴール」という小説を書きました。OPTを導入すると短期間に生産性が上がり、余計な在庫は消える……成果は十分だったものの、詳しい原理を公表せず、疑いや無視の対象にもなっていたので、小説の形で分かりやすくその原理を説明しようとしたわけです。ベストセラー、販売も順調、しかし思わぬ状況が待っていました。
小説を読み、人の手でその考え方を実践した工場が、それだけで小説のような成果をあげたという手紙が寄せられます。現実の工場はスケジューリングが複雑だからOPTがなければ無理だと考えていたものの……どうやらそうではないらしい。博士は会社を離れTOCの研究所を設立、TOCの教育・研究を推進していくことになります。
TOCは常識的で理屈にあっているので「なぜうまくいくのか」納得できます。実績もある。しかし、工場を離れてソフトウェア開発などに応用するにはどうしたらいいのか、すでに結果をあるなら調べてみたいと思い、他シリーズも読んでみることにしました。
ザ・ゴールは新しい考え方を主人公と一緒に追っていく形だったのに、ザ・ゴール2はすでにある思考ツールを主人公と一緒に使っていくという形になり、前よりもすっきりしない感じがします。
しかし、全シリーズを読んだあと、一番役に立ったのはこのゴール2です。応用範囲が広さがメリットであり、デメリットでもあり。
ゴール2の背景には、TOCによる改善で生産性を増した工業・部署が、生産性を増していることが原因で従業員の削減対象になるという「努力すれば仕事がなくなる」現実がありました。
制約が工場にあるのではなく、市場にある場合、どう対処すればいいのか。それに対するTOCの答えがこれです。
ソフトウェア開発会社を舞台に移したということで、内容に期待していたものの、ゴール1、2のおさらいのよう。システム開発ではなく、ITシステムを導入した企業がそのメリットを活かす方法についての話が大部分。
ただ、表題にもある明確な主張の重要度を知るには、この一冊分が必要だったのかもしれないです。
「チェンジ・ザ・ルール」
暗黙の前提やルールが変わらないなら、新しいなにかを導入しても変化は起きない、メリットは活かされない。
製品の売り込みで実際の効果を約束するやり方、そういう自負を持てるだけの考えがあるということ。半分騙すようでないと売れない製品を作るのをやめて、基本に立ち返った世界。なんだか羨望を覚えます。
大学のエグゼクティブMBAを舞台に今度は「プロジェクト管理」の制約を探り、新しい管理方法を提示します。小説としても読ませる内容。TOCが工場だけの理論でないことをよく示しています。
ただ、ソフトウェアのプロジェクト管理にこれをそのまま適用できるのか? と問われると、即答できない違和感があります。たとえば、ピープルウェアのトム・デマルコ氏も「TOCは素晴らしい。しかし、システム開発には向かない。知的労働者にはゆとりが必要だ」という意味の発言をしています。
とはいえ、トム・デマルコ氏の主張とエリヤフ・ゴールドラット博士の主張、双方共通する点も多く、お互いを補完するなんらかの解決策があるのではないかと思わずにはいれません。
そして、TOCにはこんなときこそ使える解決方法――思考ツールがあります。
ピープルウェアでおなじみのトム・デマルコの本。ソフトウェア会社やソフトウェア開発プロジェクトのよりよい運営にはゆとりが必要だ、という主張です。
最初ゆとりと聞いたとき時間のことかと思ったのだけれど、それだけではなく「管理のゆとり」、つまり上司が一方的に権限を行使するのではなく部下に自由にやらせるなどあらゆる意味での「ゆとり」が含まれてるのがポイント。
ゆとりの法則の内容は、2004年頭に開かれたDevelopers Summit 2004での講演でも述べられています。詳しくは「効率化しすぎると、作業が遅くなり変化にも対応できない」とトム・デマルコ氏やトム・デマルコ講演の個人的メモなどトム・デマルコ関連リンクからたどっていただくとして……ここではゆとりについてもう少し。
ありがちな意見として「もちろんゆとりはあったほうがいいけど、予算や競争でそうもいかないのが現実」という声があります。けれど、ゆとりがないことの悪影響は、結局は予算超過や売れない製品として自分に返ってくると考えれば、ゆとりについて真剣に検討してもよいと思えるかもしれません。
もうひとつ理由があります。もし本当に価値のある製品だったなら、そんな予算が足らないもの? 誰もたいしてほしがらない、喜ばれないものを作っているのでは? バグがなければよい製品? 悪い点のあるなしではなく、世界や体験がどう変わったかが重要なのでは? そんな意見が検討されることはあまりないようです。
ゆとりは一種の投資である。ゆとりを無駄と考えず投資と考えることが、ビジネスを理解している組織と、単に忙しいだけの組織の違いである。
本の帯にはこんな文が引用されています。
人間は時間的プレッシャーをいくらかけられても、速くは考えられない
――ティム・リスター
労働者がガレー船の奴隷で、プレッシャーがむちだとしたら、むちを使うほど「これ以上は速くこげない」というところまで仕事のペースは上がるかもしれない。頭脳による識別の速度は変えられないため、プレッシャーに対応できる量は少なく、
くらいしか方法がなく、メリットがデメリットを上回るか疑問でしょう。
まちがった管理についての法則を2つ。
一.うまくいかないことがあったらもっとやれ
「いまやろうとしていることはうまくいくはずだ。うまくいっていないのは、一生懸命やっていないせいだろう」という理屈。
二.自分自身のユーティリティ・プレイヤーになれ
ストレスの過剰の組織では管理することが「危険」なので、自分がボスであると同時に部下のひとりとして仕事をすることで管理をパートタイムに処理し、安全を確保する。下部の仕事は重要だし、それを自分で受け持つのだから悪いことはなさそうに見えるけれど、管理は片手間にできるほど簡単で影響力の低いものなのか? という話[5]。
本書の内容を一部紹介するとこんな感じ。面白い本です。
最後に、ゆとりがないとどうなるのかを引用します。
必要なゆとりが足りないと、組織は狂乱状態になり、恐怖感に支配され、リスクを避けようとし、大切な従業員はもっと働くのに適した場所を求め去っていく。
Palmの生みの親ジェフ・ホーキンスが人生にかける二種類の情熱。ひとつはモバイルコンピューティング。もうひとつは――「脳」。
氏は幾多の苦難にめげずレッドウッド神経科学研究所や、Numentaという新タイプの記憶システムを研究する会社を設立したりしています。
人工知能の判定方法として有名なチューリングテストですが、人工知能研究が誤った方向にいきがちな理由のひとつがこれ。
わたしが静かに本を読むとき、目に見える行動を何一つとらなくても、あきらかに理解して知識を得たと、少なくとも本人は思っている。(中略)質問して確かめることもできるが、理解は物語を読んだときに起こったのであって、質問に答えた瞬間ではない。この本で主張することの一つは、理解したかどうかは外側から見える行動では判断できないというものだ。
テストするものが「行動結果だけ」だったために、脳がどのように機能しているか(脳のシミュレーション)を疎かにしてしまっている、という意味の主張です。理解とは何かについて解明するのが知性あるコンピュータを作るためのキーで、中国語の部屋の論争にもあるように出力が知的だからといって「理解」しているとはいえないというわけ。
以下いろいろネタばれがあるので、ご注意を。
脳はなぜ最速のコンピューターよりも速くて有用な処理を実行できるのか? 「簡単なことだ」と、脳をコンピューターとみなす人々はいう。「脳は並列コンピュータだ。何十億という細胞が一斉に計算をする。この並列処理によって、生体の脳の処理能力ははるかに高くなっている」
しかし、氏はこれが詭弁だと言います。十分なメモリと高速なプロセッサー、大量の並列処理さえこなせれば知能を備えた機械ができるなんて迷信で、いまの人工知能には根本的欠陥がある、と。
人間は(写真を見てそれがネコかどうか)0.5秒以内に正解を出す。しかもニューロンは反応が遅いから、その0.5秒の間では、脳に入った情報は100個の細胞を通過するだけだ。つまり、脳がこの問題を解くときには、全体として何個のニューロンが関与したとしても(並列に何億とニューロンが関与したとしても)、100回以下の「計算」しかできない。(中略)同じ問題を解こうとするコンピュータは何十億というステップを必要とするだろう。100回の演算では、画面に一文字を表示するのがやっとであり、意味のある仕事をするどころではない。(中略)どれほど高速に動かしても、難問の答えを100ステップで「計算」することは不可能だ。
これだと突っ込みどころがいろいろありそうです。でも、並列処理はある限界を超えると、(いくら並列にしても)総処理時間が短くならなくなるのは確かです。
では「計算」できないとき、どうやって答えを導き出すのか? プログラマーなら思い浮かぶことがあります――そうメモリです。氏は新皮質全体がひとつの記憶システムであって、コンピューターなどではないと主張します。
脳は問題の答えを「計算」するのではなく、記憶の中から引き出してくる。本質的に、答えはずっと昔から記憶されている。何かを記憶からとりだすだけなら、数ステップでできる。
さらに、このニューロンの遅さで現実のさまざまな出来事を瞬時に判断する高速性の理由を、
脳は低レベルの感覚についての予測をたて、あらゆる瞬間に何を見て、聞いて、触っているはずかを前もって期待しているのだ。しかも、それらは並列におこなわれる。新皮質のどの領域も、つぎに何を体験するかを予測しようとする。(中略)ここでいう「予測」とは、ドアについての感覚にかかわるニューロンが、入力を実際に受け取る前に興奮することを意味する。そして、現実の入力が到達したとき、予測された興奮と比較される。(中略)予測と実際の差によって、注意が喚起される。
と推測。階段を踏み外すような気がしたとき、お笑い番組で笑うときなど、身に覚えがある方もいるのではないでしょうか。
このあたりの仕組みは、面白さや興奮、安心感や心地よさ、落ち込みや感激を提供する、いろんな物作りにも活かせそう。
新皮質に注目しながら脳が理解する仕組みを考察していく中、次の注目は記憶の方法です。決まりきったテンプレートを記憶していたのでは効率が悪すぎて瞬時の判断には使えません。そこでキーとなるのが「シーケンス」「分類」「階層化」です。以下、少し長い引用に。
新皮質の領域では、分類にもとづいてシーケンスが組み立てられ、シーケンスにもとづいて分類が修正されるという相互作用によって、両者はつねに変化していき、それが生涯にわたってつづく。これが脳による学習の本質だ。
(中略)
新皮質の領域としてのあなたには、観察しているシーケンスの名前をつぎの階層に伝える役割がある。そこで、紙に「赤赤緑紫橙緑」という文字列を書き、上位の領域に渡す。これを受け取った領域にとって、文字列そのものにはほとんど意味がない。単なるパターンの名前として、ほかの入力と組み合わされ、分類され、さらに高次のシーケンスの一部となる。あなたと同じように、上位の担当者も自分が観察しているシーケンスの進行を見守っている。そして、ある時点で、あなたにこういうかもしれない。「ねえ、もしもぼくに渡すつぎの紙にどの文字列を書こうか悩んでいるのなら、ぼくの記憶では、それはきっと『黄黄赤緑黄』のはずだよ」と。この助言は、実質的に、あなたが入力パターンから見つけるべきシーケンスの指示だ。あなたは最大限の努力をして、このシーケンスが構成されるように入力を解釈しなければならない。
(中略)
人間はある瞬間に網膜に映った像を覚えるのでも、ある瞬間に蝸牛殻や皮膚が受け取ったパターンを記憶するのでもない。新皮質の階層構造によって、物体の記憶は単一の場所ではなく、階層全体に分散されて保存される。さらに、階層の各領域は記憶の普遍の表現を形成するので、新皮質の典型的な領域が学習するのは、普遍の表現のシーケンスが入れ子になったものだ。脳の中には、カップであれ、ほかのどんな物体であれ、具体的な画像は存在しない。(中略)しかし、忘れないでほしいのは、新皮質のどの領域が記憶する普遍の表現も、パターンが階層をくだっていくことで、実際に体験する詳細な予測にかわりうることだ。
そのほか、新皮質の情報の流れ方(逆方向も重要)、海馬の役割についての面白い解釈(187ページあたり)や実際の考えるコンピューターに必要なハードウェア(説明は少し)、倫理、応用、役割など、盛りだくさんの内容になっています。応用例にもっと夢があってもいい気はしましたが:D
この主張が正しいかどうかは分かりません。でも自分がこの本でなにより面白いと思ったのは、「当分は考えるコンピューターなんて無理だよ」とあきらめムードが漂うAIの分野で、「結果が複雑だからといって原理が複雑だとは限らない。原理が分かればもっと早く実現できるはずだ」と果敢に挑戦する氏の姿勢です。それから、直感を疑うことの大事さを改めて感じました。こういう面白い時代に生きてて幸せだと思います。
新皮質は超高速の部品でできているわけではないし、使われている規則もさほど複雑ではない。だが何十億というニューロンと何兆というシナプスを含み、階層的な構造をしていることもたしかだ。理論的には単純だが、数的には巨大な記憶システムによって、人間の意識も、言葉も、文化も、芸術も、科学技術も、そしてこの本も生み出されている。(中略)新皮質は実際に働いている。けっして魔法ではない。その機能は必ず解明できる。そして、それと同じ原理で動作する真の知性を備えた機械は、コンピューターをつくることができたのと同様に、最後には実現される。
Palmの生みの親、人工知能分野の新会社設立へ--PCフォーラムで発表、パームの生みの親は脳の研究に首ったけなんて記事も。
非常に薄い本だ。広告代理店で役員をしていたジェームス W.ヤング氏が、「アイデアをあなたはどうして手に入れるか」という質問に対する解答として、ひとつの技術なり公式なりを考えられないだろうか、と考え、解説した古典。言い回しは古いけれど、中身はシンプルで分かりやすい。つまり、よい意味で薄い本ということ。
そんな貴重な公式を惜しげもなく公開するのは、これが簡単すぎて実際に信用する人はわずかしかいないだろうということと、実際に実行するのは最も困難な知的労働が必要なので、アイデアマンの供給過多になることはまずないからだ、と氏は語っている。
アイデアとは既存の要素の新しい組み合わせ以外の何ものでもないということである。
これはおそらくアイデア作成に関する最も大切な事実である。
これが本書の前提。「真の意味での新しい発見なんてもう残されていなくて、あるのは既存のものの組み合わせにすぎない」という話を悲観的なトーンで語る文章を、昔色々なメディアで目にすることがあった。けれど、氏の語りはもっと楽観的だし、「真」なんてものを一切気にしていない。タフだ。
実際の手順についてはWikipediaにも少しだけあるが、意味合いを理解してもらうには本書を読んでもらうのが一番いいだろう。薄いので立ち読みでもすぐに読めるはず。
少しだけまとめると、
といった感じ。よく聞くような話だけれど、自分の経験ともよく合っていて納得がいくのではないだろうか。無駄に思えるかもしれないが、手順を省略することはできない。ようするに近道はないが、道はあるということ。
アイデア発想関係ではアイデア創発の素振り ITmedia Biz.IDがとてもよくまとまっていておすすめ。新しい組み合わせを生み出すための「トリガー」を並べる方法についていろいろ載っている。自分で実際使ったことがあるのはエクスカーションだけだけれど。未来年表や初心者向け簡易検索(特許・実用新案)、iタウンページを使った方法なども面白い。