ad

2011年6月19日日曜日

電子ドキュメントを読む気が起きない理由

私は電子ドキュメントを読むのが好きではない。特に職場でワードやエクセルのドキュメントを読むのが嫌いだ。そんなことを言っているといまどき仕事にならないのだが、あらためて電子ドキュメントを自分が嫌悪していることに気づいた。そしてその理由がわかった。それは、「電子ドキュメントは容易に複製が可能である」ことに起因している。複写が可能なことと読みにくいことになんの関連があるのか?直接的には関係ないが、複写可能であるということは、今読んでいる文書が、どこからか複写されて、一部だけ訂正したようなものである可能性も高い。その場合、ドキュメント作成者自身すら、そのドキュメントの全容を把握していないかもしれない。また、ドキュメントのフォーマットやフォントや文体なども、自分の意志でないものをなんとなく使っている可能性が高い。もう一点。複写しやすいことと少し違うが似ていることで、「ドキュメントを動的に生成できる」ということもある。たとえばマクロであるとか、テンプレートであるとか、ウィザードと呼ばれる類のものである。そのような手段で作成されたドキュメントは、内容が冗長であっても簡単に作成できてしまうのでその冗長さに気づかない。一からすべて手書きで書いていれば、こんな風に同じ事を繰り返すのは書くだけでなく読むのもわずらわしかろう、と気づく。そして最後に、ワードやエクセルは普通編集モードで開かれることも付け加えよう。編集モードというのは表示機能を万全にする事を犠牲にしている。読みにくくなっている。WEBブラウザでは編集モードでないのでこの欠点はなく、やや読みやすい。しかしWEBページにも読みにくいものがたくさんある。すぐに誰もが思いつくであろうことだが広告が多い。文章を細切れにしてnextなどのアイコンをクリックさせる。
その都度大量の広告を読み込む。広告を読み込む時間に耐え切れず読むのをやめることもよくある。読んでいる最中にあやまって広告をクリックしてしまうこともある。広告の本来の目的である、表示されている情報に関連したことに興味を持って広告をクリックすることなど記憶にないし、その結果商品を購入したことなどは一度も無い。そしてメール。私はいくつかの企業を見てきたが、ほとんどの会社でメールを使って業務が運営されていた。全体連絡、仕事の指示、報告、質問、提案、反論など、何でもかんでもメールで、それもメーリングリストを使っておこなわれる。私はこれにも閉口している。読みにくいし書きにくい。その理由はなんだろうか。今気づいたのは、「どの発言もすべて均等に時系列で羅列される」ということだ。つまりまったく編集されず、意図もなく、だらだらと吐かれたログのようなものである、という意味である。あるトピックについてメーリングリストで議論されてしまったことについて、後から結局どうなったのかを確認するには、最初から最後まで追っていくしかない。このメールは誰のどのメールに対する返信なのかなどと追いかけながら。メール以外のシステムが使われていた職場もあった。それはバグトラッキングシステムで、同じものではなかったが大体が掲示板のようなものである発言ではなくてトピックを単位として表示され、最終更新日や発言数やトピック主などが一覧できる。更新日や発言数でソートすれば何がホットで何が緊急かがだいたいわかる。ブログもこれに近いのだが、ブログはトピックが多くなりすぎてしまう。記事があって、それをカテゴリにわけ、各記事に対してコメントがつく。私はブログも書いているが、自分の備忘録というか思い付きなどの整理にはいまだに「掲示板」を使っている。タイトル=トピックであり、そのトピックに関することは後からレスとして追加していく。ブログの「カテゴリ」ではおおまかすぎる。たとえば「IT」だの「経済」だの「政治」だのとしている人が多いだろう。ブログの「トピック」だと今度は細かすぎる。そこはブログの書き手が調整すればすむことかもしれないが、やはりトピックがあってそれをカテゴリわけするから、トピック単位の情報にはなりにくい。ファイル管理にも不満がある。これも多くの企業でおこなわれていることだが、なんでもかんでもExcelファイルを使いすぎる。たしかにExcelは便利で私も何か作るときはほとんどExcelだが、それを共有することになると、非常に不便である。「大勢で共有しさらに頻繁に更新がおこなわれる」ものをExcelファイルにしてはいけない。試験項目表、テストシナリオ、報告書、バグ管理表、これらがそれぞれExcelファイルとしてサーバの共有フォルダにおいてあって、それに皆がアクセスし更新していく。誰かが編集中は排他されるが読み取り専用で開くことができ、名前を変えれば保存できる。ここで先ほど述べた「複製の容易性」の悪夢が起きる。

