Monthly Archives: 5月 2009

踊り場で垣間見る View Comments

  • 具象的が抽象化されることは真であってもその逆は真ならず

というのを「創造学のススメ」で知ったわけだが、人が物理的に保持している経験がこんなにもまとまりにくいものだとは、思ってもいなかった。というのを衝撃を持って感じた。

とっかかりは確かエマジェネティックス。エマジェネティックスの思考スタイルは、その人の行動ならばある程度特定ができるんじゃないのか予想とシナプス経路が丁度相似的な関係を感じた。たぶんそこらへんだったはず。

それが、おそらくの最初の起点なはずだったんだけど、本来考えていたはずの事象を、すっかり忘れてしまった。

  • GTDTIMES-TLS-JPの「GTDが解決してくれないこと」のADD部分
  • エマジェネティックスの思考スタイルのディテール型のパーセンタイル値
  • EGトレーナー研修
  • http://ex.senmasa.com/add.phpで不注意型ADDの傾向ありと判定
  • GTDのプロジェクトの進め方

面子がそろってきた感覚で、踊り場のイメージがある。

診断テストは割と誰でもそういう傾向がありそうだと思ってたのに、友人にやってもらったら、まったく傾向がなくてショックを受けた。というのも、不注意なのが当たり前すぎて、そういうものだと理解していたし、ひどく問題にはならなかったのも事実。

そう思うと、エマジェネティックスのディテール型はもうちょっと真面目に考えた方がいいような気がしてきた。この前受けた時は、もっと軽い気持ちでディテール型の部分を見てきてたけど、もう少し真面目に受け止めた方がいいような気がする。

GTDのリストについてももっと詳しく記述した方がいいかもしれない。

「私」について View Comments

人間が分子のかたまりならば、それらが皮袋に入っているその一点において、思考など統一されるべくもない。

確かに私は考えている一部ではあるが、他の何か私の体の中で蠢いているのも確かである。「私」という家の中で住人が複数人いるという家庭ならば、その感覚はなじむものだろう。しかし、こうも思う。仮に思考の粒があったとして、そのいくつかを束ねたものを思考とし、言葉のストリームとして発露するならば、今の「私」というものはほんの数秒しか存在しないだろう。「私」が「私」として連続的に意識が存在するには、記憶のつまった身体に繋がっていることが、どうにも必須のように思われる。

ところで、二重人格や多重人格ではどうして自分の知らない言語でもあやつれるのかと不思議だと友人に話したところ、友人からこんな回答がかえってきた。

「だって、それが当たり前だから」

記憶が意図して経路を分断された時、その限られた空間の中で思考をまとめるために、無理やりにも作成される人格なのかもしれない。しかし、言語・技能がそれに慣れていないにしても使用できるのかがあまりに不可思議である。火事場の馬鹿力と同じで、それが常時働いているようなものだろうか。その時の脳の活性化部分は異なるのだろうか。

これからウェブサービスを作る方へ View Comments

具体的なユースケースを作ってから、作成されることを激しくお願いしたいです。

世の中デザインファーストとか言われていますが、ぶっちゃけその通りです。使われてナンボのこの世界。格好良さや速さなんてのは使い勝手の前では儚いものです。それに格好良さや速さが何のために存在するのか? そんなもん一言で言えば、人が使うのを速くするためです。

しかし、一つ一つのアクション自体が速くなっても、サービスがよってかかって攻めてもどうにも難しいことがあるのも事実。それは何か? 人の動きとゆーものです。画面の前にいるその操作をしてくれる人は、結構簡単にあっちへうろうろ、こっちへうろうろしてしまいます。そこに特効薬はあるのか? あると思います!

ユーザビリティとかそーゆーもんです。

私がサービスを使って手がわなわなとなるのはどんな時か? こうしたいと思った時にその機能がない時です。「飲みたくなったらお酒、眠たくなったらベッド」とは昔の流行曲のフレーズで私の好きなフレーズベスト10にも入るわけですが、まぁサービスにもそんな次から次へと差し出すサービスを求めるもんです。少なくとも私は求める。

でもさー、ユーザは好き勝手にするから、ユーザビリティっていっても一概に決められないじゃないかー

何を言ってますですか、動作を決めるのはユーザではありませんよ、サービスです。サービスがちょちょちょと誘導させてユーザがどう使うか決めるんです。誘導です。牧場と一緒です。迷える子羊ばっかりなんです。牧羊犬よろしくがんばるのです。それができてこそのサービスです。しかし、ユーザビリティといっても、これが決まってなくてはユーザビリティも発揮できないんです。一番初めに決めてないこと、あるじゃないですか。

それはユースケース。

ここで言うユースケースとは、そのサービスを使ってユーザがどんな風に振舞うかを決めること。ここでボタンを押して遷移したりとかそういう奴です。一番上で言ってるデザインファーストは、私はここと同じことを指し示してます。いやいや作ってるよと言われるかもしれません。

