goo blog サービス終了のお知らせ 

N2 ToolBox(跡地)

跡地です。引っ越しました。http://d.hatena.ne.jp/nosen

Java Generics and Collections

2006-11-25 16:24:49 | ブックレビュー
タイトル: Java Generics And Collections
著者: Maurice Naftalin & Philip Wadler

Java5から導入されたGenericsを学ぶことは正直難しいです。

単純にGenerics全開で設計された新しいCollection Frameworkを
使うだけならまだしも、 Genericsをうまく活用したクラスを
設計することは自分には相当難しいと感じられました。

JavaのGenericsが難しい理由のひとつは下位互換性を重視した結果、
おそらくGenericsを学ぶ人全員がハマるであろうとんでもない落し穴を
幾つか作りこんでしまったことにあると思います。
この落し穴のせいでちょっと変なコードを書くとすぐコンパイラは
謎の警告を吐きます。私がGenericsを学ぶ際の労力のほとんどはコンパイラが
吐く警告との戦いに費されました。

本書の前半では、Genericsの利点と欠点を認めた上で、
Genericsの仕組みが1から丁寧に解説されています。

Genericsの難しさは主にパラメータ型が実行時に保持されないという仕様に
起因するものですが、 Genricsを作る上でどんな難しい設計上の
トレードオフがあってこんな仕様を 採用する必要があったのかについても
解説されているため、 Genericsの欠点をやさしい目で見られるようになります。

その上で、落し穴を回避して、効果的にGenerics
を使うコツについて 解説されています。この本を最初から読んでいれば、
コンパイラとの戦いはもっと楽になったのかもしれません。

後半では、Genericsによって生まれ変わったCollection Frameworkについて
網羅的に解説されています。Java5からCollection Framework
には新しい実装が多数追加されましたが、
それらの特徴と使いどころについてかなり詳しく解説されています。

GenericsもCollectionも派手さはないトピックですが、
Javaの基本をなす技術要素です。この基本をしっかり勉強したい方には
お薦めの良書です。英語もそんなに難しくはないので、初めて洋書にチャレンジ
したい方にもちょうど良いのではないでしょうか。


Apache Maven 2.0入門 Java・オープンソース・ビルドツール

2006-11-16 22:51:48 | ブックレビュー
非常に久しぶりのエントリになってしまいました。
まだ一応生きています。

沈黙していた半年弱の間何をしていたのかというと、
表題の本を横田さんと一緒に書いていました。
ブックレビューもなにも、自分で書いた本のレビュー自分で書いてりゃ
世話無いですね。
blog 書いている暇があったら本かかなきゃー
っていうのがずっと書けなかった理由のひとつでもあります。

ようやく全部の作業が終了して、後は発売を待つばかりになって、
重荷がとりあえずひとつなくなった気分です。
書き終わってわかったことは、とにかく自分は

本を書くという作業をナメていた

ということです。書きはじめる前は、自分は文章はそこそこ
書ける人間だと根拠もなしに思っていたのですが、実際まとまった
量の文章を書いてみると、これが全くうまくいかない。

ぐじぐじと何度も書き直しを重ね、スケジュールは順調に遅れ、
関係者の方々には本当に御迷惑をお掛けしました。

内容的には、私の担当分についてはMavenの基本的な考え方と、
実プロジェクトでの活かし方に重点を置いています。
Mavenはリファレンス的なものに深入りするときりがなくなるツールであるし、
基本的な構造がわかってしまえばあとはググった方が早いので、そのような
方針となっています。

自分は最近は単純に何か細かい調べ物をするために本を買うことは少なくて、
本を買うときは、なにか著者の思想的なものとか、ものの見方といったものに
触れることを期待するので、本書では、Mavenとは何か、何の役に立つのか、
といったことについて自分の考えをはっきり打ち出して、かつ読みものとして
楽しんで読んでいただけるように心がけたつもりです。
特に、5章は開発者に限らず、なるべく沢山の方に読んでいただいて
感想を聞かせていただきたい章です。

