May 26, 2004

オフ会へ出発

というのも、これからお休みをもらって10日ほどハワイへ行ってきます。 PCを持っていかずにのんびりしてくるのでこのサイトの更新もなしです。 メールやコメントの返信も遅れますがご了承ください。

とあるオフ会に出席するため、明日からハワイへ行ってきます。しばらく更新はありません。

Posted by money at 1:46 AM | Comments (0) | TrackBack

May 22, 2004

正式名称は?

13:51

暇な方どうぞ。あんまり暇じゃない方はManiac Modeにチェックつけてプレイ!


マニアックモードが気持ちいい。

Posted by money at 8:35 PM | Comments (0) | TrackBack

May 20, 2004

ソフトウェアエンジニア教育

そこで、何を教えるかですが・・・『武士道』です。つまり、プログラマとしての道徳や精神性を教えるべきです。
去年、新人が入ってきたときの技術研修としてオブジェクト指向を教えた。といっても、継承が、とかクラスは、、みたいなことを喋ったところで、頭の片隅に残る確率は、ほんのわずか。そこで、オブジェクト指向の話はほどほどにして、「ソフトウェア開発で伸びる人,伸びない人」と題してしゃべった。ネタは、当時のSoftware Peopleという雑誌の特集。これをネタに、どういう姿勢で技術を身に付け、考え、仕事と接していくべきか、という話をした。たぶん、自分たちがこれからつこうとしている職業はどういうもので、それを武器に今後食べていくにはどういうマインドが必要か、というのはきっと入社してすぐ、という不安な中で語ってあげるのが効果的だと思う。でも、彼らにとっては、研修で講師が「こんな奴いらん!」と言ってたような奴が、直属の先輩になったりして困ったりするんだろうな、と思ったことも事実。
Posted by money at 10:56 PM | Comments (1) | TrackBack

BGM Generator

自分のラジオ局は、UKロック・ポップスあり、ジャズあり、プログレあり、ヘビメタあたり、フュージョンありって感じです。

家で仕事をするときのBGMとして良いです。

皆さんもラジオ作ったら教えてください。


トピックそのものは、アメリカでがんばってる人のエントリで知ってたんだけど、自分でラジオ局を作る、ってのがイメージできずにいた。ところが、この「家で仕事をするときのBGMとして良いです。」という言葉が琴線に触れた、ということか。
ってことで、作ってみました。


この道RebootedStation

ところで、このサービス、Firefoxじゃ怒られます。しかたなくIEにて。

Posted by money at 9:58 PM | Comments (1) | TrackBack

May 19, 2004

ジャクソン法とOO

ジャクソン法とオブジェクト指向 09:47

根っことなる部分は同じような気がする。

コメントが書けなかったのでこちらにて。
学生の時に、ジャクソン法をかじった頃の記憶ですけど。OMTのジェームズランボーがどこかでジャクソン法に言及してたような記憶があるのですが、、、定かではありません。

個人的には、オブジェクト指向におけるモジュール化、データの局所化の考え方は、ジャクソン法に影響を受けているように思います。

名前からしてもっと有名になってもいいと思うんだけどな。>マイケルジャクソン

オブジェクト指向を嫌がるぐらいならせめてジャクソン法を...と日頃思うこともしばしば。ジャクソンクラッシュがネガティブな印象を与えるのでしょうか?


Posted by money at 12:05 AM | Comments (3) | TrackBack

May 18, 2004

適正、適職診断

福島人材派遣センター 適正・適職診断

あちこちで見かけたので、僕もやってみた。



あなたがご回答なさった際に強く顕れた一面は・・・

『統率する』

気質です。

良い精神状態の時
単刀直入・誠実・精力的・気取らない・自信がある

悪い精神状態の時
反抗的・鈍感・傲慢・自己中心的・懐疑的

性格
何事にも第一人者になろうとする自己主張タイプ。自分より弱い立場の人を守ろうという意識が強く、多くの人から頼られる存在。

注意
力の絶対性を信じ、周囲を完全に支配することを望む。自分に敵対する人たちの欠点を徹底的に攻撃する闘争的な態度をとる傾向もある。

仕事
主導権を握るのが上手なので、起業家、経営管理者、労働組合指導者、スポーツ選手などに向いています。

いかがでしたか?
己を知ることが、困難に立ち向かい、道を切り開くための第一歩とも申します。
この結果は必ずしもあなたのすべてではございませんが、あなた自身がお選びになった一つの方向でもあります。

これを機に、少々違う世界を覗いてみてはいかがでしょうか・・・。

