最近めっきり開発者モードへと還って失われた日々を取り戻しつつ目下急成長中(注:当人比)の江島でございます皆様いかがお過ごしでしょうか。
色々模索しながらやってきた新サービス開発プロジェクトですが、同僚のダニーがバックエンドのコードを書き、ぼくがUIの部分を担当するという大まかな分業に落ち着いてきています。

すでにpretrieve.comというパブリックレコード検索エンジンを開発してリリースした経験のあるダニーはともかく、ぼくは本格的なウェブのサービス開発というのは初めてなので、あちこちで頭をぶつけながら修行中です。
この手のウェブのプロジェクトは、一見簡単そうに見えて実際やってみるとスピーディにやるのは結構難しくて、とくに進め方についてはずっと暗中模索でちょっとずつ前進という感じでやってきています。

3月末にシカゴで行われた37signalsのセミナーで彼らの哲学に改めて深く感銘を受けたダニーの提案により、まずぼくがHTML+CSS+JavaScriptでそれっぽく動く画面のモックアップを書いて、バックエンドに必要なデータ構造などはそこから推し量り、そこからRuby on Railsのコードへとマージしていく、というUIセントリックなプロトタイピングのスタイルが自分たちには合っているということが段々わかってきて、そこからだいぶプロジェクトに加速感がついてきました。
なんていうと、まるで何もかも非常に順調にいっているように聞こえますが、実際の現場では色々と大変なんだよ、といいたいのが今回のポスト。
開発をしていると、日々、これはイケてる、これはイケてない、という議論を繰り返すわけですから、どんどん際限なくストレスがたまります。特にイケてない、という指摘をうまくやるのはとっても難しい。
まず、イケてない、ということを指摘する前に、同じだけのイケてる点を見つけて相手を褒めてあげることができなければ、プロジェクトはうまく回らない。これはマネジメントのセンスがある人は自然とやってる「他人を評価する」ことの基本中の基本ですが、ぼくみたいな凡人はある程度意識的にやらないと忘れがちです。
次に、イケてない、という場合に、単に自分の好みの次元で相手の労作をさっくりと残酷に否定してしまっていることがあります。これは自分が当たり前と思うことは必ずしも相手はそう思わないという教訓の典型で、相手に反論されて初めて相手にも深い意図、というか「思い」があることを知ることになります。
そして悪いことに、特にユーザ・インターフェースの善し悪しは、ロジックでは決して説明がつかないようなところに勝敗を分かつティッピング・ポイントがあったりするから厄介です。
とみに最近、ユーザ・インターフェースの使い勝手やルック・アンド・フィールに関してやたらと喧嘩になりがちだなぁと思っていたら、ダニーの方はかなり気にしていたみたいで、昨日になって色々と言われてしまいました。どうも、ぼくがダニーの言うことを真剣に聞かずに自分の意見を押し通している、ということのようです。
ところが、そう感じているのはむしろぼくの方だと思っていたので、結構ショックでした。
現時点ではタイミング的な制約から、まだ満足のいくデザイナーと契約できていないので、まるでよっしーが当時GREEのロゴを自作していたように(だよね?)、ぼくがロゴなどクリエイティブの製作からCSSやAJAX側のJavaScriptビヘイビアの作り込みまで自力でやっているわけですが、そういう部分に情熱をつぎ込んでいるぼくの姿を見ては「お前は専門家じゃないんだから今デザインに凝るのは時間の無駄だ。どうせプロフェッショナルなデザイナーが入ったら全部捨てることになるのだから。」とか何度も何度も言われて、傷ついているのはこっちの方だと思っていたのですから。
こちらは言葉で言っても通じない(そもそも英語の壁があるので)と思ったものについては実物で示すしかないと思い、コードを書き、あるものは確かに素晴らしいアイデアだと感じてくれたはずだし、あるものはくだらないと思われたでしょう。