ぜひ、お中元に、クリスマスプレゼントに、ご購入頂き、御意見、御感想、
批判、誹謗、中傷など、このエントリにでも寄せていただければと思います。

今回、本を書いてみて自分にとって、一番よかったと思うのは、
「書く側の気持ち」を体験したことを、「より良く読む」ことに
たぶん繋げられると感じていることです。


今後は、すこしまた面白そうな技術的なネタを収集して知識の充電を
はかりながら、ずっとやりたかった「自分で使いたいと思うフレームワークを
自分で作ってみる」というのにチャレンジしたいな、と思っております。

あと、自分のチームをリーダとして引っ張っていくことも、
もう少しちゃんとやらねば..


ソフトウェア開発の持つべき文化

2005-07-05 01:31:48 | ブックレビュー
書名:ソフトウェア開発の持つべき文化
著者:カール・E・ウィーガーズ
訳:滝沢 徹・牧野 祐子
ISBN-4-7981-0871-5

細かいところは異論があるにしても、本当に色々なことを考えさせ
られる本です。この本を読んだ時はソフトウェアエンジニアリングを
考えるときに、"文化"など一切考慮しようとしない人達との戦いに
疲れきっていた(今でも疲れきっていますが)ので、この本の第1章を
読んで、思わず涙がでそうになりました。

ソフトウェアエンジニアリングという言葉も人によって様々な違った
意味に取られている言葉です。
とはいえ、「ソフトウェア開発から属人性を無くす」ということが
ソフトウェアエンジニアリングの目的であることに関しては、
おそらく反対するひとはいないでしょう。

違うのは、じゃあどうやって属人性を無くすの?というHowの部分です。
多くの人は、これを単純に開発作業を「手順化」する標準プロセス
を決めることで何とかしようとしていますが、これには色々な問題が
あることは、もう最近主張しすぎて疲れたのでも一度ここに書くことは
勘弁してください。

それに対し、属人性を無くすには「健全なソフトウェアエンジニアリング文化を
育てる」ことが大事だ、というのが本書の主題です。

少し一昔前の構造化技法を前提にしているようで、少し堅い部分もありますが、
基本的には非常に実践的で、ためになる内容となっております。

最近の私のしゃべりはかなりこの本に影響受けてます。

頼むから読んでくれ~
>みんな



ブックレビュー:知識創造企業

2005-03-01 01:27:02 | ブックレビュー
書名:知識創造企業
著者:野中郁次郎+竹内弘高
訳:梅本勝博
発行所:東洋経済新報社
ISBN4-492-52081-3 2,000円

いわずと知れた、ナレッジマネジメントの基礎理論
を打ちたてた本です。やっと読みました。
本書でいわれている知識創造理論に関してはすでに
様々なところで語られ過ぎるほど語られているので、
ここで私がまたその概要を示すまでもないでしょう。
@ITの記事などが、良くまとまった紹介になっています。

読後感としては、やはり概要レベルの解説を読んだだけの
レベルとは、「形式知」「暗黙知」「共同化」「表出化」
「内面化」「連結化」と言った基礎的な用語の厚みが全く
違ったものに感じられます。「知識として知っている」だけの
レベルとは違い、これらの言葉が自分の内部で生き生きと
躍動し、物を考えるためのいわば概念装置として作動するように
なるのを感じます。

システム開発の世界も、知識創造の観点からみるとまた違った
捉え方が出来そうです。

マネジメントに関わる全ての人は、本書を読むべきです。
まだ読んでない人はいますぐ読んで下さい。必ず読んで下さい。

ITプロジェクトサバイバルで今村さんも取り上げている通り、効率最優先の経営は最善ではありません。
では「効率」にとって変わる価値とはなにか?
すくなくとも私は、本書からそれを見付けるための重要な示唆を受けました。
あとは、実践あるのみです。
私は本書からまた一つ、戦う力を手にいれました。


ブックレビュー:コーチング・バイブル

2005-02-16 05:32:34 | ブックレビュー
書名:コーチング・バイブル
著者:ローラ・ウィットワース、ヘンリー・キムジーハウス、フィル・サンダール
訳:CTIジャパン
発行所:東洋経済新報社
ISBN4-492-55455-6 2,500円

