投稿日:2007年07月20日 作成者:yasunaka
建築の世界でもシステムの世界でもモデル(模型)をよく作成します。でも建築の世界では作った模型を元にして実際に建築物を作ろう、などという無謀なことを考える人はいませんが、なぜかシステムの世界ではこのようなことを考える人たちが多くいます。建築の世界で模型を作る場合にはスケール(大きさ)が違うので一目瞭然、誰もそんなことは考えないわけですが、システムの世界ではモデルとして作るものと実装物の違いがはっきりしない(と思っている)ので、そんなことを考えるのでしょう。でもよくよく考えてみると、ちょっと不思議な気がしませんか?
先に断っておきますが、ここでいうモデルとはMVCのModelではなく、UMLで指すところのModelを指しています。MVCのModelは現実世界との対比(抽象化)という意味でModelという言葉が使われていますが、そこではシステムに必要な実際のデータとビジネスロジックが扱われますので、いわゆる模型という意味ではありませんね。
え、UMLのModelも抽象化という意味も含んでいるって? まあ、確かにその通りですが、ここで議論したいのは、みんなの理解を深めるためのモデルという観点の話です。
モデルと実際の実装物との違いは何でしょうか? モデルは必ずしも最終的な実装物そのものを表す必要はありません。モデルを作成する目的は、実装物がどんなものであるかをイメージしやすくすること、そしてその段階でわかる設計上の不具合を予めつぶしておくことだと思います。
逆にいうと、この目的を満たさないモデルは、モデルではないのです。モデルを見て、あ、これはこういうことね、と簡単にわかるようになっていなければ、本来のモデルとしての意味を成していないということになります。
イメージがしやすく、わかりやすいモデルというのは、実際の実装物に比べるとだいぶシンプルで、あまり重要ではない部分や例外的な部分などをばっさりそぎ落としたものであるべきです。本質的な、ごく重要なことだけをモデルとして表現することによって、誰が見ても何をやろうとしているのかがわかりやすくなります。また最終的なインプリメンテーションと多少異なっていても構わないんです。重要なのは厳密であることよりも、おおよそが合っていることが重要なんです。
システムの世界ではモデリングの表記法としてUMLが一般的になりましたが、UMLはどんどん「厳密に」定義できるように複雑化してきました。でもこの流れは本来の目的から外れているのではないでしょうか? 私はUMLとは単なるスケッチだと思っています。(Martin FlowのBlikiにもそんな記事がありますね) もっとラフに、部分部分の局面でうまく利用するツールとして利用したいものです。
投稿日:2007年07月19日 作成者:yasunaka
さて、現在開発中のプロダクト(コードネーム:APIS)の製品名(およびサービス名)が決まりました。
crossnote (クロスノート)です。

で、このcrossnoteとは何か? ちょっと見た目はほとんどワープロです。それも機能的には、MS WORDとかに比べるとだいぶ足りないです。縦書きの機能なんてありません。HTMLエディタの機能もありません。Visual Basicも付いていません。
まあ、通常に文章を作ったり、表や図を描いたりすることはできます。またWORDに比べると、ちょっとアウトラインプロセッサっぽくて、構造的にドキュメントを扱うには適しているかもしれません。
ドキュメントの見た目はほとんどがテンプレートで決まってしまうので、テンプレートを選ぶ以外、あまりドキュメントを書くときの自由度はありません。そのかわり、非常に単純(シンプル)なので、わかりやすいかもしれません。
こう書いてしまうと、機能的に劣ったワープロのようにしか思えませんが、実はcrossnoteはプロジェクトの設計文書などを書くのにもっとも適したワープロであることを目指したプロダクトなのです。でも、ワープロと呼ぶのはあまり適切ではないので、より内容を的確に表せるよう、勝手に造語してみました。それが、Collaborative Documentation Service です。
では、このCollaborative Documentation Serviceとは何なのか。そしてcrossnoteのワープロ以外の機能は何なのか。それはまた次回の機会に説明したいと思います。
投稿日:2007年07月18日 作成者:yasunaka
昨日の帰りはTシャツ1枚で、震えていました。今日もちょっと寒いですね。

