月数千万PVを出すようなWEBサービスの開発現場のお話。フリーランスとなり写真・WEBディレクション・WEBデザイン・システム開発などをこなしている立場からすると明らかにおかしなことになっていました。現在WEB開発の現場にいる人もこの違和感を持っている人は多いのではないかと思います。
すべてのWEB現場でそうであったということではありませんのでご了承ください。
WEBデザイナー仕事量の振れ幅が大きい
開発案件に対してWEBデザイナーの仕事量が激変する。企画→WEBディレクター→WEBデザイナーというように仕事が流れてくるのですが、WEBディレクターのさじ加減1つでデザイナーの仕事量が激減します。バナーをひたすら作る日もあれば、収益の要である機能ページのUI設計を見直しで激務になることもあります。
WEBディレクターによって開発環境が良し悪しが決まる
私が2年間お世話になった現場では企画のもつ仕事量に対してデザイナーの仕事は少なかった方に思われます。表向きには。これはWEBディレクターがデザイナーの工数にバッファ(余裕)を取っていたためです。
一件、有能なWEBディレクターが仕事量を減らしてデザイナーを守ってくれているともとれるのですが、これが開発現場を劣悪にさせる一因です。
仕事が裏から回ってくるようになる
企画や営業としては成果を出すためにどうしても通したいデザイン案件があったりします。これをディレクターがストップさせてしまうと、企画部の方が独自にデザイナーに連絡を取り仕事を依頼するようになります。
デザイナーにしても5分程度で終わるようなコーティングであったりデザインであったりするので暇で2ch見ているくらいならと対応します。何もやらないよりかは会社の売上に貢献したいという善意からです。
裏の仕事量が激増する
小さい裏の仕事を増やしていくと、次からどんどん裏の仕事が増えていきます。裏の仕事なので報告もしません。これはデザイナーが忙しい時は断ればいいので作業が破綻することはないのですが、一番の問題は会社全体でどのくらいの作業量が発生しているのかがわからなくなることです。個人の能力に依存することになりますから、優秀な人が抜けたらプロジェクトが「なぜか」進まなくなることがあります。
これを回避する手段は一つ。WEBディレクターが依頼されてきた仕事に対しMustかWantなのかをしっかりと区別して説明し、全部署が納得することです。
システムエンジニアとの連携が取れていない
WEBサービス開発の現場の多くはWEBデザイナーの書いたコードシステムエンジニアが使い実装していくことで動的なページができたりサービスが開発されたりします。私がいたPHPの開発環境ではSmartyを使用していました。作業の住み分けをキチンとしすぎることで作業の不効率化が発生していました。
HTML納品という意味不明なデータの受け渡し
SmartyというPHPのテンプレートエンジンやプログラム部分とデザイン部分を切り分けられる環境です。つまりシステムエンジニアがWEBデザイナーに寄ってくれているんです。その環境にもかかわらず横行しているのがHTML納品というデータの受け渡しシステム。
これはWEBデザイナーがHTMLで書いた静的ページの一式をZipファイルの圧縮してシステムエンジニアに受け渡すことです。
受け渡すデータ
- HTML
- CSS
- 画像
主にこの2つです。びっくりするでしょうが私のいた現場ではjavascriptはシステムエンジニアの仕事です。さてこのHTML納品というデータの受け渡し方、とんでもない弊害があります。
デザイン崩れ・CSSコンフリクト大量発生
1ページまるごとデザインの案件なら問題ありませんが、ページの一部改修になると、システムエンジニアさんが実装する段階でレイアウト崩れが発生します。それは当たり前でシステムエンジニアはHTMLコーティングする人じゃなりません。そこはWEBデザイナーの領域です。さらにCSSも全体の設計をみて書くわけではないので、同じクラスやIDを振ってしまうことでまたレイアウトが崩れます。
Smarty環境なんだからWEBデザイナーもSmartyのテンプレートファイルをかけよという話に着地しますが、うちの開発現場では「PHPを読める人がいない&javascriptも書けない」人たちだったので、こういうデータ受け渡しが横行していました。
ちなみに今はその環境を打開しようとSEの中に1人デザイナーを常駐さえるようにしているとかいないとか…。
CSS書き漏らしによる差し戻しが乱発
javascriptのすべてをシステムエンジニアに丸投げしているのが原因です。WEBサービスのボタンの制御やON/OFFの挙動をjavascriptで制御するとそれに対応するCSSを書く必要が出てきます。WEBデザイナーはそれらのパターンのHTMLを複数作成してシステムエンジニアにデータを渡しますが、実装段階で足りないCSSがかなりの確率で出てきます。
そうなるとWEBデザイナーに仕事が差し戻しが発生してプロジェクト全体のボトルネックになります。ということで基本的なjQueryは書けた方がシステムエンジニアと仲良くなれます。
CSSメタ言語という害悪
Sass /Scss / LessのCSSメタ言語ですが、正しく機能させるとコーティング速度も上がり、記述ルールも決めやすいため普通に使えば生産性が向上します。WEB製作会社などでは使っていない企業はないかと思うくらいです。しかし、大規模WEBサービスの開発現場で使い方を間違えると害悪にしかなりません。なぜならコンパイルが必要だから。
先ほどのHTMLとCSSのセットの納品形態だと、CSSの知識があるシステムエンジニアは多少の修正を自分ですることができます。とくにjavascriopt・jQueryの実装をエンジニアに投げてる開発ほどCSS対応できる人は多いです。
ここでCSSメタ言語、私の開発現場はScssでしたが、これをcssに直すにはコンパイルする必要があるので、システムエンジニアが勝手にメタ言語を直すことはできず、scssを管理しているデザイナーに差し戻すしかありません。お互いの作業量が増えてしまっていました。
開発案件をスケジュール通りにリリースすることが目的なので、CSSメタ言語という手段に捕らわれて納期が送れるという本末転倒です。管理できないならネイティブのCSSで書いたほうがみんな幸せになれます。
WEBデザイナーとシステムエンジニアの中間のポジションが欲しかった
開発現場の中ではPHPとjavascriptが書けるWEBデザイナーということでエンジニアと打ち合わせしながらSmartyに直接コードを書いていました。
Smartyのすべてをスクラッチで書けるわけではありませんが、読むことはできますので必要と思われる部分にHTMLを書いていました。なんてことない作業ですがシステムエンジニアとしてはその後の実装作業がだいぶ楽ととのことでした。WEBデザイナーというもりもフロントエンドエンジニアというポジションでしょうか。最先端の開発現場こそ広く浅くフットワークの軽い人材が必要だと思いました。
そういう人が間に入ってディレクションしてくれたら楽だったなぁ…
現在地方のフリーでまさに広く浅くでやっていますので、市場の需要はすごく高いのかもしれません。
急げWEB開発の採用担当者、WEBデザインとシステムの中間人材を探すんだ!間に合わなくなっても知らんぞー!
スポンサーリンク
コメントを残す