2006-04-10

[]デザインと分業 デザインと分業 - Nao_uの日記 を含むブックマーク はてなブックマーク - デザインと分業 - Nao_uの日記 デザインと分業 - Nao_uの日記 のブックマークコメント

  • 同一人物がGUIのデザインと実装の両方をやるということのメリット

「同一人物が、GUIの実装をしながらGUIのデザインをする」のと、「GUIのデザインだけに選択と集中する人と実装に選択と集中する人の二人がペアになって仕事をする」のとでは、どちらの方がいいデザインができるかについて、考えてみます。

たしかに、デザインと実装を同一人物がやることのメリットというものがあるようにも見えます。そもそも、あるデザインアイデアを思いついたとき、それが実際に実装できるかどうかは、実際にプログラミングしてみなきゃ分からないこともあるし、また、実際にプログラミングして、動くものを見てみたら、感触がなんか違和感のあるものだったりしてやり直したりと、そういう、試行錯誤やフィードバックループがあるからです。

もっというと、プログラミングしながら、自分が何をデザインしたいのかがしだいに明確になっていくということが、よくあるのです。プログラミングとは、実装というより、アイデアを練る作業でもあったりするからです。

分業すると、この、プログラミングする過程における、試行錯誤、フィードバックループ、アイデア練りが、デザイナーによってなされないために、そういう面からのデザインの深まりが弱いのです。そして、これは、一見、極めて重大なことのようにも見えます。

  • デザインだけに集中することで見えてくるシンプルで美しい世界

しかしながら、デザインだけに選択と集中をすることのメリットというのもあります。それは、実装のごちゃごちゃした問題を意識から追い出し、純粋に、「知覚の設計」を練りに練ることに、集中できるということです。ほんとうにユーザが求めているGUIについて、考えに考え抜き、そもそも論までどんどんさかのぼって、現在の自分たちのGUIについての思い込みや偏見自体にまで気がつき、それを外側から見つめなおし、根本的に新しい概念や発想でとらえ直し、ゴチャゴチャしたものが、ばっさりなくなって、とてもシンプルで美しいデザインでありながら、極めて汎用的かつすばらしく実用的であるという仕様になるまで、徹底的に煮詰めるための時間と思考エネルギーを確保できるのです。GUIの実装に時間と思考エネルギーをとられてしまっていては、けっして到達できない、シンプルで美しい世界にたどりつけることがよくあるのです。それは、気がついてみれば、なんてことはなし、ごく単純なものの見方なのですが、そこにたどりつくには、自分が無意識のうちに思い込んで閉じ込められている思考の檻を、いくつも破って、その外側に出て行かなければならないので、とても時間とエネルギーがかかるものなのです。


  • 地頭の良いデザイナーの技術的知識

地頭の良いデザイナーと、ペアでGUIプログラミングをしてみれば、すぐに分かりますが、地頭の良いデザイナーは、技術についても、すさまじく貪欲で、デザインの肝となるところについては、プログラマーですら把握できていない深いレベルのパフォーマンスについてまで、徹底的に質問責めにします。そのため、最初のうちは、単にそのデザイナーの質問に答えるためだけに、ゲーム機なりPCなりOSなりの制限事項や、APIの調査や、パフォーマンスの調査に明け暮れるのが、GUIプログラマの仕事になります。また、地頭の良いデザイナーは、自分自身でもプラットフォームの技術仕様書を読み、「あれはどういう意味だ?」、「これは何が嬉しいんだ?」、と徹底的に聞いてきます。

でも、ここが肝心なのですが、それらの技術的質問は、すべて、Whatについての質問なのです。何が、どのくらいの工数で、どのくらいのパフォーマンスで実装できるのか、という質問であり、Howの質問などしないのです。Howなどには、興味がないのです。どんなライブラリを使うのか、どんなアルゴリズムを使うのか、どんなクラスデザインにするのかは、まったく興味なしです。彼らが興味があるのは、そのライブラリやアルゴリズムを使うことで、どのくらいGUIレスポンスが速くなるのかとか、そいういう、ライブラリ、アルゴリズムアーキテクチャの外部仕様だけなんです。

これはゲームのデザインでも同じ、かな?

分業のメリット・デメリットは作るものによって変わってくるところもあるので一概には言えないだろうけど、それでもプログラマはプログラムの行為そのものに意識を取られがちになるのは避けられない。