« 2005年8月 | トップページ | 2005年10月 »

2005年9月

2005/09/30

.NETをやっていくためのTODO

 Java一筋だったのに仕事でC#をやっている(m_m)
 プログラミングも設計もやり方はJavaと同じだけれど、何か違和感を感じつつやっていて気持ち良くない。
 .NETを今後やっていくために理解すべきタスクをリストアップしておく。

【1】NUnitでUnitTest

・VisualStudioと組み合わせたテスト環境
・Javaにはない.NET特有の注意点
・NAgileを調査

【2】Application Architecture for .NET (AAfN)に学ぶ.NETシステム設計

・J2EE Blueprintsにある設計思想とどのように違うのか?
・J2EEのPetShopとの違い
・O-Rマッピングは.NETでは問題にならないのか?

【3】次世代開発基盤技術“Software Factories”詳解

・Software Factoriesの思想はパッケージ製品の設計・開発にどれだけ役立つか?
・開発プロセスとの関連
・VisualStudioの次期バージョン調査

 ネットで検索しても、@ITやGotNetぐらいしか有用な情報がない。
 色々いじってみた所感では、.NETはJavaよりも技術が枯れていないな、と感じる。
 本当のところはどうなのだろうか?

| | コメント (0) | トラックバック (0)

2005/09/24

インターネットが及ぼす変化とは?

 「フォーサイトクラブ・セミナー「ウェブ社会『大変化』への正しい対応・間違った対応」梅田望夫さん講演ログ」を読むと、以前書いた「インターネットは高速道路」の内容を煮詰めている気がする。

【1】インターネットは能力増幅器

 計測データや考え方のフレームワークは、Googleで検索すれば、少なくとも集めることは出来る。インターネットは能力増幅器、というフレーズは鳥肌が立った。
 インターネットをうまく利用できれば、簡単に飛び級できる。梅田さんの話によれば、若い人ほど、そのツールをうまく使いこなせるし、それによって過去の世代よりも大きな可能性を秘めていること。

 ただ、これから問われるのは、知識よりも、論理的に自分の考えを組み立てて、仮説を作り出す能力だろうか?

【2】インターネットが人間関係の精神的距離を狭める

 上記の内容は、大前研一と似たようなことを言っていたなあと思う。
 「考える技術」を立ち読みしたけれど、こんな一節があった。
 大前研一の理論を研究している人達との会合で、ニュージーランドやヨーロッパでも、彼だけでなく奥さんの趣味まで知っていたことに彼は驚き、そして、初対面なのに色んな話が出来て、以前から友達だったような懐かしい雰囲気を感じた、と。
 この感覚は僕も分かる。メーリングリストやインターネット上のコミュニティで知り合った人達とネット上でやり取りした後、リアル世界で会ってみると、あまり違和感なく、以前から友達だったように、すぐに親しくなれる。

 インターネットがもたらす波及効果はまだまだあろうが、この2点が僕には、自分自身の経験も込めて、大きく感じる。

| | コメント (0) | トラックバック (0)

2005/09/23

「リーンソフトウェア開発」~アジャイルとウォーターフォールを繋ぐミッシングリング

 とある勉強会で「リーンソフトウェア開発」第4章「できるだけ速く提供する」を発表した。
 レジュメを作りながら、そして、議論しながら、色々と考えさせられる所があった。

【1】「リーンソフトウェア開発」の読者層は、オブジェクト指向や反復型プロセスを知らない計画主導プロセス経験者である

 XPの解説本を読んでも、原則やプラクティスの本質が何なのか、ペアプロやイテレーションなどのプラクティスがどのように関連付けられているのか、分かりにくい。
 この本では、22個の思考ツールを使ってアジャイルの本質を説明している。4章では、制約理論や待ち行列、リトルの法則などを使って、計画主導プロセスのどこに弱点があるか、アジャイルプロセスで気を気を付けることを明らかにしている。
 オブジェクト指向開発者やアジャイラーが当たり前に思っていることと、計画主導経験者がどうしても理解できないギャップを埋める本ですね、と仰った人がいたが、その通りだと思った。