そういえば、就職活動する前に、SPI試験をやってみた際に、「あなたは一匹狼タイプです。何も就職活動をして企業に就職することだけが人生ではありません。」という結果が出て、「これ、就職活動前のSPIの結論としてどうよ?」ということがあったことを思い出した。。。
と同時に、今の会社に入る前の就職の面接の際に、「君、自分の性格どう思う?」 「こう見えても、実は、態度は大きいですけど、気は小さいんです。」って答えたら、「そう? きみねぇ、鈍感って出てるよ?」 「え!? (汗)」なんて会話を交わしたことも思い出した。 

Posted by money at 1:28 AM | Comments (0) | TrackBack

May 14, 2004

SPring Frameworkリファレンス(Ch.4)

ちょこっと、Chapter4まで。 マターリお楽しみください。
Posted by money at 2:08 AM | Comments (0) | TrackBack

May 13, 2004

情報隠蔽とカプセル化って違うもの?

遅ればせながら、この話題。
僕には正直、未だその違いがよく分からない。
一般に、物事の複雑性をコントロールする、つまり、単純化するということはよく行われていて、そのために手段が、分類とか仕分けと言われるもの。その分類した結果、全体の1集合から複数の部分集合が得られる。その部分集合の中の要素各々の共通的な特徴を引っ張り出して、その部分集合の特徴として位置付けることを抽象という(僕の理解だとこんな感じ)。
さて、オブジェクト指向とは何かと言われると「抽象データ型とメッセージパッシングによる現実世界のシミュレーション」という答えを出すまでもなく、そもそもシミュレーションがきっかけとなり、オブジェクト指向が生まれた。そこでは、實世界の登場人物(人である必要はないけど)をオブジェクトという、ある固体として表現し、メモリ上で現実世界を模した。その際にオブジェクトという「何かしらの生存物」という固体として表現し、その中身を隠蔽した。
つまり、あるドメイン領域に注視する際に、本質を得るために、複雑性を排除するには、余計なものを隠すのがまず行うべき戦略である。これを情報隠蔽という(というのが僕の理解)。
例えば、役所(銀行でもいいけど)の窓口を考えると、住民が役所に行って行うことはある程度想定できる。その想定要件ごとに窓口を設け、必要なデータさえ(紙に書くなりをして)提出すると、望みの書類が入手できる、ということになっている。ここで、住民に、役所の内部のワークフローなり、組織なり、書類発行のための仕組みなりを知らせる必要はなくて、単に書類に必要事項を書いて提出することのみを求める。この、役所内部の仕組み等を隠す、ということが情報隠蔽に他ならない。GoFのデザインパターンで言うところの「ファサードパターン」だ(僕は、ずっと、フェケイドパターンって読むんだと思ってたけど、最近になってようやくファサードってかな書きを見るようになった次第)。
で、話を戻してオブジェクト指向でシステム、特にソフトウェアを考える、というのは結局のところ、複雑性を減らすことが一番の目的であり、この情報隠蔽が当然有益となる。では、オブジェクト指向設計における「隠蔽すべき情報」とは何か、というとこれは、各オブジェクトのもっている属性とか内部のロジックだったりするわけだ。そこで、抽象データ型という概念が出てくる。
一般に、オブジェクト指向の入門書によくある抽象データ型の説明として、属性を隠蔽し、属性へのアクセスを可能とする関数(メソッド)を用意し、その関数を経由しないで、直接触らせることを認めないようにしたもの、というのをよく見かけるが、「抽象データ型」というのは文字通りデータを抽象化した型であり、「なんかよーわからんけど、ここ(あるオブジェクト)にそのデータはある、実際にどういう型で定義してあるかなんてどうでもいいやろ? この関数使えば、関数に指定された型で返すから、それでいいやん」なんじゃないかと(僕は勝手に理解している)。
つまり、この抽象データ型をプログラム上(言語仕様上)実現しているものがすなわち「カプセル化」という機能であり、そのカプセル化を実現するための言語仕様上のメカニズムが「クラス」というものであり、クラスは個々のインスタンスを抽象化して定義したものだ。(と、勝手に理解してまつ)。

というわけで、僕の中では、情報隠蔽とカプセル化というのは、本質は同じもの、だったりするのです。
つまり、プログラミング上、情報隠蔽を実現するための言語仕様上の機能としてカプセル化というものがある、と。
でも、インタフェースだけ見せて実装を隠蔽する抽象クラス(Javaでいうインタフェース)、あるいは前述のファサードパターン、どれも粒度こそ違えど、情報隠蔽の手段であり、やってることはカプセル化を実施することで、ぶっちゃけ「中身を隠している」という意味で同じ、と僕は理解しておるのです。

