猫の小部屋 - ねこのこべや -

猫日誌 -2004-


2004年05月

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Topics

>>> [index] [next] [prev]


05月27日(木)

今月は柄にも無く精神的に疲れました。 結局猫は、狸にも狐にもなりきれないので、 それだけで消耗してしまうのよね、と改めて思ったり。

そんなさなかで使うことになった Web Matrix はなかなか面白いかもしれなくって、 特にプログラマじゃない人にとっては気軽に触ってみるべきものじゃないかしら。

だからちょっと書き留めておくことにしました。

Web Matrix って なんじゃらほい?

Web Matrix とは、正式には Microsoft ASP.NET Web Matrix Projectといって、 ASP.NETアプリケーションを作るための開発ツールです。

実はこのツール、タダですし、統合開発環境風のインターフェイスはなかなか初心者ライクなので、 Brinker(紹介記事)のようなASP.NET OK の(無料)レンタルサーバスペースとセットにすると Webアプリケーションが一気に身近になるはずです。(こんなのもありました。)

また、開発ツールの「軽さ(実行速度やメモリ消費量じゃなくって、心理的な)」と、 楽ちんさのバランスも取れていてなかなかご機嫌なツールです。 これなら、業務の効率化ということで、ちょっとした業務ツールをWebベースでつくるのにもいいかも。

そんなツールですので巷では結構人気が出てきているみたいですが、 ちょっと気になることもあるのです。

それは、Web Matrix ≒簡易&機能限定版 Visual Studio .NET という誤解です。

ASPとASP.NET

クライアントからのリクエストを受けた際、単にサーバにあるHTMLドキュメントを返してあげるのではなく、 サーバ側でプログラムを実行し、その結果をHTMLドキュメントとして返してあげる ――こういったWebアプリケーションは今ではすっかり主流になって、 企業内の業務システムでさえイントラネット内のWebアプリケーションで構築されることが当たり前です。

そのための技術には、本当にいろいろあるのですが、 Microsoftが誇る ASP(Active Server Page)と言う技術は、その取っ付き易さで好評です。

ASPは基本的にHTMLドキュメントにスクリプトを埋め込む技術です。

<HTML>
<HEAD>
    <TITLE>テストですよ</TITLE>
</HEAD>

<BODY>
    <H1>ラッキーナンバー通知</H1>
    <P>
        あなたのラッキーナンバーは <% = CStr( CInt(Rnd * 100) ) %> です。
    </P>

</BODY>
</HTML>

Webサーバは.aspxファイルを上から順番になめ、「<% ... %>」の部分を サーバ側で実行するスクリプトとして解釈、実行します。 だから、HTMLを理解していて、簡単な論理構造を記述できるレベルのプログラマであれば、 簡単手軽にWebアプリケーションが作れてしまうわけです。 (これは「画面至上主義」なCOBOLerやVCOBOLer的VBプログラマにも受けが良いです。)

また、スクリプトを書くための言語も、標準で VBScript か JScript(MS版JavaScript)と、 ブラウザで実行されるスクリプト言語とまったく同じものを使うのも取っ付き易さの秘訣です。

ただ、このASPの取っ付き易さは 大規模プログラムの管理のしにくさと表裏一体です。

ビジネス的処理の結果で Webページが大きく変わる場合、Webページとなる文字列リテラルが「主」な構成のASPは 余り向いていませんし、VBScriptもJScriptも変数に型のないスクリプト言語なので、 (異論はあるのですが)やはり大規模開発には向いていません。

そんな背景をもって開発された、ASP.NETは、HTMLドキュメントとなる部分と サーバーで実行させるプログラムのソースコードを切り離す技術「コードビハインド」を持っていて、 この技術を使うとソースだけ別ファイルに切り離せるだけでなく、ソースファイルをあらかじめコンパイルしてDLLを作成し、 それをWebサーバでの実行時にHTMLドキュメント部分(ASPXファイル)と結合する・・なぁんて芸当までできてしまします。

そしてこの 「ソースコードはあらかじめコンパイルしてバイナリで配置、HTMLドキュメント部分はテキストファイルのまま配置」が、 Visual Studio .NETが作り出す Webアプリケーションです。

Visual Stuido .NETさん 頑張る

「ソースはバイナリ、HTML部分はテキスト」ということは、

対象ファイルの種類配置の基準
ソースコード テキストファイル C#ソースコード 物理的ディレクトリ
ビルドして出来た DLL バイナリファイル .NET Fremawork用 DLL仮想ディレクトリ
HTML部分(ASPX) テキストファイル HTMLもどき 仮想ディレクトリ
Visual Studio .NET 自身の管理ファイル テキストファイルXML 物理ディレクトリ