でも、ほとんどの場合、くだらない部分については自分でも納得がいってないのです。ただ、どうすれば良くなるかわからずにウンウン唸りながら困っていて、もう毎晩のように24時を過ぎて燃え尽きて、「とりあえず」で諦めてSubversionにコミットして帰宅した部分に対して、翌朝になってヘボいとか言われると激しく萎えるわけです。そういうのはお互い様だろうけど、お互いに自分の意見を言うときには遠慮がない。
それでも、自分が気付かなかった視点からコメントしてくれることもたびたびあって、やっぱり人の意見を聞くのは大切だと思う。でも、意見が衝突してぼくが自分の意見を通したとき、ダニーはそれを「自分の意見が下に見られた」と感じていたらしいのです。
でも実際には、ぼくは彼の言ってることの真意は(全部とは言わないが大抵の場合)わかっていて、それでも自分のアイデアを試したい、そして、Super Smartなエンジニアである彼と違ってぼくはバカなので、泥臭く手を動かして実際に動く形にしてみないと、それがイケてるかイケてないか想像できないから、申し訳ないけどまずは黙って俺にやらせてみてくれよ。駄目だったらそのときに捨てるから。駄目だったときに、彼にとっては「それみたことか、おれには最初から予見できてたことだ。やっぱり時間の無駄だった。」かも知れないけど、ぼくにはそうじゃない可能性が見えているから、まずはやってみたいんじゃないか。。。と、そういうことなのだけど、そこがなかなか通じない。これまでにも何度もそういう経験を繰り返してきてるから、そろそろ理解してもらえてたんだと思ってた。
先に紹介した37signalsがウェブ上で出版しているGetting Realという本があって、これの哲学(素晴らしい啓蒙書です。ウェブ開発者ならぜひ。)に共鳴するか?っていう次元では、二人とも強烈に共鳴しているので、これをプロジェクトの依って立つ「原典」としているし、かなり価値観とか世界観が近い二人だと思うのだけど、それでも実プロジェクトで実装のディティールを議論するとか進め方とかの話になると、どうしても自分を見失いがちになる。
たとえば「Keep It Simple」っていう言葉ひとつとっても、そこにはお互い激しくアグリーで、もう原理主義的なぐらい徹底的に追求したいはずなのに、たとえばぼくは「冗長な説明調の英語がダラダラ載ってるのがシンプルじゃないから嫌い、シンプルにやれよ」と突っ込めば、「何でも単語だけで説明できると思うのは間違いだ」と反論され、反対に「お前は際限なくフィーチャーを詰め込みすぎだ、どんどんゴールが遠のいていく」と突っ込まれたら、「このぐらいのユーザビリティは何が何でも絶対必要だ」と反論する。一見、テキトーに決めてるんだろうぐらいにしか思われないような部分に、相手にとっては格別のこだわりがあったりするわけです。
つまり、お互い自分の専門領域外で興味のないところはややこしくなくシンプルであってほしい、っていう意味になっちゃってるわけです。でも、自分の領域のこととなると、ディティールが見えているから、単にシンプルという言葉をかざして相手が押しつけてくるものは手抜きにしか感じられなくなる。そういうディティールを練り込んで練り込んでシンプルにするっていうのは、数学の証明をなるべく短くしようとするのと同じぐらい、本質的に一番難しい仕事です。でも、完全で理想的な単純化なんて限られた時間では達成できっこないから、どこかギリギリのところで妥協しなければいけない。これは、こだわりをもってモノづくりをしてるときには、大変つらい決断なわけ。
でも、ぼくはダニーのことを一番深いところでは完璧に信頼しているし、向こうもきっと同じように思ってくれてるだろう。そして、今までの経験上、本当に全力でやり抜いたと言える、納得のいく次元の仕事ができた、と感じるときっていうのは、決まってこういう産みの苦しみと衝突を経験してきたし、これはグッドサインだと信じてる。(とか止揚しちゃったけど、心情的にはそんな生やさしいものではないよ、というのが今回のポストの趣旨なわけですが。)
仕事でアウトプットを出すっていうのは、本来かくも苦しいものです。自分が精魂込めて作り上げたモノであればあるほど、批判されればプライドが傷つく。アウトプットを出し表現するというのは、怖いこと。文章だろうがコードだろうがプレゼンだろうが絵や音楽だろうが、下手クソと言われれば傷つくし褒められれば至上の喜びを得られるという点ではすべて一緒。自分のアウトプットを批判されて「だよねー」とかヘラヘラ笑っていられるのは、その成果物に魂を込めていない証拠。
そういうわけで、精神的にも肉体的にもジェットコースターのような日々を送っております。
で、もう能書きについては結構だから一体いつになったら出てくるんだ、という話ではありますが、今はかなり佳境です。山場を超えたら具体的なご報告ができると思いますので、そのときにまた。
♪ Ozzy Osbourne / No More Tears
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
ネットワーク型産業構造への衣替え?
iPhonista Nightの事後報告
iPhone2.2では、絵文字に対応?
すでに土砂降りのIT業界
長時間マウスを使うから(マウス選び)
CMSでのSEO対策効果を実験している
平成 14 年の、医療体制に関する意見募集を偶然発見
割賦販売制度の副産物
XPへのダウングレード権がさらに延長みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
[レビュー]2011年画質を備えた高画質、多機能Blu-ray--ソニー「BDZ-X95」
今週の新製品総チェック:よりモバイルPCとして進化した「Let's note」が登場
今週の新製品総チェック:フルサイズCMOS搭載のキヤノン「EOS 5D Mark II」が登場
今週の新製品総チェック:第4世代iPod nano登場、ソニー「α」、松下「LUMIX」に新機種も
精進します。。。