クラスメソッドの最新開発ノウハウを学ぶ勉強会 @岡山の登壇資料です。
Figmaにおける デザインのバージョン管理クボキ ヒロシ2023/7/29 sat.CX事業本部 Delivery部 デザインチームProfessionalプランでブランチ管理みたいなことをやってみた
View Slide
CX 事業本部 Delivery 部 デザインチームデザイナークボキ ヒロシ2
3バージョン管理は突然に
4プロジェクトの引き継ぎ
リリースから2年程経過した⾃社サービス5
• 進め⽅はカンバン⽅式• デザインは機能(画⾯)ごとにページ分割• バージョン管理はなんとなく運⽤• 遷移図はCacooで管理6
デザインの運⽤7
• 機能ごとにページ内で複製して編集• リリースされたらマージ• Cacoo(遷移図)を更新8
9バージョン管理 V1
リリースのタイミングで バージョン保存10nnnver 1.23.0ver 1.22.0ver 1.21.0ver 1.21.1n
11Version History
⾃動的に履歴が保存される1230分のアイドルがあるとスナップショットを作成
13任意のタイミングで名前をつけて保存可能⾃動保存版に名前付けも可
14復元コメントは現⾏のまま残る(コメントは復元不可)
15特定バージョンから複製過去の履歴にはアクセス不可n
16運⽤してみて感じた問題点
関係性が⾒えづらい17問題点
• ユーザーストーリーベースのIssue• 変更が複数画⾯に及ぶことがあり忘れる18
Featureが混ざるとページがカオス19問題点
• 同じ箇所を別Issueで改修(2段階リリースとかで)• 同ページに同じようなものが増殖してわかりづらい20
Cacoo21問題点
• なんで分かれてるんや…22
23バージョン管理 V2
24デザイン 遷移図
遷移図もバージョン管理したかった25なぜツールが分かれているのか?
Team Library周りで問題発⽣…?26Version Historyを使えばいいのでは?
27Team Libraryを使っていても 保存時点の状態を保持できる問題だったことが解消されている…?nnsl
28🎉
Gitみたいにバージョン管理できないかな?29
Gitみたいに?30
ブランチ戦略的なやつ31main feature1 feature2
おぉっ?32Branching and mergingcFigma Organization
¥6,750 per editor/month33(⾼い)
さすがにちょっと使いたい、 で試せる⾦額ではなかった34
35先⼈の知恵
36https://note.com/smikami/n/ne2511e1113b3
• 最新版をまとめたmainページ• Featureごとにページ作成(ブランチ)• DevReadyになったら FeatureブランチをDevブランチに名前変更• リリースされたらmainへマージ37
38やったこと
ページを統合39✅ mainStoresProductsCampaignSalesCustomer
プロトタイピングを設定40nnnn
GitHubのIssueベースでページを作成41g #256Ultra features🚧 Ultra features #256Pages
Issueが正なのでDevブランチ運⽤はせず42
43• マージ前にPRとしてバージョン保存• マージ後にさらにバージョン保存リリースのタイミングでマージ
44結果
45⾒通しがよくなった(エンジニアにも好評)よかった
46差分取り込みを忘れる問題点
47テキストフィールドFeature1 Feature2テキストフィールド追加されたセレクトボックスc チェックボックスc チェックボックスaSelect box…追加されたテキストフィールド
遷移図とプロトタイピングの共存が難しい48UI Stackをどう表現するか問題点
49バージョン管理 V3
50差分の更新し忘れをどうにかしたい
51変更箇所をとりあえずコンポーネント化少し範囲を広げてコンポーネント化する
52テキストフィールドc チェックボックス追加されたセレクトボックスaSelect box…Issue#
53Booleanプロパティで表⽰を切り替えプロパティ名にIssue#を⼊れ、mainでは⾮表⽰、ブランチでは表⽰
54テキストフィールドc チェックボックスvBoolean: falseテキストフィールドc チェックボックス追加されたセレクトボックスaSelect box…✅ main 🚧 Ultra feature #256vBoolean: true
55テキストフィールドc チェックボックス追加されたセレクトボックスaSelect box…追加されたテキストフィールドv#1 Booleanv#2 Boolean
マージされたらコンポーネントを解除or Booleanプロパティを削除56
57結果
58並⾏作業でも差分取り込みを忘れなくなったよかった
編集はメインコンポーネントをいじらなければならない59ブランチページに置いて編集するのが今のところベター?課題
コンポーネント化したときにコピペを忘れる60ステータス違いの画⾯など、同⼀の箇所で課題
マージは相変わらずめんどい61課題
62採⽤しなかった案
63ページでバージョン管理
• バージョンごとにページを作成する64
• カンバン⽅式のため、同じ箇所を異なるブランチで 編集する問題が解決できない(複雑になる)• ページ毎に全画⾯あるため重い65
66ファイルでバージョン管理
• バージョンごとにファイルを作成する67
• ファイルが無限増殖する• 共有時のURLどうする• 同じ箇所‧別ブランチ問題68
69まとめ
Organization Plan使いたい…!70
• GitHub Flowをベースにページをブランチとして利⽤• 差分はコンポーネント化+Booleanプロパティ• リリースごとにPRとマージの2バージョン保存71
Thank you for listening!72