日本の皆さんこんちは。
ちょっと前のことだったと思うが、この街を歩いていたら Kaizen という名の寿司バーを見かけた。もうとっくに潰れているらしいそのレストランはその名からトヨタ生産方式「カイゼン」が日本から一万キロ以上離れたカナダ東部でも有名なのかと思いきや、Fuji, Harakiri, Tempura なんかと同じく、単に日本っぽく修飾するためだけの Buzzword だったりする。
20%
現在の僕はメルマガを購読者に向けて書き送ることと会社の Website を更新したりすることを仕事として某アパレル会社のもとで去年の 2 月から細々とやっているのだが、今日はその内の一つについて書きたい。
ちなみにメルマガを書く、と言ったが実際にはマーケティングから受け取ったコピーライティングや画像なんかを元にただひたすらキーボードを叩くだけの行為なので、書くというより「組み立てる」と言った方が正しいのかもしれない。こいつは一般のプログラマーに求められるような創造力や独創性なんてものは一切必要のない言わば「作業」なのだが、なんせそこそこの数をこなさなきゃならないので、こんな作業でも僕の業務時間のうち約 20%を使っているのだ。 加えて言うと、一年ほど毎日のようにこの作業をやってきていい加減自動化したほうがいいんじゃないかと思えてきた。
この単純作業に 20%の時間を使うことに苦痛を覚え始めた去年の冬あたりから、どうにかこいつをゼロにしてやろうじゃないかと無い知恵を絞り始めたのだが、どうやら完璧な「ゼロ」を達成するにはオフィスの窓から身投げするか、他の誰かに丸投げするかの 2 択しかないという結論に至ったので素直に後者を選ぶことにした。
忍法丸投げ
陸自時代にもこの術を誰かに仕掛けられて業務が回らなくなり死にかけた経験もあるのだが今はそんなことどうでもいい。丸投げこそカイゼンへの道と勝手に信じてその方向に動き始めたのが去年の 12 月。丸投げの分析に手を付けた。
ところで、丸投げを実現するには他の人が同じことをできる様にする必要がある。現在のメルマガは専門職を持つ僕らが HTML をゴリゴリ書いて、そいつをごにょごにょして購読者全員に送る。この「HTML を書く」っていう部分を誰にでもできるように最適化してしまえばよいはずだ。ごにょごにょの段階ではサードパーティを使っているので字が読めてクリックができる人間ならだれでも送付できる。
自宅で JavaScript を書き始める。勤務時間中にやってもよかったのだが、このクソ忙しい年末に業務に直結しないことに精を出していると、こいつは暇らしいとレーベルを貼られてつまらぬ仕事を振られる恐れもあったし、もし作成したプロトタイプが意図した通りに動かないようであればとっととゴミ箱にブチ込んで一切無かったことにしてしまうつもりだった。
ともあれ、頭の中では何をすべきかは明らかだった。ブラウザ上にフォームを表示して、そこから必要な文章や画像なんかを HTML テンプレートに動的に挿入できるようにし、最後に全て丸ごと文字列としてリターンさせれば良い。これが実現できればコード読めない人でも HTML メールが簡単に書ける、いや組み立てられる。僕らのような専門職じゃなくても全く同じメルマガが作れる。
問題はどうやるかだ。
2 週間の格闘の末、簡単なプロトタイプができあがった。見てくれは悪いが機能は一通りそろっているし意図した通りの動きをする。早速会社に持っていき誰にも言わずこっそり使ってみたが、数万通のメルマガは一つのエラー報告もなく読者の手に渡った。そりゃそうだ。このプログラムは手書きのものと寸分違わぬ HTML を吐き出すのだし。ドヤ顔。
メリット
手書きでやってるとメルマガ一通仕上げるのに 7 分ほどの時間と少々の集中力を消費していたのだが、こいつを使えば 1 分ほどの時間でヨダレ垂らしながらでもできる。多少融通生を落としたがタイポや記入事項漏れ等のヒューマンエラーを起こしにくい設計にしたため、我心ここにあらずといった心理状態で書いても、目を皿にして手書きするよりよっぽどエラーを出しにくい。
時間短縮という側面でみると、一通につき平均 6 分の短縮だ。カナダではメルマガは英語と仏語の二ヶ国語で書かねばならないのでそれが 2 通、発送は少なくとも週に 3 回あるので、6 x 2 x 3 = 36 週で 36 分、年間だと 31.2 時間の節約になる。31 時間なんて一日とちょっとだから大したことないように思えるが、メルマガに携わる人間は僕だけではないのだ。
実は時間以外に数値で測れないメリットの方が大きいかもしれない。集中力の節約だ。 もはやエディタを開いて目を皿にしてコードを追いかけ編集箇所を探さなくて済むのだ。(あれは地味に疲弊する。) これを使えばマーケティングから回ってきた文章を単純にコピペしてるだけでこと足りる。 人間の集中力は有限なのだから、可能な箇所では徹底的に節約し神経質になるべきところで思う存分使えばいいのだと思う。 最初に述べたように、僕らの仕事はメルマガだけじゃなく、サイト更新という比較的重要なタスクも日常的にある。貴重な集中力はそこそこ創造性を必要とされるこういった分野のため温存しておきたいものだ。
プレゼン
2 週間の突貫工事で作ったプロトタイプは同僚の一人が気に入ったらしいのでコピーをあげた。彼女は自分なりにカスタマイズして使っている。 完璧主義気味の僕は、インターフェイスがカッチョ悪いのがどーしても気に入らなくてその後ロジックも含め全面的にテコ入れした。これまた 1 ヶ月近くかかったが、開発の途中いっちょうまえに Email Builder2 なんて名前もつけて可愛がった。仕事帰りのバスのなかで新たに加えるべき機能の設計に思考を巡らし、翌朝 5 時に起きては煎れたてのコーヒーをすすりながらその実装に精をだす。その繰り返しで 1 月が過ぎていった。
2 月に入る頃には、当初の「丸投げ」計画なんてどうでもよくなっていた。このプログラムが実際の業務で採用されるかどうかにすら興味がなくなっていた。
ただただアプリケーションとしての完成度をあげることにしか興味がなくなっていった。
この頃にはボスにもこのプログラムの存在を知られてはいたが、変人が書いた時間節約術くらいにしか思われていないようで、僕はなぜか安堵した。
同僚の一人に押され 2 月下旬には同僚全員とボスに対してプレゼンもやった。パワポで簡単なスライドを用意し、実際の動きのデモと裏で走るロジックを簡潔に紹介した。プレゼンは 30 分ほどでさらっと終える予定だったが、予想に反し質問攻めにあったため 1 時間以上しゃべる羽目になった。
うまいこといけば僕自身の仕事をも奪うポテンシャルのあるプログラムであったが、これを使うことにより HTML を書く作業は素人に投げることができても、そこで使われる画像の切り取りは Photoshop が絡むため(デザイナーに頼めばいいのだが…)結局その部分を自分達でやらざるを得ない等の理由により、このプログラム単体では完全な丸投げの実現は難しそうだ。 単に個人の「カイゼン」という形でお蔵入りする予定である。
今後も社内で日の目をみることはないだろうが自分で書いた手前、僕は毎日のように使っている。これを使うことでサクッとメルマガを書き上げ、そこで浮いた時間をサイト更新の精度を上げるために使ったり、面白そうな機能を実験的に書いてみたり、リンゴをいつもと違うやり方で食べる等の時間に充てている。
したっけ。