【2】アジャイル開発の優位性を、もっと理論的な説明で補強できないか?

 制約理論や待ち行列、リトルの法則などを使って論理的に説明を組み立てているのは面白かった。
 でも、細かく疑問をぶつけてみると、アナロジーは分かるのだが、しっくりこない点がある。自分が説明できるほど理解し切れていないのかもしれないけど。
 もう少し理論的に補強できないだろうか? また、他の理論を使って、説明を補強できないだろうか?

 久しぶりに面白い本だったな。

| | コメント (0) | トラックバック (0)

2005/09/13

モテ男バイブルにはデータモデリングがある?

 「お姉さんの「男の恋愛相談室」」という怪しいBlogに「モテ男バイブル」本リストがあるのだが、何故か渡辺さんの本「業務別データベース設計のためのデータモデリング入門」が飾られている!

 モテ男にはデータモデリングが必須なのか?
 謎だ。。
 週末に読んでみよっと(^^)

P.S.
 上記の本に「女性とデート先の組み合わせに関する諸問題」からデータモデルを導く一節があった。
 もしこれを指しているなら、Blog作者はDOAを使いこなしているのか??

| | コメント (1) | トラックバック (0)

2005/09/10

概念に正しい言葉を当てはめないと混乱の原因になる

 要件定義のプロセスで、コンサルタントが作った要求定義書から不明点を洗い出している時、「概念に正しい言葉を当てはめないと混乱の原因になる」ことを経験した。

 とあるシステムの要件で、データを論理削除する処理があったのだが、「この文脈では論理削除と言うべきではなく、法律用語に従って、廃棄とか廃止と呼ぶべきだ」と指摘を受けたことがある。
 論理削除という言葉では、削除という意味合いが強すぎて、本来は、データが別の異なる状態に移ったことを強調すべきだ、ということだった。

 要件定義では、用語集を作るのが大事ですが、その理由をもう一度再認識した。

 ネーミングは難しい。
 だが、XP祭りで会ったXPerたちはネーミングが上手かった。
 例えば「ふりかえり」「ペアボード」「ニコニコカレンダー」「あんどん」のように。

 以前、数セミで、数学者よりも物理学者の方が概念に対するネーミングがうまい、彼らは抽象的な方程式に隠れている物理的意味を知っているからだろう、みたいな記事があったのを思い出す。

 最後に関係ないけれど、ウイスキー「Early Times」がありますが、どのような言葉を当てはめるべきか?
 僕は、「早すぎた日々」などとトンチンカンな訳をした。
 後輩の子は「若気の至り」と訳していた。さすが文系出身(^^)

| | コメント (2) | トラックバック (1)

2005/09/06

ITの技術革新はOSよりもWebソリューションへ移っている

MSが次期WindowsOS Vista を来年に売り出すらしいが、盛り上がってないように見える。
理由は、OSの技術革新の衝撃が薄くなっていて、むしろGoogleのようなWebソリューションへトレンドが移行しているからではないか?

WindowsOSやOfficeのバージョンがUPしたからといって、我々ユーザの環境が劇的に変わるわけでもない。バージョンアップを煩わしいと皆呟いている。
ActiveDirectoryの導入で余計に手間がかかっていないか?

むしろ、Googleが生み出すサービスの方が我々のWebの使い方そのものを劇的に変化させている。
例えば下記のサービスがある。

1.容量1GものWebメールサービス GMail
2・デスクトップ検索サービス GoogleDesktop
3.地図検索サービス GoogleMaps

【1.容量1GものWebメールサービス GMail】
GMailをまず使ってみて驚いたのは、勝手にリフレッシュし、メール一覧を更新してくれること。
さすがAjax。

【2・デスクトップ検索サービス GoogleDesktop】
以前まで、ローカル内のテキスト・Office・PDFファイルを検索できるようにするために、Namazuをインストールし、定期的にバッチファイルでインデックス検索させるようにしていた。
ActivePerl+Kakashi+Namazuを入れて、日本語で検索できるように設定するために結構手間取った。
GoogleDesktopなら、ファイルだけでなくメールまで検索で来てしまう。

【3.地図検索サービス GoogleMaps】
GoogleMapsは面白い。
市販の地図情報システムは今だにC/Sアーキテクチャの古いシステムが多く、有料のため使っていて楽しくない。
記事「渺望と俯瞰 :keyhole が 3D地図と検索を関連づけるか:Google Earth スタート」ではGoogleMapsの威力を下記のように説明している。