しかしですよ、その時にボンビラスなみのいやーなユーザーにねちねち文句を言われても大丈夫なようなユースケース、作られたとですか。自分が頭の中でイメージしたその画像になるようにユースケース書けたですか。んな無茶な! と思われるかもしれませんが、こんぐらい気合入れないとユースケースの意味はありません。

こんな売り文句よく見かけます。 「可能性は無限大です! そんなもん嘘です。作ったところで使い方がわかってないだけです。作った方がわからないのにユーザがすぐには理解できるわけがないじゃないですか。

こんなこともよく聞きます。「いいサービスだったら使われるに違いない!」 いつまで白馬のユーザ様を待ってるんですか。世界は変わりました。ユーザ市場の世の中、サービスからアプローチをしなきゃいけないんです。

使いにくいのにがんばって、使い方を見出すようにがんばりたくなるツールなど、ないわけないですが、超稀です。そしてそんなサービスは効果が出にくいので、ぶっちゃけメジャーになりません。

作るサービスを愛してください。

そのサービスが好きなら、どういう風に使われることを望んでいるのか、教えてください。他のサービスと違ってどんなことができるのか教えてください。どんな風に使ったら快感なのか教えてください。少なくとも私は、バカでドジでのろまなユーザです。使って30分以内にそれがわからなかったら、次のサービスに行ってしまいます。

さよならだけが人生です。

それでも、私はそのサービスに良さがあるなら、共有したいと思います。できないなら言いません。できるからこそ言うんです。開発者さまさま、良いサービスを提供してください!

以上、口うるさいユーザからでした。

 

自分コメント

  • 勢いに任せすぎてどうしようもない。。

エネルギーの問題 View Comments

言葉にもエネルギーがあるんじゃないかなと最近思っている。

  • 頭の中から文字に書き写した際にエネルギー遷移を感じた
  • コンセプト型の親しむ言葉のエネルギーは、現状をそのままに映すために高エネルギー状態
  • 社交型の親しむ言葉のエネルギーは、理解がしやすいために低エネルギー状態
  • 頭の思っている内容を紙に書き写す行為は、状態遷移
    • 頭の中のエネルギーを紙状にエネルギーを遷移させる
    • 紙状の文字列は低エネルギーで、頭の中に存在している場合は高エネルギー
    • 頭から外れた場合、以下のようなことでエネルギーが消費される
      • 集約し言葉にまとめること自体で不要なエネルギーを開放する
      • その言葉を紙に書き写すことで、脳内での維持活動のためのエネルギーが保持する必要がなくなる

本当はエネルギーではないかもしれないが、他にいい言葉が思い当たらないため、今回はエネルギーとする。

2009/05/30 第14回GTD勉強会を開催します View Comments

5月は基本に戻って概要だ!が、テーマです。

勉強会詳細

日時:2009/5/30(土)(第5週目です)
場所:東京・新宿
時間:15:00-18:00(3時間)
定員: 14名
参加費用:場所代+ドリンク代です。人が集まると安くなります。

5月ももうすぐ終わりを迎えようと思います。4月はまあばたばたしてたからよかった。5月はGWでやる気が削がれた。そろそろ中盤に近くなって「やっべ!何かしなきゃ!!」と危機感を感じているかもしれません。

今回のGTD勉強会は初心者向けの紹介を行います。主要ターゲットとなる層は、GTDをこれから始める~GTDを始めて半年程度です。今までの傾向から、話をしながら、主要なポイントとなる部分をおさえて説明していく、といったような感じで進めていきます。どういう風なツールを使っているのか気になる方は多いみたいで、よく話題に出てきます。

勉強会の進め方

勉強会の進め方としては、一通り自己紹介→説明→ワーワー→説明→(以下略)→感想を言い合う、というような流れを想定してます。

勉強会前の宿題

特にないです。

勉強会にもってくるとよいもの

特にないです。

尚、勉強会後に懇親会という名の飲み会を行っています。都合が合わなくてこっちだけでも参加してみたい、という方でもOKです。

ではでは、よろしくお願いします。

分かりやすいフローチャート図のための、最小限の約束事 View Comments

フローチャート図はそもそもプロセスを判断条件も付け加えながらわかりやすくしたものである。分かれ道がありつつ、それを説明するべく、フローチャートには守るべき約束事がある。 しかしながら、「あなたは実はこんなタイプ?! チャートで見つけてみよう!」といったチャート図なんかもあったりして、それがまちまちな気がする。 覚えるのが嫌いな私も、分かりやすく作るべく、いくつか守っていることがある。それを以下にまとめておく。

  • 約束事その1:処理は□、判断は◇
  • 約束事その2:何事も「はじめ」と「終わり」が肝心
  • 約束事その3:水の流れは上から下へ、時間の流れも上から下へ
  • 約束事その4:本流を作るべし
  • 約束事補足:分岐は「~である」という文章で

