メッセージ。 - diary
2006-03-27
# セキュリティとか、まわりの人の感覚とか
ちょっと古い話だけど、ひろみちゅによるブログからFUDへ? 眞鍋かをりは30個の「スパイウェア」のうちcookieの数を明らかにせよという記事について。
このストーリーに登場する人物のうち、一番悪いのはスパイウェア検出ソフト売り業者のような気がする。セキュリティ分野の偉い人、ブルース・シュナイアーも言っているように、セキュリティはシステムじゃなくてプロセスなんですよね。
対策ソフトウェアをインストールしただけじゃダメってことで。安全な道具を使うだけじゃなくて、それを使う人間のほうも、正しい知識をもって継続的に努力しなきゃいけないんですよね? そう考えると、スパイウェア検出ソフト売り業者というのはおかしいんですよ。
ユーザーに正しい知識を与えるという意識が感じられないから。セキュリティは、システム(道具)とプロセス(使い方)の両輪があってこそ。にもかかわらず、ソフトの業者はシステム(道具)だけ売れればよいという考え方に見えます。悪く言うと二枚舌だと思うんですが……、こんなもんなんですかね?
「まぁそんなもん」という考え方もあるでしょうけど。なんか気持ち悪いんですよね。もっと、モヒカン的な仕事をしてくれる会社があったらいいのになぁと思います。
Winny関連の話題でも、最近、Winny対策ソフトウェアの類をたくさん目にするようになりました。会社の人と企画会議をしていたら、肯定的にそれを見ている人もいるみたいなんですよね。「Winny対策ソフトはたくさんあって分かりにくいから、それを整理してみんなに紹介しよう」とか言って。
一方で世の中には、「Winny特需」という言葉があるようで。ぼくなんかはやっぱり、この言葉のほうに共感してしまうんですよ。そんなものを、みんなに紹介するなんて無責任なんじゃないのかなぁと。ほんとにいろんな人がいて、自分が正しいとは言わないけど、やっぱりそういうのは嫌なので、どうしたもんかなぁと身動きが取れなくなってしまいます。
スパイウェア検出ソフト売り業者たちは、製品を実行しても何も検出されないという事態を避けるため、わざとcookieをスパイウェアに含めることにしている。
このストーリーに登場する人物のうち、一番悪いのはスパイウェア検出ソフト売り業者のような気がする。セキュリティ分野の偉い人、ブルース・シュナイアーも言っているように、セキュリティはシステムじゃなくてプロセスなんですよね。
対策ソフトウェアをインストールしただけじゃダメってことで。安全な道具を使うだけじゃなくて、それを使う人間のほうも、正しい知識をもって継続的に努力しなきゃいけないんですよね? そう考えると、スパイウェア検出ソフト売り業者というのはおかしいんですよ。
ユーザーに正しい知識を与えるという意識が感じられないから。セキュリティは、システム(道具)とプロセス(使い方)の両輪があってこそ。にもかかわらず、ソフトの業者はシステム(道具)だけ売れればよいという考え方に見えます。悪く言うと二枚舌だと思うんですが……、こんなもんなんですかね?
「まぁそんなもん」という考え方もあるでしょうけど。なんか気持ち悪いんですよね。もっと、モヒカン的な仕事をしてくれる会社があったらいいのになぁと思います。
Winny関連の話題でも、最近、Winny対策ソフトウェアの類をたくさん目にするようになりました。会社の人と企画会議をしていたら、肯定的にそれを見ている人もいるみたいなんですよね。「Winny対策ソフトはたくさんあって分かりにくいから、それを整理してみんなに紹介しよう」とか言って。
一方で世の中には、「Winny特需」という言葉があるようで。ぼくなんかはやっぱり、この言葉のほうに共感してしまうんですよ。そんなものを、みんなに紹介するなんて無責任なんじゃないのかなぁと。ほんとにいろんな人がいて、自分が正しいとは言わないけど、やっぱりそういうのは嫌なので、どうしたもんかなぁと身動きが取れなくなってしまいます。
2006-03-26
# 日本のソフトウェアエンジニアは不幸か?
・儲かるビジネスモデルを経営者が打ち出せない・業界自体がゼネコン体質だからこのようになってしまった
(上記テキストは適宜編集しています)
……はぁ。そうなんだよね。やっぱりそう感じている人はいるんだよ。でも、ぜんぜん改善しないし、そういう問題を指摘する日記を書いていても、ほとんど反響はないんだよなぁ。なんでじゃろ。
もうひとつ共感する記事を見つけたので一緒にメモ。
システム開発でネックになることの1つに、顧客の要求が汲み取れないということがあります。顧客がなにを考えているのかわからない、顧客は「なんとなく」しか理解していない。よって、システムが完成したときに「わたしの欲しかったモノはこれではない」*1となってしまう。
2006-03-25
# 今後はもっと増える? 書いているときは人格が変わるタイプ
この人、私のこと嫌いなのかなと思っていると、その人の書くウェブ日記の文体も同じような、常にちょっと何かに苛立っているような文体だったりする。なんだ、そういう人だったのかとあらためて驚く。一緒に食事したこともあるし、飲みに行ったこともある。対面の時はすごく感じいい人だけど、文章になるとちょっと別人格になるみたいだ。
ああ、ああ、ああ。これは本当に困ったもんです。ふじさわは昔ある人に「日記を読むかぎり、もっと怒っている人なのかと思っていた」と言われてギクッとなった。shinoさんとのファーストコンタクトも、だいぶ感じが悪かった。書いているときは人格が変わるなんて、なんかちょっと、ダメ男みたいじゃないですか。お酒を飲んで暴れるオヤジと、変わらないですよ。だから、ええと、うーんと。こんな日記書きそうになったのだけど、隠しときますねっ☆
2006-03-24
# 「プログラミングは難しいよ?」 というお話 その3
ちょっと間があいちゃったけど、「プログラミングは難しいよ?」の続き。
学校の実習でC言語を学ぶことになったふじさわ。「座学よりは実習だ」と、喜び勇んでワークステーションに向かったが……。
ぼくは、お決まりの入門プログラム「Hello World」でつまづいた。画面に「Hello World」と表示するだけのプログラムさえ、ぼくには困難な壁に思えたものだった。たとえばC言語では、たいてい1行目に「#include <stdio.h>」と書く。ぼくはこれの意味を知りたかった。だけど教科書も、、まわりの友達も、それが何かを教えてくれなかった。
「標準なんちゃらだよ」と言う人がいた。「標準ってなんだ?」と思った。
「おまじないだと思えばいいよ」と言われた。「おまじない?」 ぼくは占いの類はしない。
分からないことがあって質問しているのに、質問するごとに分からないことが増える。「もういい加減にしてくれ!」。
分からなさすぎて吐きそうになりながら、とにかくそれを打ち込んでみることにしたが、それも困難だった。
ちょっとした打ち間違いを直そうと「BackSpace」キーを押すたび、よけいなゴミが文章に付け加えられるのだ(矢印キーを押しても同じようにゴミが増えた。ワークステーションの設定がまずかったらしい)。「コンピュータって便利なのか?」
なんとかかんとか、教科書のとおり打ち込んで、言われた手順でこんぱいるし、実行してみる。
$ gcc hello.c
$ ls
a.out
$ a.out
Hello, World
この結果を見て、ぼくはうれしかったというよりも、憤りを感じた。「Hello, World」と手で打つほうが早いじゃないか! しかもプログラミングというものは、意味不明にもほどがある! stdioってなんだ? mainってなんだ? voidってなんだ? printじゃだめなのか? a.outってなんなんだ。
「Hello, World」って、誰が誰にHelloなんですかっ!?
学校の実習でC言語を学ぶことになったふじさわ。「座学よりは実習だ」と、喜び勇んでワークステーションに向かったが……。
ぼくは、お決まりの入門プログラム「Hello World」でつまづいた。画面に「Hello World」と表示するだけのプログラムさえ、ぼくには困難な壁に思えたものだった。たとえばC言語では、たいてい1行目に「#include <stdio.h>」と書く。ぼくはこれの意味を知りたかった。だけど教科書も、、まわりの友達も、それが何かを教えてくれなかった。
「標準なんちゃらだよ」と言う人がいた。「標準ってなんだ?」と思った。
「おまじないだと思えばいいよ」と言われた。「おまじない?」 ぼくは占いの類はしない。
分からないことがあって質問しているのに、質問するごとに分からないことが増える。「もういい加減にしてくれ!」。
分からなさすぎて吐きそうになりながら、とにかくそれを打ち込んでみることにしたが、それも困難だった。
ちょっとした打ち間違いを直そうと「BackSpace」キーを押すたび、よけいなゴミが文章に付け加えられるのだ(矢印キーを押しても同じようにゴミが増えた。ワークステーションの設定がまずかったらしい)。「コンピュータって便利なのか?」
#include <stdio.h>int main(void) {printf("Hello, World\n");return 0;}
なんとかかんとか、教科書のとおり打ち込んで、言われた手順でこんぱいるし、実行してみる。
$ gcc hello.c
$ ls
a.out
$ a.out
Hello, World
この結果を見て、ぼくはうれしかったというよりも、憤りを感じた。「Hello, World」と手で打つほうが早いじゃないか! しかもプログラミングというものは、意味不明にもほどがある! stdioってなんだ? mainってなんだ? voidってなんだ? printじゃだめなのか? a.outってなんなんだ。
「Hello, World」って、誰が誰にHelloなんですかっ!?
# チープな機器に精密なコントローラを付ける
ひじょうにチープな電子機器(安そうなデジタル置時計やタイマー、ゲームウォッチのような電子おもちゃ)に、任天堂やATARIなどののテレビゲームハードについているコントローラを、強引に接続しているだけのもの(engadgetの記事によるとちゃんとコントローラとしてハードを操作できるらしい)。ひじょうにバカくさい。のだがしかし、とてもいい、というか、なんかどきどきする。
「美女と野獣」的な心理があるのかなぁと思った。「ドラえもんとのび太」的というか。非力でローテクなものに感情移入しつつ、それと組み合わされる大きな力に憧れる。「その圧倒的な力に触れたい」という欲望。「こんなことしていいんだろうか」という倒錯。そういう感じを、たとえばぼくだったら感じるような気がする(あまりデバイスに感情移入はしないほうだけど)。
ああ、ちょっと早とちり。「チープな機器に、コントローラを付ける」という話かぁ。だとしたら、ローテクな機器が下位心理レイヤで、コントローラが超自我という感じかもしれない。原始的な「心」をどうやって論理的な自我でコントロールするか、あるいは心はどう抵抗するか、という感じが琴線に触れるのかもしれないなぁ。なんて適当な感想を書いてみる。
2006-03-23
# SIの問題を整理する!(自分なりに)
結局のところ、「SIはパッケージとかなり違う」というのがふじさわの考えです。
違う要因として、「SIにおいて、顧客が要求するシステムを作るのはかなり難しい」というのがありますかね。要は「仕様がない」ということです。たいていは見切り発車で作るけど(顧客からもOKがもらえるけど)、仕様変更が頻発して「はいデスマーチ一丁上がり」ってなもんです。
これが起こる原因として、
- 顧客自身がどんなものを作りたいかうまく説明できないこと
- 要求が市場や現場にマッチしているか定かではないこと
- 顧客のシステム部が弱くて、現場や上の意見に揺らいでしまうこと
- 組織内部で対立があって矛盾した要求が出てくること
- SIベンダは無理な要求に「No」と言えないこと
などがあると考えてます。このへんは、日経BP社の「動かないコンピュータ」という本も、まぁ参考になります。
パッケージは、究極的には自分が作りたい(作るべきと考える)ものが仕様なわけで、システム的な要件への落とし込みをかなり正確に行えるんじゃないかと思います(あくまで「SIに比べて」ということかもしれませんが)。あとは、パッケージの仕様がどれだけ市場にマッチするかですよね。たぶん。
またパッケージは、SIに比べると要求仕様が明確で、のるかそるか自分で決められるのがよいかなぁと思います。SIは、上記のように要求仕様が後からあとから変わるので、とてもしんどいのです。SI屋は、「そんなに変更されたら、もう作れません」と言えればいいのだけど、言えないんですよね。それがゼネコン体質というやつです。一度断ると次の受注が来なくなるのかもしれないですね。
それで、予算もないのに仕様変更をバンバン受けて、みんなでタダ働きしたり、個人の機材を供出したりしなきゃいけなくなって、それでも赤字でどうしようもなくてってなるんですよね。これはたぶん、特別なことじゃないと思います。一部上場企業でこれでしたから。下請けなんかはもっとひどい労働環境です。お金とか福利厚生とか。
SIの現場にいて感じたのですが、どうもSI業界には厳然たるカースト制度があるような気がします。お客さまは神さまであって、SEやプログラマは単に言われたとおりのものを作ればいいのだと。上司と客先に行ったら、何を言われても頭を下げてばっかりですから。システム屋が顧客に意見するなんてとんでもないと。顧客の言うとおりに作っていればいいと。そして、そういう関係が、重層構造になって下請け孫請けに続いている。
でも、それでいいものが作れるのかなぁと思うわけですよ。現場の人と、時間をかけて肚を割って話し合わないと、よい業務システムの仕様なんてなかなかできないと思うんです。創造的なプロセスを経てこそ、創造的なシステムやモノができるとぼくは考えます。「お客さまは神さまではない。間違うこともあるし、対等に話し合ってこそものづくりができる」。それがぼくのポリシーです。でも、それができているSIの現場は、かなり少ないだろうと思っています。
違う要因として、「SIにおいて、顧客が要求するシステムを作るのはかなり難しい」というのがありますかね。要は「仕様がない」ということです。たいていは見切り発車で作るけど(顧客からもOKがもらえるけど)、仕様変更が頻発して「はいデスマーチ一丁上がり」ってなもんです。
これが起こる原因として、
- 顧客自身がどんなものを作りたいかうまく説明できないこと
- 要求が市場や現場にマッチしているか定かではないこと
- 顧客のシステム部が弱くて、現場や上の意見に揺らいでしまうこと
- 組織内部で対立があって矛盾した要求が出てくること
- SIベンダは無理な要求に「No」と言えないこと
などがあると考えてます。このへんは、日経BP社の「動かないコンピュータ」という本も、まぁ参考になります。
パッケージは、究極的には自分が作りたい(作るべきと考える)ものが仕様なわけで、システム的な要件への落とし込みをかなり正確に行えるんじゃないかと思います(あくまで「SIに比べて」ということかもしれませんが)。あとは、パッケージの仕様がどれだけ市場にマッチするかですよね。たぶん。
またパッケージは、SIに比べると要求仕様が明確で、のるかそるか自分で決められるのがよいかなぁと思います。SIは、上記のように要求仕様が後からあとから変わるので、とてもしんどいのです。SI屋は、「そんなに変更されたら、もう作れません」と言えればいいのだけど、言えないんですよね。それがゼネコン体質というやつです。一度断ると次の受注が来なくなるのかもしれないですね。
それで、予算もないのに仕様変更をバンバン受けて、みんなでタダ働きしたり、個人の機材を供出したりしなきゃいけなくなって、それでも赤字でどうしようもなくてってなるんですよね。これはたぶん、特別なことじゃないと思います。一部上場企業でこれでしたから。下請けなんかはもっとひどい労働環境です。お金とか福利厚生とか。
SIの現場にいて感じたのですが、どうもSI業界には厳然たるカースト制度があるような気がします。お客さまは神さまであって、SEやプログラマは単に言われたとおりのものを作ればいいのだと。上司と客先に行ったら、何を言われても頭を下げてばっかりですから。システム屋が顧客に意見するなんてとんでもないと。顧客の言うとおりに作っていればいいと。そして、そういう関係が、重層構造になって下請け孫請けに続いている。
でも、それでいいものが作れるのかなぁと思うわけですよ。現場の人と、時間をかけて肚を割って話し合わないと、よい業務システムの仕様なんてなかなかできないと思うんです。創造的なプロセスを経てこそ、創造的なシステムやモノができるとぼくは考えます。「お客さまは神さまではない。間違うこともあるし、対等に話し合ってこそものづくりができる」。それがぼくのポリシーです。でも、それができているSIの現場は、かなり少ないだろうと思っています。
# 「WIDE用語集」
WiLiKiで紹介されていたWIDE GLOSSARY WIDE 用語集 by Susumu Sano。ちょっと(読んだけど)面白かった。あとで読む。