#間違ってるのかな? あ、ひょっとして、情報隠蔽とカプセル化というのは、クラスとインスタンスの違い? だったら、やっぱり全然違うじゃん。 やりなおーし。見事玉砕。

Posted by money at 7:03 PM | Comments (0) | TrackBack

プロジェクトの目的

以前、『本プロジェクトの目的は、速やかに納品して1日でも早く検収をあげることである』と本気で言われて、「じゃあ開発しなきゃいいじゃん」と口まででかかったことがあるなんていう話はフィクションです。

こういうお馬鹿さん、実際にいる、いる。基本的にこういうなんでもいいからとにかく早くやれ、でも品質の低下は許さない、みたいなスタンスの人間は、中身がわからないから中身に対するこだわりもないし、なぜそれだけ期間や、人的コストがかかるのかが理解できていない。とにかく、リーダとしてプロジェクトをどうするかとかってビジョンは全くなくって、単にアウトプットを早く出してお客さんに、「いい子でちゅねぇ〜。なでなで」して欲しいだけだったりする。まぁ、精神構造が子供なわけだ(得てして、おじさんばっかりなんだが)。まぁ、日本の高度経済成長は、自分で考えて行動できる人間を排除し、何も考えずにがむしゃらに動く人手を大量生産してきたからだろうけど。でも、本人の立場にたって考えると、えたいの知れないソフトウェアというものを作るプロジェクトの責任を押し付けられ、でも、プロジェクトマネジメントするための教育も受けたわけじゃなく、自分もそれまでにそういう経験をやってきたわけでもなく、言ってる内容はよくわからないけど、お客さんは、とにかく早くって言ってる、部下はそんなんじゃできない、もっと期間が必要だとは言ってるが、なんで必要なのかもわからない。プログラムって書くんでしょ?書けばいいじゃん。文法は決まってるんでしょ?何を悩んでるの?お前らプログラマだろ?プログラム書けるんだろ?さっさと書けよ、俺はよく分からないけど、なんて風になると、どうしてもそういう姿勢になっちゃうってのは理解できるんだよなぁ。

そういや、デマルコのデッドラインにも最初は、120日かかります、って言ってた開発に、100日でやれ、って命令して、なんとか100日でリリースできるよう目処ができました、って話になると、じゃぁ85日でやれ、ってどんどんエスカレートしていく話があったように記憶してる(数字は適当)が、まぁ、努力と根性と献身的な姿勢だけが重んじられるこの世の中で、PMBOKのよなプロジェクトマネジメント技術が生かせるところがあるのかはなはだ疑問。

あ、当然ながら、この物語はフィクションでございます。登場人物、組織等は全て架空のものだと思われます。

Posted by money at 2:32 PM | Comments (0) | TrackBack

組織とリーダーシップ

小沢氏の受諾の可能性については「今のところ中立的だ」と述べた。

 調整の焦点となっているのは、執行部人事や新代表の任期だ。小沢氏周辺によると、小沢氏は岡田氏との会談で、挙党態勢確立と人事の一新を求めた。これに対し、党執行部内では、「国会対策委員長の交代はやむを得ないものの、幹事長や政調会長など現執行部体制の骨格は維持すべきだ」との声があがっている。また、小沢氏側は、党規約を改正し、9月の代表選を行わず、2年4か月の任期を要求した。折り合いはつかず、調整は13日以降に持ち越された。

 党幹部の1人は12日夜、「小沢氏に全権委任しろというものだ」として強く反発した。


民主党、菅代表が自ら墓穴を掘り退陣したのを受けての後任人事に、小沢一郎氏が要請を受けたらしい。それに対する小沢氏の執行部刷新の要求に対し、「横暴だ」という反発をしてる輩がいる、とのこと。
なんというか、日本的というか、分かってない、というか、まぁ、うまいこと世渡りして勝ち馬に乗りつづけないと生きていけない政治家先生たちでさえこうなんだから、世間だともっとダメなのは当然か。
民主党は党としての総意として、小沢氏に代表就任を要請した。小沢氏としては、この要請を受け止め、自分が代表になる以上、責任もって民主党を率いていかないといけない。だからこそ、自分がリーダーシップを発揮できる条件を整える、という意味で、執行部刷新を挙げたのだと思う。それに対して「横暴だ」といってるバカは、おそらくリーダーシップというものが分かっていない。つまり、この「横暴だ」といってる奴は、「小沢の好きなようにはさせん。でも、ダメだったら責任だけはちゃんととれ」と言ってるようなもんだ。これじゃリーダーシップも何もない。日本の組織というのは得てしてこんなもんだと思う。
ソフトウェア開発のプロジェクトを任せられ、プロジェクトを成功に導くのがプロジェクトのリーダたるプロジェクトマネージャの役割だ。ところが、そのプロジェクトにおいてプロジェクトを成功に導くために必要な権限が与えられない、ということはよくある話だ。つまり、責任を取らされる立場にたたされながら、自分の責任を果たす以前に、上役の意向の実現を強制させられるのだ。そういうときに口を挟みたがるものは責任を取りたがらないが口を挟みたがる、という奇妙な性質を持つことが多い。そうしt、日々そういった横槍に左右させられながら、プロジェクトをなんとか軟着陸に持っていく。順調にプロジェクトを進めていると、暇そうだな、と、新しい案件やれ、とか、要員を剥がしにかかったりして、当初の予定通りのリソースが与えられることはまずない。結果、プロジェクトを成功に導くために、順調であることを隠さなければならないとか、プロジェクトが火を吹いているように思わせないといけない、という本末転倒の状況におちいりがちなのだ。