ひどい場合はこんなことも起こる。実際によくあるケースだ。A氏が管理表.xlsを編集中にB氏もそれを開こうとして使用中であるむねを知り、読み取り専用で開き、自分のPCのデスクトップに保存する。ローカルに保存しているからとB氏は好き放題にファイルを編集する。そのうちにA氏は管理表.xlsの編集を終えてファイルを閉じた。編集したのは1行目の更新日の列に「2011/06/01」、担当者の列に「A」を入力しただけだった。B氏は自分のPCにコピーした管理表の2行目の項目内容を編集した。その日は金曜日で二人とも早々に帰って遊びに行った。月曜日、B氏はサーバ上の管理表.xlsを開く。そして、自分が編集した覚えのある内容が以前のままであることを不審に思う。そして、そういえばローカルにコピーしたんだっけと気づき、A氏が編集中であったことなど忘れて、サーバにあったファイルに編集した管理表.xlsを上書きコピーした。A氏の編集内容は消えてしまった。この場合はB氏のファイルの扱いが不適切だったとされるだろう。そして今の日本の企業でいう「スキル」というのはその程度のことしか意味しない。しかし、この場合はB氏のファイルの扱いが不適切である以前に複数の人間が編集を必要とするような管理表をExcelファイルで共有している方が不適切なのである。そして、それが不適切であることを理解し別の手段をとることこそスキルであることが認識されていない。多くの場合、Excelで作成された管理表というのは表のある列を単位に更新するものである。A氏は試験項目1番を実施し、実施日と担当者名を入力して閉じる。B氏は2番について同様のことをおこなう。A氏とB氏が両方同じ項目の内容を修正しようとすることはまずないだろう。こういう場合は、管理表の項目ごとにアクセスできるようにすればよいのであり、そういう目的で使用されるのが「データベース」というものである。だが「データベース」というと今度は大げさになってオラクルだのmysqlだのでアプリを開発するなんて話になってしまう。先ほどのような単純な管理表であればphpやperlを使えば簡単にできる。なんなら、既成の「掲示板」を使ってもいい。トピック名を項目番号や項目名にし、最初のレスに試験内容などを記入して、次のレスにいつ誰が実施したかなどを書けばいいのだ。これでもう、立派なデータベースである。掲示板のスクリプトを見てみればわかるが、ちゃんと排他制御をしている。(書いてみればさらによくわかる)。

排他制御をしないこともできる。しなくてもいいかもしれない。
この場合排他されるのはトピック単位になるから、Excelの時のように誰かが後から1行追加したためにその前の1行が消えてしまったなどということは起こらない。
同じ行に同じタイミングでアクセスしたときだけだ。

Excelなどを使うよりよっぽどいい。
そして、この場合のデータベースには索引なども無い。
最近はmysqlなどを使用したブログもあるようだが、よっぽどの大量の文字数で大量の記事を書くのでなければそんなものはいらない。テキストファイルで十分である。

もうひとつ思い出した。番号付け。試験項目でもなんでも、番号をつけて管理することがある。それはもはや常識的なことかもしれないが、最近はDBを番号で管理しないようになってきている。

なんで番号をつける必要があるかというと、それを指し示したり、追いかけたりする必要があるからだ。
「1番を実施しなさい」「5番は誰がやるのか」「3番はどうなった」などと。だが、適切にフィルタ・ソートされたDBであれば番号で指し示すことは不要である。たとえば実施すべき項目というのは、実施日が空欄のものを実施予定日の昇順でソートすればよい。自分がやるべき項目は担当者名をフィルタすればよい。むしろ番号だけで示されると実際にそれを参照しに行かないと実体がわからない。それよりは「例の○○がXXしちゃうやつ」とかの方がよっぽどわかりやすい。ところがこういうことも、日本の多くの企業特に製造業では、番号付けしてそれを呼ぶのがマジメに仕事をしているという雰囲気があり、「例のナントカ」などという人はいい加減なアナログ人間とみなされがちだ。実際は逆なのに。