(物理ディレクトリ:C:\mineko\ ・・・の様なもの)
(仮想ディレクトリ:http://localhost/mineko/ ・・・の様なもの)

のように、ファイルの配置基準がバラバラ。 (だって、コンパイルが2度起きる仕組みですもの) 物理的なパスで管理したり、仮想ディレクトリで管理したりとややこしい仕組みが必要です。

だから、Visual Studio .NET は IIS(MS製 Web、FTP、Mailサーバ)に強く干渉して これらの辻褄を合わせてくれます。 (ソースコードからDLLを作成したり、作成したDLLを仮想フォルダに配置したり、 ASPXをちゃんと配置してくれたり、IISの設定をしてくれたり・・・) 見かけによらず頑張りやさんなんです。

頑張ってくれるので、ここら辺を知らなくても まるで普通のWindowsアプリのようにWebアプリケーションを作れるのですが、 実は、この頑張りはVisual Stuido.NETしかしてくれません。

Web Matrix さん人でなし

実は Web Matrix はコンパイルしてくれません。 だから、コンパイル用情報の管理をする プロジェクトも存在しません。

また、Web Matrixは、自分が作った ASPXファイルがどんな仮想フォルダに配置されるかも 我関せずです。 開発者が物理フォルダにASPXファイルを保存する、 保存した物理フォルダは実は仮想ディレクトリになっていれば、Webアプリケーションとして公開されるでしょうし、 そうでなければ 単にフォルダに保存しているだけです。

つまるところ、Web Matrix は超高性能なスクリプトエディタです。

作ったASPXファイルには、ASPのようにソースコードが HTML文書中に挿入されてますし、 そのファイルを仮想ディレクトリに配置するのは開発者です。 ASPXファイル中のプログラムをコンパイルするのは、ASP.NETランタイムです。 本当にASPXファイルの編集以外のことはなぁんにもやらないのがWebMatrixです。

そこが良いのよWeb Matrix

じゃあ、Web Matrixは見てくれだけ Visual Studio似のハッタリくんかというと そうではありません。

「Webサーバ上で動く(複数のページを持った)一つのアプリケーション」が欲しい場合と、 「Webサーバで解釈されるスクリプトを埋め込んだHTMLドキュメント」が欲しい場合がある、ということなんです。

猫のような職業プログラマが仕事として作る場合は大抵前者なんですが、 「ちょっとした」自分のサイトの掲示板や、「ちょっとした」Webで見れるAccsess DBビュワーなんかを 欲する場合、後者で十分です。

そういう場合でもVisual Stuido .NET は「大は小を兼ねる」と前者を強要するのですが、 ちょっと小回りの効かなさがうっとおしく感じます。 そんな時「ちょうどよくも使いやすい」のがWeb Matrixです。

そう、Web Matrixは 何も出来ないし、何もしない。だけど、そこがチャームポイントなんです。 出来る差加減と出来なさ加減のバランスが絶妙で、使っていて「楽」と感じます。 うん、シンプルは強さだわ♪

そのほかの素敵なところ

さっきから Web Matrix を単なるテキストエディタ呼ばわりしていますが、 実はそれ以上を持っているのも Web Matrixです。

例えば、Access DBやMSDE、SQL Serverのテーブルを簡単に画面に表示させたり、 SQL文を作るテンプレートがあったりと、データアクセス周りは かなり便利機能があります。とりあえずDBだけ構築して暫定UIとしてパッパッと作るとき、 本当にあっと言う間にできて便利です。

他にも、Web経由でWebコントロールを探してきて、それを使用するのをWeb Matrix上の操作だけで できるようになっていたりなど、 「ちょっとした」個人ツール的便利さが Web Matrixにはあります。

正直なところ

Visual Studio .NET が作るような「Webアプリケーション」は、 一つのプロジェクト毎に一つのワーカープロセスが作られます。(Windows 2003 Serverの場合) これは、レンタルスペースのような運用ではかなりつらいです。

Web Matrixが作るような ASPチックの「HTML埋め込みサーバ用スクリプト」は、 実行時に1画面1アセンブリとなりますが、それっきりです。 各サイトの仮想ディレクトリをWebアプリケーションとして設定する必要もありません。 とてもレンタルスペース向けの仕様ですし、それをにらんで デバッグ用のパーソナルWebサーバもWeb Matrixは持ってます。

ですが正直なところ、フリーのレンタルスペースでのWindows系サーバはほとんどありません。 なので、「こういう用途」の恩恵に授かれる機械がはたしてどれくらいあるのか 疑わしいと猫は思っています。

逆にWindows XP Professional以上ならIISも立ち上げられますし、 Web Matrixの「裏でごちゃごちゃやらない見通しのよさ」が、 「PCに詳しいけどプログラマじゃない」ユーザがちょっとしたオフィスでの 便利Webアプリケーションをつくるのにとても向いていると思います。

Web Matrix は実は Access的ツールです。 プログラマ以外の人が「プログラムの恩恵」を教授するためのツールです。 そして幸い Web Matrixはまだ Accessのように機能過多でゴチャゴチャしてません。 だから理解しやすくもあり、きっと面白く便利なプログラム生活が送れるでしょう。

そんな意味で、猫はWeb Matrixには好意的なのですが、 だからといって、 仕事で使うって言うのはひどい話だわ、と思います。

|++ month top ++|

05月24日(月)

前回、前々回とねっとりとしたネタが続いた三猫です。 そういえば、段々気候もジメジメしてきました。

今年の梅雨はなんだか暑そうです。(根拠はないです) 猫の今の職場は丘の上ですので、 ヌットリとした空気に苛まれる前にミニ扇風機を買わなくちゃと思っているのですが、 季節はずれなのでなかなか見かけません。見かけても高かったり(TT) 。

そんな猫は去年の冷夏でもUSB扇風機を一台使い潰してしまった 扇風機愛好家です。

・・・

なんだか「掴み」から見事に失敗してしまった気が・・・(^^;

やっぱり語りたいな Winny事件

既に皆さんご存知だと思いますが、 P2Pファイル交換ソフト Winnyの開発者が 著作権法違反幇助で逮捕されました。

議論のネタとして優秀なだけに、 何処のサイトでもひっきりなしに取り上げられ、 恰好のblogネタになっているのですが、 猫はひねくれ者なのでこうも話題に上がっていると逆に「絶対書かないぞっ」と思ってしまいます。 そんなこんなで、このネタには触れまいと心にゆるく誓ったりしていましたが、 ホンネはやっぱり語りたい。んーっ、シッタカブリーナ・カタリタガールの血が騒ぎます。

そんなこんなでちょっとだけ。ちょっとだけペロっと書きたいと思います。 うう、意志薄弱だわ・・・。

著作と認めるなら・・・

Winny事件についてはいろいろ記事に目を通しているのですが、 猫的に「おおっ」と思ったのは一件だけ、 ITmediaの「Winnyを肯定的に議論する」です。

猫はソフトウェア開発者です。 なので今までそこそこの数のソフトウェアを開発してきましたが、 しみじみ思うのは「ソフトウェア」は「ツール」の別名なんかじゃない、と言うこと。 そこには確かに「道具」以上の何かがあると感じます。

今のソフトウェアは如何にもツール然とした顔を見せる様にデザインされることが多いのですが、 デザイン言語、プログラム言語を駆使してそこに書き留める作業は 文章を書くことと本質的に何ら変わりなく、 意図しようと意図しまいと、多かれ少なかれ自身の思想が反映してしまう 「著作物」です。

なにもこれは「ソフトウェア」に限った話ではなく「創る」という行為は 必ず某かの意思が反映してしまう為、そのどれもが「本」や「映画」と 等しく「知的創造物」という側面を持ってしまいます。 この「ソフトウェアも知的創造物」という観念から著作権法は ソフトウェアをもその範疇として法の力を振るっているわけです。

だから、ITmedia記事の Winnyというソフトウェアにたとえ「現行の著作権法は問題があり、変えるべきだ」という 意思が込められたとしても、ソフトウェアを著作権法の守備範囲とする以上、 表現の自由として「ソフトウェアに意志を込める権利」を認めるべきだ、 というのに猫は「至極まっとうだわっ」と感心しました。うーん、今までそういう視点に立てなかった自分が愚かしいわぁ。(プログラマなのに!)

ソフトウェアは思考のスタックであると同時に、それを引き出す機構も内包するため、 「動的な思考の記録」を作り出すことが出来ます。 ここまでは理論であり言葉遊びなのですが、 ITmediaの記事に猫は、 真に「動的な思考の記録」というのは、社会にどのような影響を及ぼせ得るかという実例こそが Winnyだったのだわ、と気付かされました。

「動的な思考の記録」は幇助する?

「静的な思考の記録」の代表格は本であり、音楽であり、映画です。 これらは「他者の経験の再生」「他者の感情の再生」をもたらす呼び水であり、 再生された結果は「自身の思考」であって、もちろんそれを動かすものは自身です。その責任は著作物の受け手に移ります。

しかし「動的な思考の記録」は、著作物の受け手の意思と、著作者の動的に再生された意思が 協調して(同時に)事象を起こします。

「ゲーム」であればその事象は所詮「仮想世界」の事象ですので社会的問題にならないのですが、 Winnyのように事象が「現実世界」に振るわれるとき、著作物の作用そのものが 「煽動」を超えて「幇助」というにとらえられてしまうこともある、 ということに猫は初めて気が付きました。

本、マンガ、音楽、映像作品・・・、これらはみな「著作物」であり 「著作者」の思考の賜物なのですが、それぞれどのように受け手に影響を与えるかは違います。 ソフトウェアを著作物として法が保護したならば、ソフトウェアが 受け手に、社会に、どのような影響を与えるたぐいの著作物なのかまでを検証し、 その結果の責任を著作者に被せないことも含めて、表現の自由を保護すべきです。

もしそれを認めないなら、権限のみを欲して責任を果たさない法であり、 同時に「著作権の保護」が某かの利権を一方的に守る為に掲げられた 偽りの看板であるということです。

・・・という偉そうなことがどうしても言いたくて、 猫は筆を取ってしまいました。(^^;

おなじ恥なら描かなきゃそんそん?

「動的な、思考の記録」ってこういうモノなのねっ!・・と気づいた時、 まるで頭上で電球が灯ったような気分で、「スゴイスゴイ」と半ば大げさに思ったり。 それ自体はいいのですが、 「スゴイスゴイ」を自分の頭だけに止めることが どうにもこうにも我慢できなくなり 「ねね、この考えどう?どう?」と聞いてみちゃうところが、 ああ、つくづくあたしってば、シッタカブリーナ・カタリタガールなのよね、と思ったり。

そして後になって「うあっ、あたしってば なんて恥ずかしいマネを・・」と思うのも いつもの通りだったり。きっと今回もこのパターンだと思うのですが、止められない止まらないでUPしてしまいます。 所詮猫ゆえ、猫ですし。(TT)

|++ month top ++|

05月21日(金)

いろいろあるのですが、やっぱりこういう雑文を書くのは楽しいです。

三猫OnLineはあえて 各ページの共通点を「三猫」にしぼって、 何かに特化するものは サブコンテンツ(猫箱)にどんどん放り込むという スタンスなのですが、 運営から2年経つと、すっかりキーボードとトラックボールに メインコンテンツが負けてしまってます。

一応メインはニュースとコラムだったはずなのですが、 ニュースはともかくコラムは半分休止状態ですし、PSOネタはほとんど無いしで、 サイト立ち上げ当初 バーチャルネットアイドル ほかん庫さんに紹介されたときの「コラム PSO」を見ると 「あたしもずいぶん遠くまで来ちゃったのね・・」としみじみ思ってしまいます。

その手のジレンマはQwerters Clinicさんと その親サイトさんですとか、Web上に同類さんが一杯あるので、 みんなそうなんでしょう。うんうん。

結局、人はやりたいことはいっぱいあるけれど、 避けるリソース(時間)も、やる気も、限界があるのが問題なのよね。

悪魔のVisual Studio.NET

で、なんでこんなイントロダクションで始めたかと言うと、 猫がこのサイトでやりたかったことは 実はキーボードとトラックボールだけではなくって、 プログラムのこととか、ガンダムなこととか、そういうことのサブコンテンツも やりたいな、とず〜〜っと、思っていました。 けどけど、なかなか手が回らないんです。ふがいにゃい・・。

サブコンテンツが立ち上がらなくても、勿論書きたいことは頭にフッとわいてくるので (しかも猫の頭は鳥の頭なのでスッと消えていく・・・)、 そのはけ口として「猫日誌」を用意したのは、猫的には大ヒットだったのですが、 読む人からしてみると、闇鍋で電波ゆんゆん、といった ドクターペッパーのような趣をもつコーナになってしまいました。

そんなわけ(?)で、とみにプログラムの話題が多い傾向にあるのは、 ここしか書くところがないからだったりするわけです。(^^;

さて、ようやく表題の「Visual Studio.NET」に入るのですが、 先日の「事業部ともめて大変」という日誌の、直接のトリガーとなったのが 実はこの「Visual Studio.NET」です。

Microsoftは「.NET」を推し進めるにあたって、統合開発環境「Visual Studio」を 今までのバージョンアップではなく、新しいパラダイムシフトと位置づけ、 「Visual Studio 7.0」ではなく「Visual Studio.NET」という製品名としました。 ここまでは良くある「営業戦略」なのでよいのです。

でもでも、Visual Studio.NET 以降のバージョンが、Windowsのように「Me」「XP」という風に 名前でアップしていくのでは無くって、「Visual Stuidio .NET Version 2003」のように アップしていくのが問題なのです。

今までの「6.0」のようなバージョンアップですと、マイナーバージョンアップは もちろんタダです。また、作成したアプリケーションが動く「Window」という環境も 安定(もちろん「仕様が安定」と言う意味です)しているので、 今でも6.0をずっと使い続けることができます。

でも、Visual Studio.NETは、正直なところリリースと同時に実行環境「.NET Framework」の 仕様が変化してしまうため、古いバージョンを使い続けるのは難しいです。 なのに、「Ver.2002」「Ver.2003」と毎年アップデートされ(来年も2005がでます(TT) )、 しかも買いなおしとあっては、長期運用開発するような会社ではたまったものではありません。

こういう風にいうとMicrosoftは「MSDNサブスクリプション ライセンスを毎年とってくださいね」と 言うでしょうが、更新も新規購入も値段が変わらない年次契約は、結局「毎年買ってください」 のエイリアスでしかありません。 ビルゲイツって、ホンッとに商売上手だわっ。

だから買わない・・

猫のお客様は 300人もの開発人員を抱える 長期運用型の会社さんですので、 この支出が痛すぎるというのはわかります。 だから、ここの事業部長は「Visual Studioを買わない」という方針をきめたのも 理解できます。

だけどそこで、「Web Matrix と Sharp Develop で開発する」というのは、 「無謀と勇気は違うのよっ!」です。はっきり言って正気の沙汰とは思えません。

工数も爆増しますし、ツールのバージョンが幼い(βですし・・)ことから不具合やツールの仕様変更のリスクが 常に伴います。また周辺情報の圧倒的な少なさもこれに拍車をかけます。 なんといっても、商用利用が法的問題になりそうだ・・なんて判断はどこにもないのかしらっ!もうっ!

・・・と、いう風な方向にお話を持っていくと、前回の猫日誌と同じに内容になってしまうので、 今日は「なぜ正気の沙汰で無いのか」という技術的な背景の面白みについて触れてみたいなと思います。

Web Matrix の落とし穴

Web Matrixは 正式には「Microsoft ASP.NET Web Matrix Project」というフリーの開発環境で、 ASP.NET(つまりWebアプリケーション用のフレームワーク)での開発に特化したツールです。 用途としては、レンタルサーバでユーザさんがアプリケーションを動かしたい(CGI の対抗ですね)というとき、 そのユーザさんが使えるような目的に特化した仕様を持ったものです。(教育用に・・という目的もあります)

猫的にもなかなか良いツールだと思うのですが、 一般に思われているように、「教育、個人ユース向けに機能限定な仕様とした Visual Studio.NET開発環境」という認識は、実は間違いです。 この二つの開発環境は、「ASP.NET上で動く」ということのみが共通点で、 作られるものの性質がまったく違います。これは大きな落とし穴です。

Web Matrixは その目的から、単に ASPXファイル(スクリプトファイル)を作って、 実行時にサーバ側で翻訳・実行しましょう、というスタンスのツールで、 業務で作成するような「Webアプリケーション」複数のフォームやそのバックグラウンドで動く Model、Controller部も含めて、一つの「アプリケーション」としてビルドアップするような 機能は持っていません。

つまり、Web Matrixは「フリー & 機能限定版の Visual Studio.NET」ではありません。 Visual Studio .NET に良く似た見た目に騙されがちですが 「非常に良く出来たスクリプトエディタ」という表現が一番近いようなツールです。

だから、Web Matrix で作った ASPXファイルの集合体は、 あくまで同じフォルダにASPXファイルが格納されているだけで、 各ファイルにアクセスがあったときに、そのファイルに記されたサーバサイドスクリプトが動くだけ。 一方のVisual Studio .NETで作るのは 複数のASPXファイルやその他リソースをひっくるめて、 ASPXファイルが点在するように見えても、それは単なるIISへのアプリケーション・インターフェイスで、 実体は一つのアプリケーションです。

(だから Visual Studio.NETでつくった「Webアプリケーション プロジェクト」は、 そのアプリケーションフォルダを「ただの仮想ディレクトリ」ではなく 「Webアプリケーション」に設定しなければならないのよね。)

《Sharp Develop》は未来を示す

一方のSharp Developは、 オープンソースで開発された .NET Frameworkネイティブな統合開発環境で、 .NET Frameworkが将来他OSに移植されたとき、または開発ツールのコストがバカにならないような現場での .NET開発に未来を示す、「ここ、要チェックですよっ」なツールです。

ですが、ですが。つい先日Ver.1.00β1がリリースばかりで、(しかもその日本語リソース パッチは昨日でたばっかですよっ!) さらに 「Web対応は後の課題、当面はWindowアプリをターゲットにします」な方針だから、 今、この時期の商用開発に用いるのは無謀です。

・・・という「無謀さ」はさておき、 Visual Studio.NET で作るWebアプリケーションと同等のものを只で作るには、 このツールを利用するしかないかも、とは猫も思います。

原理はとっても簡単で、

  • IISへのインターフェイスとなる ASPXファイルは Web Matrixで作る。
  • コードビハインドと呼ばれる部分など、実処理となるDLLは Sharp Developで「只のクラスライブリ」としてビルドする。
  • ASPXファイルとビルドされたDLLの辻褄を(人間が)合わせる
  • IISがリクエストを受けたときに上手く一つのWebアプリケーションとして動くように、 配置や環境設定を行う

で、出来たもの的には「Visual Studio .NETと同等のものが只で作れるっ」(人件費を除く・・・(^^;) ) になるわけです。

プログラマ猫的には面白いんですけど、システムエンジニア猫的には 恐ろしすぎて・・・(TT)

Javaさんの憂鬱

お値段の話をするなら、Microsoftワールドは立ち入ってはいけないと猫は思います。 美味しい話は無いわけで、サポート丸投げでスキルもいらず、お安くあげたい・・なんてのは 無理です。

けど、Javaに踏み込みがたい気持ちも重々わかるのです。 なんのかんのでMicrosoftブランドはお金と魂を引き換えに、 「中庸で大丈夫」という錯覚を与えてくれる、そんな安心感をくれますし、 実はMicrosoftという悪者が居てくれる世界なので、 「責任」を意識したくない、出る杭になりたくない気質の日本人には とても向いている世界かもしれません。

.NETとJavaの世界は技術的にはよく似ていますが、ブランドのあたえる心理的影響から棲み分けしてしまうでしょう。 だから「スキルはお金」なモデルならJava、「人足が力」的な発想なら.NETと言う風になるんじゃないかしら。

と、無責任適当予想を書いてみるも、ぜんぜん説得力がないのです。とほほ。

追伸

どこまで狸かはしらないけれど、 今までASPを使ってきたお客さまの社は、 「Webアプリケーション」を作る方針から「サーバサイドスクリプトの集合」方針に 路線を変更したかったのかもしれなくって、 それを「ツールの金額問題」で正当化したかっただけなのかも・・なぁんて。

「今はコスト的に買ってしまったほうが開発費は安い」という主張も 「統合開発環境は要は単なるエディタ」 「ASPは単なるマークアップ ランゲージなので、技術者なら3日程度で覚えられる」 「Visual Studio.NETの自動生成部分は、単純なコードなので、 人がやっても工数に差が出るわけが無い」などの 異次元発言で認めてもらえなかったのですが、 これも本人がバカなのではなく、 狸なだけかも・・・なぁんて想像力も働かせてしまう猫は、 実は結構、まだまだ怒っているのかもしれません。

|++ month top ++|

05月19日(水)

最近サイト更新ができないのは、時間的な問題は肉体的な問題(仕事だけで疲れ切っちゃうのよね。・・・うう年なのかしら) もあるのですが、精神的な問題もあるのです。

猫の仕事は最近とみにギスギスしてきて、家に帰るなり「あ〜っ!もうっ!!」と叫んでしまうこともしばしば、 こんな状態で何かを書いても、ギスギスした文章ができるだけで、 書いてるあたしも、読んでる方も不快になるだけと思うと、 せっかく暇を見つけてもサイト更新に踏み切れません。

ですが、ですが。 それでは本当に「事実上の閉鎖」になってしまうし、それは嫌だわと思うので、 発想の転換で、もう、ギスギスをサイト更新で吐き出してしまおう、そうしようと思ったわけです。 ですから、今日の日誌は、そういうことです。

悲しくも切ないソフトウェア開発

猫の好きな言葉に、

エンジニアには良いものを作る権利がある。

と言うのが有ります。猫は本当に本気で、猫のお客様に良いものを作りたいと思ってます。 それは猫に与えられた権利です。

猫のような 「開発のエキスパート」は、「開発」という「場」をコントロールする責務があります。 つまり、猫はプロジェクトを大成功させるために、持てる力の全てを発揮する責任があります。 だから、プロジェクトに立ちはだかる障害物との遭遇をもコントロールしなければなりません。

猫の敬愛する マーチン・ファウラーさんによれば、プロジェクトに襲い掛かる「リスク」という名の悪魔は4種族いるそうで、

  • 要求リスク ・・・本当にこの要求で合ってるの?
  • 技術リスク ・・・本当に技術的に可能なの?
  • スキルリスク ・・・本当にこのメンバのスキルで出来るの?
  • 政治的リスク ・・・本当に政治的圧力をかけて妨害されることがないの?

になります。彼らは絶大な力をもってプロジェクトの前に立ちはだかり、 その進行を押しとどめます。 そうすると、「期限」「コスト」というプロジェクトの持つHPが ガリガリ削られていって、 これが0(またはマイナス)になると、プロジェクトは死んでしまいます。あうあう。

だから、あたしたちは、プロジェクトの今居る場所と、目的地を元に、 どういう悪魔と遭遇しそうか、ということを調べることから始めます。 で、悪魔に出会った場合どうするか・・。それはもうRPGと一緒で、逃げる戦うかです。

もちろん戦えば、その分HPは削られます。 でも、相手が雑魚モンスターだったら迂回するより薙ぎ倒していったほうが効率がいいでしょう。 逆に相手が手におえない位の大物だったら、 猫はどんな手段を使ってもプロジェクトを逃がしてあげなければなりません。 この判断を見誤ると、「プロジェクトは逃げられないっ! リスクの攻撃・・プロジェクトにXXのダメージ」のループにはまり プロジェクトはお亡くなりになってしまいます。

で、今何が起きているかというと、政治リスクの回避に失敗し プロジェクトに致命的なダメージを浴びてしまった、ということなんです。

手段と目的

猫は、実際の開発を請け負う会社の社員さんです。 今回の猫たちのお客様は、その開発されたシステムを 販売、運用、保守することを生業にしている会社さんです。 正確に言えば、その会社さんの1つの課こそ、猫の真のお客さんです。

あたしたちシステムエンジニアが特殊なのは、 システムを作ることを生業としているけれど、システムを作る作業自体も同時に システマイズしなければならないと言うこと。 通常は使うだけなのに、自分で作って自分で使って、その両方の責任が混在一体として あたしたちの両の肩にのしかかってくることです。

でも、ターゲットとなるシステムは、エンドユーザさんのために猫たちと、猫のお客さんとで 一緒に作っていくものなのに、そのターゲットシステムを作るためのシステム(ああ、まぎらわしいっ!・・ので以降は開発システムと呼びます) の不備に冠する責任は、開発に携わる会社、部門で擦り付け合い、 結局「うちは責任果たしたよね、上手くいってないのは貴方達のせいだよね」という やり取りと、責任を負わないような手回しに精を出すようになってしまうのですが、 これでよい物が作れたら奇跡です。

最近いわれるようになった「アジャイル・モデリング」などの手法は、 システムは、システム開発会社(専門家)がつくってお客に売るものではなくって、 一緒に作り上げていくもので、その仕事仲間として「よいシステムをつくる」という 意思統一が出来ていることが、システム開発の最低限の条件だと位置づけます。

私はこの考えがとても好きなので、今回の仕事もそのような「場」をつくり、 一緒に良いものをつくるという雰囲気をつくり、 何があっても絶対上手くいかせてみせるわっ! という意気込みのもと、 開発をスタートさせたのです。

だから、リスクの問題も「あたしたちの責任範囲じゃないからいいやっ」ではなく、 「これは危ないですよ、こうすれば回避できますよっ」と提案したり、 開発側として背負えるリスク管理は、「一緒に解決しましょうね」というスタンスで 仕事をしてきました。 でも、リスクを明確にすることは責任の所在を明確にすることでもあります。 あたしたちのお客様の課と、事業部のうち、 事業部側の「方針」や事業部の出す「共通」にかんして、 リスクが予想されたので、そこの解決法を提案したのですが、 課と部で争う訳にいきません。だから、おそらく「猫さんたちの会社がこれじゃダメっていってるんですけど・・・」のような 言い方になってしまったのでしょう。

結局、意地と保身の横槍か、はたまた たかが開発受注会社が主導的立場で動くのが目に触ったか。

「こういう危険性がありますよっ」と言う話を 「あんたたちは、だめだめですよっ」と言う風に解釈して、 絶対に上手くいかない方法を意地だけで「上手くいく」と断言し、 「小うるさい事を言うなら責任は全部俺らが取るから、 お前らは単純作業員として、俺らの言うことだけ聞いてろっ」と、 あたしたちは両の腕をもがれてしまったのです。

うーん、どうしましょ。(^^;

リスク管理の失敗

もちろん、事業部の態度は問題外だと思ってます。だけど、 猫がリスク管理に失敗したのは猫の責任です。

今回の状況は、まんま「藪をつついて・・」ですので、 つつかないで「責任をうやむやにし、トラブルが起きるまで放置しておく」方が、 結果的に良質なシステムを構築できた・・という状況でした。

言い換えれば、要求リスク、技術リスク、(そして今回はスキルリスクも)を回避するという 方策が、政治リスクを現実のものにしてしまったわけで、 そしてこの「政治リスク」はクリティカルな威力を持っているので なんとしても回避すべきでした。 そう、その他のリスクと真正面から衝突しても、そちらのほうが遥かに勝ち目があったのです。

・・が、プロジェクトX的浪花節なら、「秘密に勝手に結果的に上手くいく方向に」でも 良いかもしれませんが、会社対会社の関係である以上、そういうわけにも行かず・・ 突付けば蛇がでるっ、でるっ、とうすうす感づきながらも、 「黒ひげ危機一髪」のような心境で、突っついてしまう「会社関係」自身が、 リスクになるよ、という説明を怠ってしまいました。

理不尽な事業部トップ(無茶を「出来る」と言い張り、出来なかったときの責任をとらない) は猫はお客でもなんでもないので、どうなっても構いません。 でも、猫はいままで一緒に仕事を「仲間」としてやって来た課の人たちとの 関係が急激にさめ、発言ひとつひとつに(言質をとられないように)気を配りながら 仕事をするようになってしまった状況は、 猫の失敗の大きさを痛感させますし、 なんといっても事業部の「お前ら考えるな」宣言が出された以上、 あたしたちは(責任問題的に)楽になったですが、 その責任を事業部が取ってくれない以上、一番つらくなるのは課の皆様だったりするわけで、 「なんとか出来ないか」と一生懸命考えるあたしは、 なんとも出来ない自分のふがいなさに、なんとも出来ない状況になるまで リスクを管理できなかった自分の無能さに、 なんとも言えない感情を抱えています。

猫は「後悔なんかしてあげないわっ」を座右の銘にしています。 だから、たとえ両腕をもがれても絶対良いものを作ってみせます。 ・・・と自分自身に言い聞かせてます(笑)。

要は、今の状況は飛車角桂馬香車落ちで将棋を打ってると思えばいいのよ。 オブジェクト指向という強力な武器とか、いろいろ使えなくなったけれど、 それを乗り越えてこそ、真のシステムエンジニアよっ

・・・と、たまには自己暗示のために日誌を書いてもいいですよね?

|++ month top ++|

05月17日(月)

もう5月も半分すぎてしまいました。最近全然更新できない三猫です。 うう、ごめんなさ〜い・・・。

ここのところ労働時間はそれほど増えてないのに仕事量が爆増していて、 それだけ集中して仕事していると言うことなのだけれど、 その反動で、バタンキューなんです。

それでも、Expert Mouse5 が販売終了ともなれば、 えっちらおっちら、秋葉散策に出かけるのが猫でして・・・。

名機の終焉

思い返せば、猫をトラボ道に引きずり込んだのがこのExpert Mouse 5でした。

Expret Mouseの魅力は オブジェとしての圧倒的な美しさと、 それを裏切らない悦楽の操作性です。

それにあてられた猫は、トラックボールを使いこなせる自身無しに、 なし崩しにExpert Mouseを買ってしまい、結局トラボユーザに成ってしまったわけですが、 当時猫は「トラボユーザ」になりたかった訳ではなく「Expert Mouseユーザ」になりたかっただけで、 その主従は実は今も逆転していません。

あれから少しばかり時は流れ、結局あのころ悩んだ Expret Mouse7も入手してしまってるわけで、 もちろんExpert Mouse 7も気に入っていますし、その他大勢のトラックボールも よく使っているのですが、しかし、猫の一番はExpret Mouse5であって、 猫はこの一台さえあれば、他のトラボを使えなくなっても構いません。 ――なぁんて嘯いて見ちゃったりするくらい、Exper Mouse 5が好きなんです。

そんな猫ですから、今回の製造終了はとても悲しい出来事です。 そして、猫はもちろんこのトラックボールをずっと使うつもりですが、 ひょっとしたら将来壊れたり、無くしたりしてしまうかもしれません。 だから猫はあわててバックアップを買いに走ったのです。 猫的には「もうアキバは無理よね・・・」と半ば諦めムードで 向かったのですが、幸いあるお店で見つけることが出来(残り2台でした)、 本当は2台欲しかったのですが、なんだか悪いような気がして1台だけ買って帰りました。

じゃあもう一台はと言うと、トラックボーラ御用達の海外ネット通販サイト Sparco.comで買いました。 実は海外通販を使うのは初めてなのですが、意外に簡単でこれはちょっとくせになりそう。

で、なぜバックアップに2台必要かというと、 実は猫には前々から考えていた野望があったのです。 それは、漆塗りトラックボールを作ることっ! Expert Mouse の美しい形は、きっと漆塗りが生えるに違いない。 ・・ああ、漆の艶やかな光沢に金の誇らしげの蒔絵・・・。 Expert Mouseのシンプルな形にどんなに映えることでしょう。 絶対、絶対、ぜーったいに、猫はExpert Mouseを漆塗りしてやるっ! ・・と、猫は心に硬く誓っていたのです。

で、実は漆塗りマウスで有名な津軽サイバーメディアさんと 早速交渉には入りました♪ 何のかんのでお見せするのは3ヶ月ほど先に成るかと思いますが、 今からとっても楽しみな三猫です。

はやく こいこい♪

|++ month top ++|

SEO [PR] おまとめローン 冷え性対策 坂本龍馬 動画掲示板 レンタルサーバー SEO