あと、昔にあった話だけど、システム間でデータを渡しあう必要が出た際に、お客さん、というか上位のSEが何も考えずにNFSとFTPを使う案を提案した。こちらとしては、そんな状態管理すらできないプロトコルは将来のトラブルの元なので、反対したのだが、エンドユーザのお客さんにとっては、使い慣れたプロトコルだし、なじみあるし、NFSが信用ならない仕組みだなんてことは知らない(普通のSEも知らないらしい)ので、押し切られた。あとでどうなってもしんないよー、とか思ってたら、案の定、ファイルが渡ってるはずなのに、渡ってないとかって変なトラブルが後日発生することになる。ここで、仕様です、しかたありません、というのは許されなくて、でもFTP,NFSの採用を取りやめて別の信頼性のある方式を取る、ということも許されなくて、今のこの仕組みをつかって、データ転送を保証せよ、というむちゃくちゃなオーダになる。

そういや、前に田中真紀子が大臣のときに、「総理が自由に活動しろ、と言いながらも後ろで、本人がスカート踏んでるのよ」なんてことを言ってたが、「がんばって手腕を発揮してくれ」といいながら、手足には手錠をはめられているような状況のように感じる今日この頃なのである。

#オチはない。

もちろん、与えられたリソースの中で、最大限の成果を出すのがリーダだ、といわれればその通りだとは思うんだが、実際は、そんなことはなくって、「与えられた限られたリソースの中で、『もし、理想的なリソースが投入された場合に実現可能な最大限の成果』を求められている」ような気がしている。で、もし、その充てられたリソースの中でなんとかうまくプロジェクトを回していると、暇そうに見えるようで、リソースを減らされ、あたかもプロジェクトを順調に動かすことはいけないことのような仕打ちによくあう、のは僕だけなんだろうか? いや、もちろん、プロジェクトマネジメントとは何ぞや、って話が通用しない奴らが相手なので理屈が通らない人種であることは理解してるんですが。(この物語はフィクションです。登場人物その他は、似たような事例があるかもしれませんが、あくまでも架空なはずです。)

Posted by money at 11:45 AM | Comments (0) | TrackBack

May 9, 2004

(続)Spring Framework リファレンス

引き続き、とりあえず、Chapter3まで。まだまだ続きます。 でも、結構、歯抜けなんだよなぁ、オリジナルが。オリジナルの更新ペースについていけるのか? >自分。 んなことは、考えてません。そのとき考えます。

ってことで、感想、励まし、誤訳の指摘、ベターな訳の提案、訳語の統一、等々物申されたい方は、tkaneda@gmail.comまでなんなりと。返信100%と言うわけにはいきませんが。EJB3.0も発表され、どうやらSpringにも追い風か?な予感。春だしな。

Posted by money at 11:03 PM | Comments (0) | TrackBack

May 7, 2004

new seki したらしい

友人から年貢を納めた、との報告が入った。
と思ったら、ここにも取り上げられていた。話を聞くとつながりがあるらしい。いつも読んでた知らない人のWeblogで身近な話題が扱われると、いろんなところでつながっていると実感できる。なんとなく不思議な感覚。

Posted by money at 3:08 AM | Comments (0) | TrackBack

May 4, 2004

シマンテック セキュリティ指令基地

まさに要塞、シマンテックの「セキュリティー司令基地」レポート
ネットワークの脅威に対抗する防衛最前線


さすがシマンテック。椅子が全部アーロンチェアだ。(って、見るとこが違う。)

Posted by money at 6:40 PM | Comments (0) | TrackBack

May 2, 2004

ソフトウェア開発を語るためのメタファ