(引用開始)
(前略)
GoogleMapを見ればわかるが、日本の地図表示・検索サイトよりも遥かに豊かな情報が関連付けて閲覧できる。
1.Mapまたは衛星写真
2.現在のレストランなどのWebコンテンツ
の2つを、検索エンジンが、位置座標と関連付けてView+スクリプト表示しているだけである。
一方、多くの一般の地図サイトは、なんと時には有料で、サーバーに入力させて、(労力と費用を使って)、ほとんどのレストランが参加していないレストランガイドサイトとなっている。
このGoogleMapと同様の機能をMyサーバー上に、実現できるのが GoogleWebAPIである。思わぬアイデアが出現しそうなので、お楽しみである。
(引用終わり)

つまり、日記を手軽にUpできるBlogのように、自分オリジナルのレストラン地図とか、自分の地区の選挙マップとか作れる。

例えば、GoogleMapsEditorを使えば、こんなに簡単に地図が作れてしまう。

なにわのお笑い劇場:ワッハホール

他にも、AmazonのWebサービス、ライブドアが提供したWikiサービス、Skypeもワクワクする。

次から次へと現れるWebソリューションに触れると「IT技術は、コスト削減のようなつまらないことに使われているが、本来は、新しい産業を生み出すことに使われるべきだ」とXP祭り2005で講演したMSの萩原さんの意見を思い出させる。

| | コメント (1) | トラックバック (0)

XP祭り2005の公式記事

XP祭り2005の公式記事は下記が一番詳しい。

http://itpro.nikkeibp.co.jp/article/NEWS/20050905/220618/
XPの祭典「XP祭り2005」開催,「顧客にすらわかっていない要求をいかに引き出すか」が大きなテーマに


| | コメント (0) | トラックバック (0)

2005/09/04

XP祭り2005の感想

9/3にお台場で開かれたXP祭り2005に行ってきました。
面白かったー。
朝5時に起きて新幹線で東京へ向かい、夜12時まで講演+懇親会+2次会で騒いだので、1日がすごく長く濃かった。
代表の倉貫さんほかスタッフの皆さん、感動をありがとう。

受けた刺激があまりにも多すぎて整理し切れていないので、感想を箇条書きで残す。

【XP祭りの会場 お台場】
「お洒落なお台場」のイメージがあったが、場所はちょっと離れたオフィス街。
会場は、円形劇場の座席に講演者が舞台で発表するため、場の雰囲気がどんどんヒートアップしていく感じだった。
スタッフによると200人もの来場者が来たとのこと。遠く沖縄(!)から来たエンジニアもいた。
大阪から来たエンジニアは、僕を含めて6人ぐらいだろうか?

【平鍋さんのProject Facilitation】
最近よく聞く「見える化」のお話。
ソフト開発はプロセスも成果物も見えにくいという難点を解決するために、こんな手法を考えてみました、という話。

ビルドが失敗したら赤ランプが付く「ソフトウェアあんどん」。
開発者の気分を1日の最後に赤と青でカレンダーに張っていく「ニコニコカレンダー」。
こういうツールがあると、開発者のモチベーションも上がるだろう。何よりも楽しい。

劇団ぺけぴー(XPを日本語で読み直したみたい(^^))による朝会のアンチパターン例は面白かった。
・一人の話が長い
・リーダーがメンバーの話を遮る
・誰も喋らない
朝会だけでなく会議でも、場の雰囲気が建設的でないケースによく当てはまる。

PFの価値や原則、アンチパターンの解決方法など、もう少し詳しく聞きたかったなあ、というのが率直な感想。

【ひがさん】
今日のひがさんはオールバックの金髪に、黒Tシャツとジーパンでカッコイイ(^^)

講演する時は、会場の雰囲気に呑まれないように「スター」になりきるために、いつも外見を大きく変えるらしい。他の講演者がひがさんのなりきりメガネを借りてました。

業務マニュアルを作ることで上流工程を進める話は興味深かった。

僕の現場では開発プロセスそのものが標準化されていないため、ひがさんのやり方がおそらく一番しっくり来る気がする。
きちんと仕様書が揃った環境でないとプログラミングできない若手がいるし、マニュアルや仕様書が最終的に納品物に含まれるから。

でも、話はXPにあまり関係なかったかも。