投稿日:2007年07月18日 作成者:yasunaka
以前PDAというタイトルでブログを書きましたが、いまだにCLIEを愛用している私が最近非常に惹かれているデバイスが、iPhoneです。CLIEの次はぜひiPhoneに切り替えたい! 日本の携帯と規格が違うので導入には困難が伴うようですが、日本の携帯会社さん、ぜひがんばってiPhoneを導入してください。
私がiPhoneに惹かれている理由は、TODOとかアドレス帳とか、普通のPDAに必要な機能がそろっていて、かつ使いやすそうだから。CLIE(というかPalmOS)の場合も、起動が早くて十分に使いやすかったのですが、日本では今現在、PalmOS系の選択枝がありません。そろそろWindows CE(PocketPC)マシンに切り替えなきゃならないかな、と思っていながら、なかなか踏ん切りがつかない矢先だったのです。でもiPhoneについてのレビュー記事をいくつか見ているうちに、iPhoneが日本で発売されるまで我慢して待とうか?という気になってきました。でも待っていて、果たして出るのかな?
本質的にはPocketPCマシンと極端な違いがあるわけではないと思うのですが、日本で売られているPocketPCマシンはどれも重くてワイシャツのポケットに入るようなものではありません。これが私がPocketPCマシンになかなか踏み切れなかった最大の理由です。一方のiPhoneは十分に小さくて軽い。携帯デバイスなんがら、小型であること、軽いことこそが高性能なんです。
またCLIEの場合には携帯とPDAと両方持たなければならなかった、という問題が一気に解決します。この点でも「買い」です。
もちろん見た目のカッコよさとか、アプリケーションの動きの滑らかさも大きな魅力の1つです。ほんと、センスが違いますね。
ちなみにJavaVMはまだサポートされないようですね。でも、こんなことが気になっちゃうのはシステム屋の悪いところか…
投稿日:2007年07月17日 作成者:yasunaka
ちょっと前ですが、シマンテックがアンケート調査した「PCは遅い!」、ユーザーの6割がストレスという記事が@ITに載っていました。PCそのものは処理能力が年々向上しているはずなのですが、使っている人たちはその恩恵をほとんど感じていない、ということになります。なんとも不思議な話です。
実際、私のPC(Window XP, Pentium D 3.2GHz, 2GByte Memoryのマシン)も朝立ち上げてログインした直後はしばらくまったく使えません。一応画面上、ディスクトップは表示されるのですが、右下の常駐アプリケーションのところが一通り出揃うまでは裏でCPUやハードディスクなどががりがり動いていて、その状態で何かアプリケーションを起動してもなかなか立ち上がってきません。試しにその状態で起動してみると1分ぐらい平気で待たされてしまいます。
でもしばらくして(数分後)落ち着いてからは、すんなりと待つこともなくアプリケーションが起動されます。また通常に使っているときには特に遅いと感じることは少ないです。
上記の記事で皆がPCが遅いと感じているのが、この起動直後の状態を指しているのかははっきりしないのですが、私はかなり関連しているのではないかと考えています。もしそうだとすると、これは何が悪いということになるのでしょうか? もしかしてアンチウィルスソフト? そういえば私のPCのアンチウィルスソフトはXXXXxX製ですね。 😎
PCの起動直後というのは、まさにそのPCを使いたいと思って使い始めた直後のことなので、そこで待たされてしまうと、ことさら遅さを感じてしまう気がしています。
突き詰めて考えてみると、ユーザが求めているのは、動かし始めたときの起動の速さなのかもしれません。使い始めたときにさくさくと動けば早いと感じ、なかなか立ち上がらないと重いと感じる。例えばJavaのアプレットが人気が出なかったのに対し、AjaxやFlashがなぜに人気があるのか? なんてことも、その仮定を裏付ける1つの事例のように思えます。またYouTubeがWindowsのMedia Playerではなく、Flashベースなのも、Google MapやGoogleブック検索がPDFなどではなく、GIFベースなのも、さくっと動きはじめることを重視しての選択のように思えます。
投稿日:2007年07月13日 作成者:yasunaka
梅雨のこの時期に、なんかでかい台風が近づいているみたいですね。