先日のエントリで、プロジェクトを野球に例えた件について、「例えが悪い」というご指摘をいくつか頂いている。まぁ、その件については、当事者同士では通じているので構わないんだが、昔からソフトウェア開発を語る上でいろんなメタファが使われてきたが僕はどれもしっくり来ない。今回はそれについて少し考えてみたい。
ソフトウェア工学という面で見る場合、よく出てくるのは製造業のメタファであり、実際の開発プロジェクトのマネジメントを議論する上でも、あるいは実際のソフトウェア開発プロジェクトを考える上でも必ず出てくるものの1つだ。つまり、作るべきものをはっきりさせ(分析、要件定義)、それをどのように作るかを考え(設計)、実際に作る(製造)、というあれ。製造業をメタファとすることの弊害等については、以前にも触れたのでここでは触れない。また、クリストファーアレクサンダーのパタンランゲージに代表される建築の世界にも例えられることが多いがこれも僕にはしっくりこない。
以前に、ドラマ、「白い巨塔」を見てるときに、カンファレンスの中で財前教授が言った「ナースは黙ってろ」という言葉を聞いてはっとした。
ソフトウェアの世界は個人の資質等によって生産性には大きく違いがでる、とはよく言われる。優秀なプログラマとそうでないプログラマでは、最大*倍(この数字はいろいろ説あり。仮に10倍としておこう)の開きがある。だから、優秀なプログラマを2倍の給料で雇えば効率がいい、と。じゃ、そもそもなんでそれだけの開きが生じるのか? これはソフトウェアに特有のものなのだろうか、と。 で、先ほどの「ナースは黙ってろ」という言葉なのだが、僕の昔の一時的な入院経験とか医療ドラマ(「振り返れば奴がいる」が好きだったりする)といった断片的な知識でしかないのを最初にお断りしておく。
医療の現場では、医者、ナース、アテンダント、病院事務、薬剤師、放射線技師等いろんな方が従事しておられる。それぞれが役割を持ち、それぞれに応じた専門教育がなされている。翻ってソフトウェアの世界はどうだろう? 実は、先ほどのカンファレンスを例に言うと、医者とナース、アテンダント、病院事務局長、薬剤師、放射線技師と言った経験も立場もバックグランドも全然異なる人々が一同に会し、あるクランケの病状と治療法を議論している、というのがソフトウェアの世界で実際に行われていることなのではないだろうか?つまり、幸か不幸かこれまでソフトウェア業界では、人月という言葉にあるように、人間の頭数と作業にかかる時間で規模等を測ってきた(いる)。そこでは頭数が重要であり、資質とか前提知識は問われない。また日曜プログラマが存在するように、素人と玄人の区別がつきにくいのも特徴だ(日曜外科医なんていない。。。)。 でも、冷静に考えると、ナースがいくら経験を積んでも医師にはなれない(もちろん、医師以上に、クランケの容体に敏感な洞察力のあるナースは実際にいらっしゃるであろう。しかし、ナースにメスを持たせることはないはずだ。そういう教育をされていないから。また、日曜大工が趣味という人がいくら経験を積もうと、あるいは土木作業員の経験をいくら積んでも例えば超高層ビルや巨大橋梁の設計に携わるようになるか、というとこれもありえないだろう。これもそういう教育を受けていないからだ。
ところが、ソフトウェアの世界ってこれと似たようなことを実際にやっちゃってる、ような気がしているのだが、これって僕の周りだけ?まぁ、病院の医療事務局長が、ドクターのオペ技術を評価しないとは思うが、たぶん、ソフトウェアの世界では似たようなことやってるよなぁ。でも、誰が言ったかは知らないが、「ソフトウェアとコーヒーは、素人が作るもの」とも言うし。

Posted by money at 8:01 PM | Comments (1) | TrackBack

(続)プロかノンプロか

とても多くのコメント、トラックバック、リファラありがとうございます。こんなに反響あるとは思いませんでした。一部で誤解されてるところがあるので、本人の名誉のためにも補足しておきます。件の「若い同僚」が悪者のように捉えられている節がありましたが、それはありません。メタファーが悪い、とのご指摘も頂いてますが、あえて前回と同じメタファーで例えると、彼だけが僕の剛速球を受けていた、と言ってもいいでしょう。で、今回彼が、僕に指摘したことは、「エンジニアに成り下がってんじゃねーよ。プロマネの仕事忘れるなよ?」ということなので、僕としては、参謀からの進言としてとても納得してるんですが。これも僕の文章力の至らなさかが根本原因かと。 とても反省。
Posted by money at 6:14 PM | Comments (0) | TrackBack
Powerd by FC2.com
since 2/Feb/2004