去年の暮れにコーチングについて勉強した時に読んだ本です。
バイブルと名乗ってるだけあって、コーチングの基本的な考え方
をひと通り知る事が出来るし、プロのコーチとは何かについて学ぶ
ことができます。

アジャイルなソフトウェア・プロジェクトではメンバが自発的に
行動することを重視するので、プロジェクトマネージャが
頭ごなしに命令するだけでは多分プロジェクトはうまく回らない
と思われます。ですから、ある程度コーチングのスキルを身に
つけるか、コーチ的な役割を果たせる人をメンバに加えるか
した方がきっと良いのでしょう。

読んでみて、自分にはコーチングの才能は一切ないのだと痛感し
ました。コーチングの根本は、「話し相手に興味をもつ」ことだと
読み取ったのですが、これが自分には意外と難しいことだと分かり
ました。それでも自分に足らないものを気付かせてくれた
という点において、この本を読んだことには意味があったと
思います。

コーチングスキルを高めるための実践的なエクササイズも
いくつか紹介されているので、それを実際にやってみても
おもしろいかもしれません。でも僕にはとてもできそうもない
エクササイズもありますが。例えば。。。

好奇心を磨くためのエクササイズ:
「喫茶店で30分ほど過ごし、周りにいるすべての人に対して
好奇心を向けてみましょう。次に、その中の一人に対して
少し時間を割いてもらえるように依頼し、実際に好奇心から
くる質問をしてみましょう」

はたからみたら完全にナンパですよね、これ。

コーチになりたいというよりもむしろコーチングを受けたいと思う、
今日この頃です。


ブックレビュー:9つの性格

2004-11-21 22:35:02 | ブックレビュー
書名:9つの性格 エニアグラムで見つかる[本当の自分]と最良の人間関係
著者:鈴木秀子
発行所:PHP出版
1,429円
ISBN4-569-55756-2

エニアグラムというのはある種の性格タイプ論で本書は
その解説書です。
性格タイプ論というと血液型性格診断のようなものを想起
してうさんくさいイメージを持たれる方も多いと思いますが、
エニアグラムはゼネラルモータース、AT&T等で導入された
実績のある、割と科学的裏付けのあるもののようです。
特にアメリカで普及しているとのことです。

エニアグラムの源流ははるか2000年前のアフガニスタンに
遡ります。そこからイスラム世界に伝搬し、神秘主義的
宗派であるスーフィー派で秘儀中の秘儀として一子相伝で
伝承されていたそうです。
ほとんど北斗神拳のようなノリですね。

エニアグラムの伝えるポイントは以下の2つです。
  • すべての人は必ず9つの性格タイプに分類できる
  • 9つの性格タイプは世界中で均等に分布している

アメリカで心理学者が調べたところ、この主張は大体
裏付けがとれているそうです。

9つの性格タイプの詳細はこちら
を参照して頂ければと思います。

それぞれのタイプは、違うものをエネルギー源として生きています。
たとえば、タイプ3なら「成功」、タイプ5なら「知識」など。
それらは人にとってプラスに働くこともあれば、マイナスに
働いて「囚われ」となることもあります。
本書ではどちらかと言うとこの「囚われた状態」を詳しく
記述することによって、各タイプの人が自分の良くない状態を
客観的に見ることができるようになり、辛い状態が少しでも
楽になることを主眼に置いています。
エニアグラムの良い所は、単に分類することが目的ではなく、
人が自分自身の本質を理解することによってより良い人生を
歩むことができるようになることを狙っている事だと思います。

自分がどのタイプか判断するために、
簡単な診断テストも記載されていますが、最終的には各タイプに関する
詳しい記述を読んで自分で判断しなくてはいけません。
前述の通りこの本は「囚われ」を中心に構成されていますので、
各タイプともボロボロにけなされています。
おそらく、その記述内容が一番イタイのが自分のタイプです。
僕はテストではタイプ5とタイプ8が同数だったのですが、
記述を読むと明らかにタイプ8でした。

