サービスを跨いだ、デザインシステム運用のベストプラクティスとは← Back to Home

サービスを跨いだ、デザインシステム運用のベストプラクティスとは

2021/10/27

楽天が提供するサービスはめちゃめちゃあると思うのだが、デザインルールはどう運用されているかが気になる。

きっと、楽天市場や楽天銀行アプリは同じトンマナで、同じデザインルールで運営されているだろう。

このような環境下で、デザインシステムがしっかり複数サービス・複数プラットフォームで守られ、それを維持するためにどのような仕組みが存在するのか。

マルチプラットフォームのアプローチ

開発の現場では、プラットフォームに応じて技術を使い分ける事がある。 例えばアプリで言うと、iOSアプリはSwift、AndroidアプリはJavaで作るなど。 また、WebはReactで!といった感じ。

このように、ユーザーが利用するプラットフォームが多様化したことで、サービスを提供するプラットフォームに応じて、利用する技術はさまざま。

それ故、複数のプラットフォームに対応したサービス開発には、それぞれのスキルを持った人員が必要になり、時間もかかる。

こうした問題を解決するために、マルチプラットフォーム技術を選択し、iOS・Androidどちらでも一度の開発でサービスが提供できるようにするという選択がある。(GAFAまじ神)

デザインをどう運用するか

AサービスとBサービスでデザインを揃える必要がある場合、デザインシステムを導入するアプローチがある。

デザインシステムでルールを定義することで、各サービスの開発者はその共通のデザインシステムに則って開発を行うことができる。

しかし、これには問題も残るのではないだろうか。それは、デザインシステムに則って開発されているか担保ができないこと。

それぞれのサービスで、人間がデザインチェックを行うことは免れられないのだろうか。

コーディングであれば、テストコードを導入するなどで、ロジックやUIのテストを自動化することが可能。 ある程度、システムの安全性を担保することができる。

デザインの場合は、どのようなシステムで、デザインシステムの担保を行えばいいのだろうか。

目視チェックでは、Aサービスでは変更が反映されているが、Bサービスでは反映されていないというケースが高確率で起こり得るだろう。 これを甘んじて、バックログ的なプロジェクト運用でカバーするのがベターなのだろうか。

エンジニアリングの役割

エンジニアリングの組織論への招待という書籍で、「エンジニアリング」がこう説明されていた。
【エンジニアリング】
 「実現」してくための科学分野
 「曖昧さ」を減らし「具体性・明確さ」を増やす行為
 = いかに効率よく不確実性を減らしていくか(不確実性の削減)

デザインルールが守られているのか不明瞭である状態は、不確実性を持っている。 つまり、これを削減していくのがエンジニアリングですよという話ではないだろうか。

そう解釈して、この課題にアプローチを検討しているのだが、これがなかなか難しい。 情報を集めたり、ツールを調べたり、いろんなトライを行いながらベストプラクティスを見つけていきたい。

この記事では、具体的な答えは出せておらず申し訳ないが、進捗があればまたブログ書きます。

©︎ MINE YUJI