デザインのバージョン管理と開発連携をAbstractにまとめてエンジニアともっと仲良くなる

Classiアドベントカレンダー13日目は、デザイナーの@shio312がお送りします。
今年は弊社UXデザイン部も採用している、デザインのバージョン管理と開発連携をAbstractにまとめることになった経緯を、デザインツールの紹介を交えながらお話します。

# はじめに
**エンジニアさん**
「最新のデザインってどれ」
「えっ、実装結構進めてたのに急になんか違うUIになった（怒）」
「えっ、なんでこんなUIなの...わけがわからないよ...」
「しかも前回とはちがうツールでデザインカンプきた...なにこれ…つらい...」


上記のような、残念な気持ちになるような事案に覚えはないでしょうか。ウッ。

私達はデザインシステムの構築やコンポーネント化、バージョン管理といった面で、プロトタイピングを[inVision](https://www.invisionapp.com/)か[XD](https://www.adobe.com/jp/products/xd.html?sdid=19SCDRPN&mv=search&ef_id=EAIaIQobChMIta6UmYGw5gIVi2kqCh1-OQ3yEAAYASAAEgLp6_D_BwE:G:s&s_kwcid=AL!3085!3!395016621593!b!!g!!%2Bxd)で、グラフィック作成をSketch、デザインレビューとバージョン管理を[Abstract](https://www.abstract.com/)で行っていました。
問題だったのが開発連携ツールで一時期は乱立しており、inVisionのinspect機能、Abstractのinspect機能、さらに[Zeplin](https://
zeplin.io/)も試験的に導入し3つの開発連携ツールが使用されていて、デザイナー同士も連携されるエンジニアも**「何を見れば最新のデザインが今どのような状況で、実装するなら何を見ればいいのか」**のコミュニケーションにコストがかかっていました。



# UIツールを（XD）、SketchとAbstractに絞るまでの道のり

### 既存のデザインフローはこうだった

![logoいっぱい1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/6280184a-4384-bf8b-1a6d-b2aa9a1f7f6d.png)

開発と連携まわりがもったいないかんじですね。運営も金銭コストもかかっています。
ということで開発との連携に使っている各ツールの特徴を整理し、ツールを絞っていきました。

### 開発連携ツールの機能比較（2019年12月段階）
|   | プロトタイプ | バージョン管理 | 開発と連携 | 
|:-:|:--------:|:------------:|:----------:|:--------:|
|  inVision <br> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/7ac74e0d-1b83-1a29-614d-a106b6767807.png" width=52px>| ◎  |  × |  ○ |
| Abstract <br> <img width="58" alt="スクリーンショット 2019-12-12 20.11.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/a83225c1-290f-7a0c-3aad-0658fa64a17a.png">|  × |  ◎ |  ○ | 
|Zeplin <br> <img width="75" alt="スクリーンショット 2019-12-12 20.12.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/58f39c9a-2937-d327-a30d-73e84132205c.png">| ×  | ×  |  ◎ |

ツールそれぞれできることが見えてきました。
ここから絞るに当たってチームでツールごとに比較していきました。

**まずinVisionを除外**
inVisionは少し前にinspect（開発連携するためのレイアウト指示ができる）機能が追加され、しばらく開発との連携ツールとしても使っていましたが、年間コストが高い上にプロトタイピングツールはXDで代替することができるので、ZeplinもしくはAbstractのinspect機能どちらかを使うとし、inVisionは除外となりました。

**〜 Abstract（inspect機能） VS Zeplin 〜**

残る2ツールから1つに絞る際は慎重に比較しました。
![logoいっぱい3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/bc2ae6c2-c48d-9658-47ad-1ca531f96aa0.png)
それぞれのUIです。見た目はそこまで差がないですが、操作性に関して少し差がありました。

|   | Abstract <br/> （inspect機能） | Zeplin |
|:-:|:-:|:-:|
| pros | ・Sketchデータそのままのレイヤー構成が反映され、デザイナーの意図が反映できる| ・シンボルもしくはグループの最上層単位でオブジェクトとして認識されるのでレイヤー整理する必要がなくエンジニアに連携できる <br> ・マージンの数字が一番正確  |
| cons | ・レイヤーを整理しておかないと、どの数字を実装すればいいかがわかりづらい <br> ・上記からレイヤー整理の工数が発生する |   ・レイヤー名が表示されないので、レイアウト指示の際工夫が必要|


比べてみると、inspect機能自体は老舗であるZeplinの方が精緻でスペックが少し高い結果に。
###デザインフローを考えて、Abtractを選んだ

機能単体で比較するとZeplinを選ぶ結果になりましたが、ツール全体で見るとAbstractはデザインレビュー、バージョン管理、開発連携もでき、課題だった「何を見れば最新のデザインが今どのような状況で、実装するなら何を見ればいいのか」が1つのツールを把握していれば解決可能という優位性が決め手となり、Abstractを選択することになりました。
Abstractのinspect機能で発生する課題は「Sketchのレイヤーグループをまとめずに、オブジェクトごとに分ける」運用で対処することに。
ちなみにinVisionのinspectスペックはAbstractと同じ程度でした。



# 新しいデザインフローはこうなった
![logoいっぱい2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132799/3dde2d40-ae34-0336-93b5-ec54b55b35d2.png)


Abstractでバージョン管理から開発連携まで一貫させる事で

- 管理コストを減らせる
- Abstractのプロジェクトにエンジニアを招待しデザインの変化を見せることで、実装中のエンジニアも最新のデザイン（設計）が把握できる
- エンジニアもデザインレビューに参加できる
- デザイナーもコミット履歴から仕様の変更の経緯が説明しやすくなり、エンジニアへレビューを投げるハードルが低くなる
- Abstractのプロジェクトにディレクターなどチームメンバーも招待すれば、メンバー全員がデザイナーの進捗を把握できるようになる

- みんながもっと仲良くなる😊

**※Figmaはどうなん？**
バージョン管理まで可能なデザインフローを一貫して行えるFigmaですが、前述の通り弊社はデザインシステムの構築やコンポーネント化といった面でSketchをUIツールとして採用しています。プロジェクトの速さやフェーズによってはFigma一本の方が有効な場合もあります。

#さいごに_デザインにみんなを巻き込めばもっと仲良くなれる
まだ標準ツールとして設定して期は浅いのでまだまだ検証中ではありますが、徐々に「あのツールを確認すればわかる」という認識は広がっています。

弊社はAbstractを選びましたが、規模や進め方で違うツールを選んでも**デザインにみんなが自主的に参加でき、把握できる**環境を作る事ができればプロジェクトの風通しが良くなり、結果としてチームの雰囲気も良くなるはずです。
みなさんがよりよいプロダクト開発ができることを願っています。