あまりにも的確で容赦ない指摘に、
しばらくへこんで立ち直れませんでした。
でも自分探しの旅としては、イラクに行くより安全だし、
値段も1,429円とお手頃です。

ちなみにタイプ8は
「強さを求め、自己を主張する人」
だそうです。

有名人で他にタイプ8と想定される人には、
ピカソ、ニーチェ、ラオウなどがいます。

自己と他者をよりよく理解し、互いの価値観を認め
あうために活用することができます。
ややこしい会社の人間関係をほぐすのにも役立ちます。
はっきり言ってめちゃめちゃ深いです。だまされたと思って
一回読んでみてください。

ブックレビュー:一般システム思考入門

2004-09-25 22:11:42 | ブックレビュー
書名:一般システム思考入門
著者:ジェラルド・M・ワインバーグ
監訳:松田 武彦
訳者:増田 伸爾
ISBN4-314-00254-9

初版が1979年とかなり古いにも関わらず、深く考えさせられた本でした。
「一般システム思考」とは、特定の学問分野に分類されない一般的な「ものを考える」
事へのアプローチの方法の事です。

いま世の中では「科学的な物の考え方」が唯一の考え方であるかのようにとらえられて
いますが、科学的な思考法は「もし~が成り立つならば」という前提条件をいくつも
たてることによって、対象となる問題を単純化することによって成り立っています。
そのことによって多くの成果を挙げて来た一方で、科学では解決出来ない問題も
多く存在します。科学の力では、戦争、テロ、貧困、差別、環境問題、人口問題
等を解決することは難しいでしょう。
これらの複雑な問題を解決するには、細分化された専門分野の中に入り込んで
しまっている科学は向かないのです。(システム開発もそういう複雑な問題の
うちの一つです。)

本書では、もっと一般的な問題解決のための思考法の糸口を基礎から丁寧に
解説しています。そのエッセンスを僕なりに簡潔にまとめると、

ある事物を認識するのに、絶対的な手法は存在しない。
ある事物は、他の事物との関係性においてのみ認識される。

ということだと思います。かなり哲学的ですが、実際本書の
内容は、かなり哲学的です。しかし、ワインバーグは極めて平易な言葉で
明解に論旨を展開しているので、ご心配なく。
要は、物の見方は一つではないし、物事の本質をとらえるには、
いろいろな物の見方が出来ることが重要だ、という事でしょうか。

サラリーマン社会の中で生きてると、木を見て森を見ない部品人間に
ついまってしまいがちですが、この本は「いかに森を見るか」
と言う事に関するトレーニングに最適な一冊です。

僕としては、1回読んだだけでは、完全に理解できていない部分が
多く、あと2回位じっくりと読みたいですね。


ブックレビュー番外編:女帝

2004-08-25 00:31:57 | ブックレビュー
書名:女帝
画:和気一作
作:倉科 遼

今日は気分を変えて漫画喫茶で書いています。ブックレビューも初の漫画です。今よんだ「女帝」という漫画が面白かったので、紹介したいと思います。全部で20巻以上あるので全部はよんでませんが。
話は母に先立たれた女子高生が水商売の世界で生きていこうと決意し、"女帝"として駆け上がっていく様を描いたものです。これだけ書くとえらい下世話な話を想像する方も多いと思います。実際、性的な描写もばんばん出てくるので、お子様にはお勧めしませんが、最近読んだ漫画の中でも相当面白い部類にはいると思います。
とくに引き込まれるのは水商売で身を立てようとする女性たちの仕事へのビジョンとモチベーションの高さです。主人公の女性がものすごい勢いで出世していく様は正に自己マスタリーの極致といえます。

僕のようにサラリーマンとして生活している人の多くは、ビジョンを大きく持というとせず、瑣末な利害にとらわれて汲々としているように見えます。そしてふたことめには「そうはいってもさ。。。」と絶えず自分に言い訳をしながら、知らぬ間にシステムの囚人となって自分で自分の人生を小さな箱の中に押し込めてしまっているのです。

僕は常々、人生で大切なことは自分が本当に面白いと思うことを一生懸命やることと、明るい未来をイメージすることだと思ってます。

