連載第5回(「デザインのセンス,持ってますか?」)においてちょっと触れましたが,ウェブサイトを構築する際に,デザイナーとエンジニア(プログラマ)がかかわり,共同で作業を行うケースというのは少なくないと思います。これはもちろん,デザイナーとエンジニアがどちらもそれぞれ別のスキルを持っているからなのですが,それぞれのスキルや立場が異なるために,お互いにうまく意思疎通ができないケースも多いんじゃないかと思っています。

 例えば,デザイナーの作成したウェブページのデザインが,システムを作る側からすると扱いづらい構成になっていたり,逆にエンジニアがシステムの修正や機能追加を行った際に行った表示上の変更が,デザイナーからすると許せないものだったり。そうでなくてもデザイナーの意図を読みきれていなかったり,といった感じで,お互いの作業が,相手の作業を阻害してしまったり,手戻りを発生させてしまうといった経験をしたことはないでしょうか。

 こうした問題が発生してしまうと,使い勝手の向上に本来向けるべき労力や時間が奪われてしまいますし,そもそも使い勝手どころの話ではなくなってしまう気がします。そこで今回は,デザイナーとエンジニアの共同作業をいかに行うか,ということを考えてみたいと思います。

デザイナーとエンジニアはお互いに理解し合えない?

 エンジニアとデザイナーの意思疎通の問題は様々な人が,様々なところで感じていることのようです。例えば検索エンジンで「プログラマ デザイナー」といったキーワードで検索を行うと,様々な人が,それに関する問題提起や愚痴,解決方法に関する考察などを述べています。

 結局のところ,こうした問題は,デザイナーとエンジニアが,どちらも専門性を持った仕事であり,お互いがお互いの考え方や仕事の内容を理解できていないことに原因があるのだと思います。

 理想的な解決方法としては,コミュニケーションを密に行うことを,お互い常に意識して,相手が何を考えているか,作業の際にどんなことにどんなことを重要視しているのか,といったことをきちんと理解することだ,ということになるのでしょう。一言でデザイナーやエンジニアといっても,仕事のやり方やこだわるポイントは異なります。実際に作業をする相手の考え方を理解することは,エンジニアとデザイナー,という関係だけでなく,普遍的に言えることですよね。

 そしてもう一つは,お互いの仕事に関する知識を,理解する姿勢を持つことだと思います。お互い,センスや知識を要求される仕事なだけに,エンジニアであれば「デザインのことは俺はわからないからおまかせ」であるとか,デザイナーであれば「プログラミングはさっぱりわからない」といった態度をとりがちです。しかし,それだと両者の間の溝がちっとも埋まらないわけです。

 例えばエンジニアであれば,配色に関する知識を持つとか,CSSの仕組みを理解するとか,そういったセンスとは関係なく,知識の部分を積極的に理解することは可能なはずです。逆にデザイナーの人にも,ある程度のプログラムの構造や動作の仕組みに関する知識は理解してもらえると,話がしやすくなる気がしますよね。共通の知識を積極的に増やすことで,お互いに相手のことを理解できるようになってくるんじゃないでしょうか。

分業のための仕組みを作る

 と,ここまではいわば理想論というか,そうなってくれればベストだし,それを心がけるのは重要ではある,というお話です。しかし,それに気をつけさえすれば,魔法のようにデザイナーとエンジニアのやり取りがうまくいってしまうかといえば,なかなか難しいことだと思います。

 そこでもっと具体的な方法論として,どうすればお互いの作業を高いパフォーマンスでこなし,使いやすくて完成度の高いサイトを作れるか,という話になってきます。その方法は,いろいろあるんでしょうが,ここでは筆者の勤務する株式会社はてなで行われていて,効果があるなあ,と思っている方法を紹介したいと思います。