約束事の前にフロー・チャート・フローチャートの違いとは?

ところで、フローチャートフローチャートって言っているけれども、「フロー」と「チャート」の二つの言葉が含まれている。そもそもこの二つはどういう区別がされているのか、と不思議に思ってウェブで簡単に検索してみた。しかし違いを説明した資料は見つけられなかった。 しかしながら、UMLで「ステートチャート図」と使われていることから想定し、以下のように「フロー」と「チャート」を区別する。

  • フロー → 流れを表現するもの
  • チャート → 分岐を表現するもの

そして、上記の「流れ」と「分岐」を合わせて表現するものとして「フローチャート図」と定義する。定義したところで、詳細を見てみよう。

約束事その1:処理は□、判断は◇

フローチャート図は、大きくわけて、二つの振る舞いがある。一つは処理、もう一つは判断。処理とは、作業することである。判断はそうではなく、YesかNoか、といったような一つの答えを導くものであり、作業は発生しない。 これを図形で区別するのがフローチャート図なんだが、区別せずになんでも□を使っているのを見かけたりする。しかし、それではいかん。何のために図をして、分からしむるのかわからない。 ちなみに、全ての処理を□で表示していると、その□の中を理解するのに、以下のような手順を踏む。

  1. 文章を読んで、中身を理解する
  2. 中身を理解し、それが処理か判断かを、判断する

これは面倒である。□と◇を区別して描くことで、2番目の処理がカットされるのだ。

約束事その2:何事も「はじめ」と「終わり」が肝心

キリがいいのは、分かりやすさの特徴である。フローチャート図もそのキリのよさをはっきり見せ付けなくてはいけない。そこで、「はじめ」と「終わり」をはっきりつける。 通常、フローチャート図はそんなこと言われなくたって、わかる場合があるが、そうでなかったりもするし、見る人によってはわからなかったりするので気をつけよう。

約束事その3:水の流れは上から下へ、時間の流れも上から下へ

フローチャート図の中で、「↑」のような上向き矢印を見かけることがある。しかしこれはいけない。というのも、フローチャート図は、暗黙の了解がある。

上から下へ処理は流れる

水だって、何も力がかからなければ上流から下流へ流れるものだ。流れに逆らうのは鮭に任せよう。 でも上部に戻る分岐だってあるよ! そんな場合はどうしたらいいのか? そんな時は上向き矢印が出ないように、□を配置するのである。それができなければ、少なくとも「→」や「←」といった横向き矢印を使うようにしよう。それだけで、フロー図の気持ち悪さがちょっと緩和される。

約束事その4:本流を作るべし

分かりやすいものには幹があり、本流がある。フレームワークも骨組みであり、大きく捉えれば幹の一種とも言えるであろう。フローチャート図にも、この幹は必要であり、スタートからエンドまで、正常パターンを見せ付けるべく、本流としての一つの流れを用意しておこう。 これは、開始から終了まで、1直線の処理を作ることで幹が作成される。これだけで、どの道筋が本来なのかが、理解しやすくなる。

約束事補足:分岐は「~である」という文章で

さて、先ほど出てきた判断であるが、たまにこんな判断の説明だったりすることがある。

「○○がAであるかそうでないか」 判断は「Yes」か「No」かに二つに分かれている。

さあどっち? といいたいところだが、文章からYesがどっちか分からない。

対処方法

対処方法としては二つのやり方がある。

  1. 分岐の文章を「○○がAである」に変える
  2. 分岐条件の「Yes」「No」を「Aである」「Aでない」に変える

勿論、2番目の方法でも構わないが、「Yes」「No」にしておくと、図形をコピペしたり、条件が変わった時に変更しなくてもよかったりと、後々便利である。だから1の方を薦めておく。 しかし、これは別にわかりやすければ守る程でもない。分かりさえすればよいのだ。

望ましいフローチャート図

日本運搬機械株式会社さんの「火災時管制運転装置運転フローチャート」がとても分かりやすく、上記の約束事に準拠していた。スタートとエンドが区別され、上から下に流れており、処理と分岐は図形と色でクリアに区別され、スタートとエンドが同じラインで配置されて本流が分かりやすくなっている。 このように、クリアにチャートがまとめられていると、火災の時にも安心して実行している様が伺えるというものである。

プログラミングの時間がかかる作業手順 View Comments

http://blog.shibu.jp/article/28983162.html

上で渋川さんがプログラミングについてまとめてたので、何かしらプログラミングで言いたいなーと思ってしまったので、今やってるプログラミングの作業順番をまとめておきます。