この漫画ではビジョンを実現する女性の姿がほとんど様式美すら感じさせる作風で描かれていて、読んでいてとても爽快です。
一人一人のキャラクターがとても立っているし、泣かせるシーンが満載です。無意味な入浴シーンが多発するのもまぁ愛嬌。
イメージ的には女版サラリーマン金太郎+渡る世間は鬼ばかりといったところでお得感があります。

OSI 12階層のうち、政治層やしがらみ層の問題でへこんでいて、元気になりたいときにおすすめです。

最後に、この漫画の中で僕が気に入ったセリフを引用します。元銀座の主といわれたバーのマスターが主人公にアドバイスをするセリフです。

夢をね・・・
夢をお持ちなさい。
ただクラブのママになるだけじゃなく、こういう店にしたいとかチェーン店で店舗展開したいとか・・・・・
そういう風に夢を描かないとなかなか力は生まれないもんですよ

最強組織の法則

2004-08-19 23:39:33 | ブックレビュー
書名:最強組織の法則 新時代のチームワークとは何か
著者:ピーター・M・センゲ
訳者:守部信之
徳間書店 ISBN4-29-860309-X

1995年が初版ということで、そんなに目新しい本ではないです。すこしまえにちょっと紹介した「Agile Management for Software Engineering」という本で重要な参考文献になっていたので、読んでみました。

この本の原題は「The FIFTH DISCIPLINE The art & Practice of The Learning Organization」というものです。直訳すれば「第5の規律 学習する組織の構築の技法と実践」といった所でしょうか。こっちの方が内容を素直に表していて良いような気がします。邦題は何かうさんくさい雰囲気を醸し出していてあまり好きではありません。
原題が示す通り、この本は学習する組織=ラーニング・オーガニゼーションの構築をテーマにしています。ラーニング・オーガニゼーションとは従来型の階層型かつ権威主義的な組織ではなく、組織を構成するメンバーが自律的に行動し、学習し、成長する組織のことです。現代の企業が市場で競争力を発揮するには、如何にしてラーニング・オーガニゼーションを構築するかが重要であると筆者は主張しています。
ラーニング・オーガニゼーションを構築するには5つの鍵があります。

1. システム思考
2. 自己マスタリー
3. メンタルモデルの克服
4. 共有ビジョンの構築
5. チーム学習

このうち、最初の「システム思考」は特別な存在で他の4つを支えるものです。原題にあるTHE FIFTH DISCIPLINEとはこのシステム思考のことです。
システム思考とは複雑な問題をうまく解決するための物事のとらえ方です。複雑な問題に対処するには因果の鎖を細かくたどっていくだけでは十分ではありません。複雑な環境では原因から結果が現れるまでに時間がかかることと、結果がまた原因に影響を与えてしまうフィードバックループが存在するためです。そのような状況では問題を細かく分割していくのではなく、全体を眺めてなんらかのパターンを見出すとよい、というのがシステム思考の概要です。
こうやってまとめてしまうと抽象的すぎてわかりにくいですが、本書ではもちろん具体例も交えてもっと分かりやすく説明されてます。

全体的に、主張されてる内容はアジャイル開発手法で良いされていることを、ソフトウェア開発から離れて一般的な組織論の立場から述べている点が面白いと思います(本書のほうがアジャイル開発宣言より前なのでこういう言い方はちょっとおかしいかもしれませんが)。このような主張は、アジャイル手法を実際に試そうと、周囲を説得する時に見方になると思います。アジャイルムーブメントが、一部のマニア的開発者のエキセントリックな主張ではなくもっと大きな世の中の変化に呼応したものだということを保守派の人達に説得しやすくなるからです。
ただ、具体的な実践方法となると、やはりほとんど精神論に終始してしまっています。どうやって人がお互いにビジョンを共有するか、とか固まってしまったメンタルモデルをどうやって崩していくか、といった問題は哲学の領域で、実践するには経験的なアプローチしかあり得ないですから、仕方のないことなのですが。頭の硬い保守的な管理者の心の壁を崩すには「経験的にうまくいく」というだけでは簡単にいかないのではと思います。そのような場合は、粘り強く反対派を洗脳していくしかないのでは、と考えています。

