見出し画像

安易に受けてはイケナイ仕様変更

デザイン制作やアプリの開発をする上では必ずあるのが、

「この画面のこの部分をこう変えてください」

という変更要望です。

変更の内容・要望が上ってきたタイミングによって、引き受けても良いのか、または引き受けるべきではないかが変わってきます。

今回は、この要望が問題になりがちな"プロジェクトの中盤〜終盤で要望が上ってきた"という前提で説明をしていきます。

一言で言うと「それをやるとスケジュール、予算が破綻する」というものはやるべきではない、という事に尽きるのですが、それだと抽象的すぎるのでアンテナを張るべきポイントとしていくつか例を紹介します。

1.データ設計に影響する変更

例えば「ユーザーデータに会員レベルという概念を追加してトップ画面に出したい」という要望だったとします。

元々「会員レベル」という概念すらなかったとすると、開発チームのメンバーそれぞれで作業が必要になります。

UIデザイナーの作業
・「会員レベル」の表示をデザインに追加する
サーバーエンジニアの作業
・会員レベルを計算するためのサーバープログラムを開発する
・計算した会員レベルのデータを、アプリに渡せるようにAPIを改修する
アプリエンジニアの作業
・画面に「会員レベル」の表示領域を追加し、サーバーから渡された「会員レベル」データを表示する
・意図した挙動になっているか動作テストする(バグがあれば修正〜再テストの繰り返し)

また、既存の会員情報から会員レベルを求めるロジックを考える時間もかかります。

既存のデータ設計で考慮されていない変更要望があると、動く人も多くなる=時間とコストがかかる、という事になるため、今後のアップデートで対応していく様に舵を切りましょう。

実際、私もこの様な事があったときに、まずエンジニアさんに相談をするのですが、だいぶ苦い顔をされた経験があります。既にあって表示していないだけのデータであれば良いが、無いものを用意するのは手が入る箇所が多くなるだけに今からはキビシイ、と言われ「た、たしかに…」と思いました。

要する時間が例えば、デザイナー:2時間、サーバーエンジニア:8時間、アプリエンジニア:4時間とすると、各々は1日未満で対応できる事にはなりますが合計して14時間が掛かります。これにプラス、マネジメントする人の工数が少し乗っかると約2人日くらいの工数になります。

判断ポイントは「既に持っているデータか?」「複数人をまたぐ作業か?」です。

2.デザインの設計に影響する変更

挙げたもののちょっと説明が難しいのですが、、、
設計には大きく2つの意味があるという前提で話をします。

情報設計が崩れるケース
「情報設計」に関する説明は割愛させていただきますが、サービスの持っている性質やそのサービスで成し遂げたい事、どういう材料を持っているか?などを踏まえて、「意図」を持ってアプリの画面構成、遷移、レイアウト、操作方法が設計されている場合、その「意図」が覆ってしまうような変更です。

「トップページにこういうセクションを追加したい」という要望だったとして、設計に影響しないものもあれば、安易に追加する事でツギハギなものに仕上がってしまいサービスの品質を下げる可能性もあります。

こういう要望があがってきた時には、

・どういう想いからあがった要望なのか?を相手に確認する事
・その要望を満たす適切なアプローチがないか?をデザイナーに相談する事

を実行した上で、実施すべきかどうかを決定しましょう。

デザイン設計が崩れるケース
プロジェクト序盤で決定したデザイントンマナに沿って一通りの画面をデザインするのが基本だと思いますが、それを途中で変更したいとなると結構大変な事になります。

極端な例だと「背景色を黒から白にしたい」に対応しようとすると、背景色だけでなくテキストやボタンカラーなどの配色を全てやり直す必要があります。

他の例として、「この画面の背景の幅を広くしたい」に対応しようとして、アプリの作りによっては指定の画面以外の幅も一緒に変わってしまう事があります。

アプリの作りを確認した上で、受け入れるかどうかを判断しましょう。

3.どうして後から仕様変更が出てくるのか?

モノが出来上がってきて、実際に触ってからアレコレしたくなるから、ですね。(サービス開始日が迫ってきてからようやく「見なきゃ!」となる人もいます…)

Web系のサービス作りに慣れている人であれば、デザインカンプだったり仕様が書かれたドキュメントを見ながら変更要望を出してくれますが、ほとんどの場合は出来上がってきたタイミングになってようやく要望が出てきます。

実際、モノを触りながらでないと気づかない事も沢山あるので、そういうものであるという覚悟も必要ではありますが、プロトタイプ版としてデザインチェックを出す事で要望を出してもらうタイミングを早める方法もあります。

プロトタイプ作成とは…
prottやprotopieなどのプロトタイプ作成ツールを使用して、デザインした画面を画面遷移する様に繋げる作業です(デザイン前にワイヤーフレーム時点で作る事もあります)

後々、要望を出てくるのを抑えるために、スケジュールを組む時に相手のレビュー期間も含んでおくのも大事ですが、相手がレビューしやすい様に"提出の仕方を工夫をする"事をオススメします。

まとめ

今回は開発あるあるの一つについて紹介しました。
受託仕事は、日々、炎上防止を考えなければならない悲しい現実がありますが、避けて通れない道なのでめげずに行きましょう!