私はもともとjavaのプログラマでした。ブログのタイトルはその名残です(小文字始まり・4使用)。プログラムめんどいよ~仕様決める仕事がいいよ~、と思ってPMにジョブチェンジしました。粒度が合わなかったんですね。それはさておき、今回の自動化作業のだいたいの作業の順番について。

今回のお仕事

お題:ウェブサービスの運営で、定常作業を自動化するのに、perlでプログラミングを組むこと。

ゴール:他の人がそれを使って作業を実施できること。問題があっても他の人がメンテナンスできること。何かあったら他の人が改変しやすいこと。

とゆーよーな感じのお仕事です。

作業手順

  1. 定常作業から作業項目を洗い出す
  2. できるところからプロトタイプ
  3. 2を繰り返す
  4. 標準化
    1. conf設定対応
    2. IF統一
    3. ログ追加
    4. 定数化作業
  5. 資料作成

以下詳細。

1.定常作業から作業項目を洗い出す

もともと手作業でやってたのを自動化するので、もとあった手順書からプログラミングすべき作業を洗い出します。この時点で作ろうと思う関数は洗い出しされてます。設計がないと、ここで抜けもれが発生しました(例:conf設定対応とログ)。

2.できるところからプロトタイプ

プログラミングも久しぶりだし、perlも手馴れてないんで、できるところから書いては実行です。動いているので安心感があります。この時は面倒なのでファイル1枚で実行し、関数を増やすといった感じ。

3.2を繰り返す

必要な関数を増やします。で、一通りできたら、それを使って手順書通りに実行する関数を作ります。正直ここで終われるものなら楽です。

4.標準化

私のやる気ナッシングな領域に。

4.1.conf設定対応、テンプレート対応

設定ファイルは外部化します。xxx.confとかそんなファイルから読み込めるようにしておきます。使いまわしする予定があるのでー、ファイルと同化してるとダメなんです。

テンプレート対応とは、conf設定やtmplファイルに、テンプレート変数を使っていたので、それの対応もしました。これは、confファイルで、出力ファイル名を”xxxx-$today_yyyymmdd.xls”とか設定しておくと、自動的に”xxxx-20090511.xls”とかに変更してくれるような仕組みです。

ここらへんで、ファイルを分割してライブラリ専用ファイルを作りました。

4.2.IF統一

上記との兼ね合いもあり、再度関数のインタフェース(引数とか返り値とか)を見直しです。

4.3.ログ追加

ここでようやくログ追加。

4.4.定数化作業

文字列排除。今作業はここらへん。今思ったけどやっぱり徹底的に文字列は排除しよう。。

5.資料作成

で、上記の設計をまとめた資料を作る予定。

  • 概要設計 – ツールの目的、ゴール、ユースケースがあると便利(使い方のイメージつくから)
  • 外部設計 – 枠決め。関数のインタフェースと機能を決める。シーケンス図があると便利。
  • 内部設計 – 中身決め。関数の中身を説明する。アクティビティ図。
  • 実装設計 – 実装決め。どのファイルにどの関数を入れるか。設定ファイルはここら辺で書くと思う。
  • 使い方説明 – 使い方。修正方法等。

後残ってるのが、ログの説明ぐらいか。。どこに組み込もう。

総論

perlもプログラミングも昔とった杵柄レベルであまりに慣れてないので、今回はプロトタイプの作成から始まりました。しかし、時間がかかりすぎるのが難です。

なぜなら、あとから追加項目が多いから。毎回変更したら、ちゃんと動くかどうかテストするのが面倒だから。なんにせよ、手戻り作業が多すぎるです。

今回は、プログラム自体は2ファイル程度(設定ファイルは10ファイル前後)の成果物でしたのでなんとかなってますが、時間のことは関係しなくても、他人が使うことを想定すると、やはり設計は必要です。とはいっても、自分が使うにしても、やっぱり設計は必要だと思います。なぜなら、3ヶ月前の自分も赤の他人だから。

でもね、プロトタイプは最初は楽しいんだよねー。

まぁあれですね、他の人に共有すること前提なら、プロトタイプからのプログラミングは、あんまり合わない、ということでした。

ソースがきれいとか構造がきれいとか

ソースがきれいとか構造がきれいとかありますが、私の昔の感想は以下のような感じでした。

作った直後の私は、自分のソースはきれいと思ってました。他人のはきれいかそうでないかというか、読みにくいな、と私は思うのでした。理解の粒度は違うのでそれはしょうがないんですな。そして、数ヶ月後の私は、自分のですら汚い読みにくい何コレサイテー!と本気で思うのでした。

 

自分コメント

  • 勢いでやった。後悔はしてないけど、文章に責任はもてずにすぐお蔵入り。
  • ていうのと、どのライン用なのよ、というのがあって、やっぱりお蔵入り。
Get Adobe Flash playerPlugin by wpburn.com wordpress themes