ブックレビュー:強い工場

2004-07-19 22:56:06 | ブックレビュー
書名:強い工場
著者:後藤 康浩
発行所:日本経済新聞社
ISBN:4-532-31052-0

日経の夕刊に掲載されていた連載記事をまとめた本で、日本の製造業をリードする企業の工場での、生産の現場でのさまざまな工夫を取り上げた本です。
伝統的なソフトウェアの開発プロセスは「工学的であること」を目標として来ました。それは特に建築との比喩で次のように語られるものです。

「日曜大工で犬小屋をつくるのであれば設計図もいらないし適当に部品をあつめていきなり作り始めてもいいだろう。失敗してもせいぜい犬が困るだけだ。しかし、高層ビルを作るとなると話は別だ。きちんと設計図を書き、計画的に作業を進めなければまともなビルを完成させることは難しい。ソフトウェアも同じだ。日曜プログラミングならいざ知らず、商用レベルのソフトウェアを作り上げるにはきちんと工程をふんで計画通り作業をすすめる必要がある。」

一見ものすごく説得力がある比喩なのですが、最近アジャイル開発手法の勉強をすすめるにつれて、いろいろと疑問が湧いてきました。まず、ソフトウェア開発はそこまで建築に似ていないだろう、ということがあります。建築よりもずっと設計にかかる比重が大きいし、仕様変更もあります。
おなじものづくりでも業種が違えば製造へのアプローチも違うはずです。

という問題意識から本屋さんで手に取ったのがこの本です。

日本の製造業の世界ではウォーターフォール型の開発プロセスが手本にしてきたような流れ作業での生産が全てでは無くなってきています。キャノン、松下電器、NECなどの日本を代表するメーカーではかわって「セル生産方式」という方式が採用されています。
セル生産方式では、1人から数人のチーム(これをセルと呼ぶ)を組んで1つの製品の全工程を担当します。流れ作業ではベルトコンベアーのスピード以上では生産出来ないのに対し、セル生産方式ではセルのメンバーが自律的に生産性工場への創意工夫を重ね、より高い生産性を実現しているとのことです。考え方的には完全にアジャイルですね。
この他にも「アジャイルな」(としか僕には思えない)方法論によって高い効果を上げたエピソードが多く紹介されていて、思わずニヤリとしてしまいます。大切なのはプロセス自体よりも、よりよいものをつくろうとする創意工夫と、そのような創意工夫の生まれやすい土壌を育てる努力なのだと、あらためて思いました。
日本のSIerの中にもそのような土壌がそだって「強いSIer」になっていかないと、アメリカはもとより中国やインドにはとても勝てないのではないかという強い危機感が僕の中にあります。いま僕がおかれてる状況をみるといろんな意味で正直厳しいかなぁ、と思ってしまいますが。。。
最後に本書のなかで気に入った部分はいくつかあるのですが、一つだけ引用したいと思います。

(p116 NEC埼玉の例)
需要が急増し始めた携帯電話端末を増産するため、ベルトコンベヤーの流れ作業にソニー製の最新鋭の組み立てロボットを導入した。一台約二千万円。ソニーがウォークマン生産のため開発したといわれるだけに三次元加工など複雑な作業に対応できる「期待通りの優秀な装置だった」。
だが、生産現場にとっては操作が複雑すぎた。生産機種変更のたびにプログラムを書き換え、設定して動かし始めるのに二ヵ月もかかった。動き始めれば効率はそれなりによかったが、止まっている期間が長く、その間は生産は落ち込んだ。
当時、携帯端末の大口の注文を受けていたが、ロボットの停止で生産は遅れ気味だった。納期が迫ってやむにやまれず、部品装填などロボットの補助業務に雇っていた女性のパート作業者七人に携帯端末を手作業で組み立ててもらった。
驚くべき現象が起きた。七人の手作業がロボットの生産台数を上回った。ロボットを使わず、ロボットの補助をしていた作業者が組み立てた方が効率が上がったのだ。