投稿日:2007年07月13日 作成者:yasunaka
運用をしている人でないとあまり縁がないものかもしれませんが、今日は障害報告について、です。これをテーマにしたのは、私の経験上、障害報告をもっと「有効活用」すべきではないかと感じることが多かったからです。
システムが障害を起した場合、障害報告書を書いて提出しなければならないことが多いですが、みなさんは、これをどのように活用していますか? もし障害報告書が単に懲罰的な意味合いでしか使われていないならば、非常にもったいないことです。本来は、同じ間違いを繰り返さないために書くものだと思うからです。
同じ間違いを繰り返さないためには、事後の分析が重要です。直接的な原因ももちろんのこと、その背景の問題についても深い洞察が必要だと思います。そして分析の結果を「失敗のパターン」として広く社内に公表し、改めるべきところを改め、また同じような事例がほかのシステムでも発生しないように社内にとして紹介したり教育していく仕組みがあってしかるべきだと思うのです。
失敗の経験は非常に重要なことです。それを個人の経験として閉じ込めてしまうのは、会社としては大きな機会損失をしていることになります。
こういったことが会社としてうまく機能するようにするためには、それが個人を攻撃するためのものでは決してないことをトップダウン的に伝達し、広く浸透させる必要があります。そうなっていないと、問題を深堀することは、ぎすぎすした、あまり楽しくない職場にしてしまう可能性があるからです。
重要なのは当事者を責めることではなく、次の当事者を作らないように社内が仕組みを作り、バックアップしていくことだと思います。
投稿日:2007年07月12日 作成者:yasunaka
ナレッジマネージメントがブームだったころから、社内ネット上で情報共有をしたり意見交換するため仕組み(掲示板やネットニュースなど)が整備されてきています。最近ではWikiや社内ブログ、さらには社内SNSなどといった話も聞きますよね。もちろんうまくいっている、という話も聞くのですが、どちらかというとあまり活発ではない、とか、自然に消えちゃった、というあまりうまくいっていないという話を聞くほうが多いです。なぜでしょうか?
昔のナレッジマネージメントブームのときによく言われた反省点としては、そのような情報共有の場に載っている情報というのは、死んだ、役に立たない情報ばかりだという話でした。実際、当時はトップダウン的に情報共有の場が設定されたので、中のコンテンツの充実という部分がおざなりになりがちだったのでしょう。
最近のWikiや社内ブログ、社内SNSについてはむしろボトムアップ的に進められるので、そのようなコンテンツの問題については減ってきていると思うのですが、それでもあまり活発にならない理由のひとつとして、参加者が偏ってしまいやすいということがあると思います。社員の一部しか積極的に参加せず、ほとんどの人はROMレベルで、あまり見てもいない人もいる、という話を聞くことがあります。
おそらくこういったことが面白いと感じる人は積極的に参加してくれるのだと思うのですが、そう感じない人も多いのかもしれません。
もし、せっかくボトムアップ的に回りだしているのならば、例えばもっと経営層からコミットメントすべきではないでしょうか? 経営者自身がそこに1ユーザとして参加すべきだと思いますし、参加することのメリットをより明確に伝えるべきだと思います。
うまく使えば会社の社風とか文化を作るうえでの重要な仕組みになりうるものだと私は考えます。ぜひうまく「使って」いきましょう。
投稿日:2007年07月11日 作成者:yasunaka
雨の日が続きますね…

今日はまだ降っていませんが、今にも降りそうです…
投稿日:2007年07月11日 作成者:yasunaka
プロジェクトを進めるに当たって新規に人を採用しなければならないことが多いですが、皆さんは採用面接ではどんなことを聞いていますか?
私は採用面接ではできるだけ具体的で詳細なことを聞くように心がけています。例えば前にやったシステム開発プロジェクトがあれば、それはどんなシステムだったのかとか、どんな人がどのように使うものだったのかとか、どんな技術をどのように適用していたのかとか、自分の役割に応じてどんなことをやったとか、ドリルダウンするように、できるだけ詳細に質問して聞くようにしています。また技術水準を知りたい時には、かなり具体的な、特定の技術に関する質問(例えばXXXはどう使うのかとか、使ったときにどんな問題があるのかとか)をするようにしています。当然こちらの知らない技術分野の場合もありますが、それでもできるだけわかりやすく説明してもらうようにしています。
なんでここまで詳細を聞くのかといえば、一般論として、具体的な質問をすれば具体的な答えが返ってきて、抽象的な質問をすれば抽象的な答えしか返ってこないといわれています。つまり、質問は具体的であるべきだ、と。
そしてもうひとつの、とても重要な理由が、詳細面を「突っ込む」ことで、その人の対象領域に対する理解度の深さを知ることができるからです。つまり知りたいのは相手の知識ではなく、その人が対象領域に対してどのくらい深く理解しているかを知りたいんです。
単に知識のあるなしは一時の能力に過ぎませんが、深く理解するという能力はその人の基本的な、かつ継続的な能力を示していると考えているからです。自分がやっている仕事に対して浅はかな理解しかしていない人に仕事を任す気にはならないでしょう。
ちなみに最悪なのは、XX知ってる? 的な質問だと思います。XX知っている?という聞き方ではその人の対象物への理解の深さに対する判断を、その人自身に任せてしまっていることになります。その人の本来の能力の高さを知る機会をみすみす逃しているわけで、とてももったいなく感じます。