【ディスカッション】
豆蔵の荻本さん、MSの萩原さん、Seasarのひがさん、関さん、平鍋さんを交えて、言いたい放題のディスカッションも面白かった。

ひがさんも関さんも萩原さんも皆揃って、フレームワークは嫌いだ、という発言はビックリ!
理由は「俺様が作ったフレームワークを、下々のPGに押し付ける」のが嫌いらしい。
「メンバーがフレームワークとアプリケーションのチームに分かれるのが嫌だ」
「アプリ開発者が見つけたFWのバグをすぐに直せない。だから、そのFWのバグを回避するようなぐちゃぐちゃのプログラムを書いてしまい、後でメンテナンスするのが大変」
という関さんの話が最も率直だった。

MSの萩原さんの話が興味深かった。

「私はソフトウェアアーキテクトであってITアーキテクトではない」
「アジャイルはソフトウェア工学ではない。工学的基盤の上でアジャイルのプラクティスがあると理解している」
「今の私の興味はSoftware Factoriesにある」

「個々の日本人は技術者として能力は高いが、集団になると質が落ちる」
「欧米人はマネジメント能力が比較的高い」

ソフトウェア開発の動機は何ですか?というコメンテーター倉貫さんの質問に対し、MSの萩原さんの答えが一番印象に残った。

「ITを使って革命を起こしたい」
「現在は鉄道が普及し始めた時代と同じ。百貨店は鉄道という産業が興隆して作られた。鉄道によって、消費都市と生産都市が結ばれ、都市の拠点に百貨店が作られて、新しい産業ができた」
「ITも同じで、ITの普及によって新しい産業を作り出せるはず。今はコスト削減とかつまらないことにITを使っている」

「ソフトウェアで世界を変えたい」と言った(はずの)ビルゲイツの言葉を思い出させる。
ITエンジニアもこれぐらいの気概を持たないとね。

最後に、劇団アンプラーズ(Anti-Practiceからひねたらしい)の活劇が面白かったので、2コマほど載せます。関西人ならボケツッコミを入れて、もっとひねることができるかも。

050903-172016
弟:あにきー、ペアプロって何だ?
兄:ペアプロっていうのはな、ペアで入る風呂のことなんだよ。



050903-172214


The End

| | コメント (0) | トラックバック (2)

2005/09/02

非同期処理のアーキテクチャとは

最近、リッチクライアントが流行している(ように見える)。
理由は、UIの操作性よりも、非同期処理の実現にあるのではないか?

Webの技術では同期処理が基本である。HTTPのリクエストを投げてレスポンスを待ちページを表示する。
だから、WebはUIの操作性だけでなく、技術的にも制約が大きい。

非同期処理は、つまりバッチ処理。
業務系では至極当然のアーキテクチャ。
バッチ処理は設計力が鍵を握る。

Web上での非同期処理の実現方法は何がBetterか?
答えはWebサービス。
つまり、クライアントはXMLデータをバックグラウンドでサーバーとやり取りする。
Googleがこのアーキテクチャをうまく使ってサービスをどんどん提供している。

Ajaxの凄さは、UI操作性だけではなく、非同期処理にある。
Ajaxの威力を見せつけた例は、Google Mapsだった。

GMailは、勝手にリフレッシュし、メール一覧を更新する。
GMailにもAjaxが使われている。

GoogleMapsEditor は、GoogleMapsAPI を利用して地図を作成する。
ユーザが住所と関連付けて書き込んだ情報はローカルのXMLに保存される。
すごいのは、そのXMLを使うと、地図情報を埋め込んだ出力したHTMLファイルだけでGoogle Mapsが利用可能になること。
一般に地図情報システムは、クライアント:VBアプリ+サーバー:ベンダーごとの製品ゆえ、非常に高価で、バッチ処理が基本なのでレスポンスも良くなく、使い勝手が悪い。Google Mapsは、普通の地図検索製品よりもはるかにお手軽でしかも無料で地図を作れるサービスと技術を提示したことに意義がある。

他にも、Blogがある。RSSはWebサービスそのもの。
つまりプッシュ配信サービスと言ってよい。

Webソリューションの進化系はおそらく非同期処理のアーキテクチャを洗練させることにあるのではなかろうか?

| | コメント (2) | トラックバック (1)

« 2005年8月 | トップページ | 2005年10月 »