$30 off During Our Annual Pro Sale. View Details »

ユーザーファーストを実現するためのチーム開発の工夫

 ユーザーファーストを実現するためのチーム開発の工夫

Avatar for ディップ株式会社

ディップ株式会社 PRO

December 14, 2025
Tweet

More Decks by ディップ株式会社

Transcript

  1. 春⽊ 渚咲 Haruki Nagisa 好きなこと ⾷べることと 楽器を演奏すること ディップ株式会社 ソリューション開発本部メディア開発統括部 Flutterエンジニア

    / iOSエンジニア 新卒でディップに⼊社 3年⽬ iOSエンジニアとしてバイトル‧バイトルNEXT 現在はFlutterでスポットバイトルを開発
  2. 01 ユーザーファーストを実現するために ⼩さく早く開発するためにやっていること その1 02 プルリクエストの工夫 ⼩さく早く開発するためにやっていること その2 03 ブランチ運用の工夫

    ⼩さく早く開発するためにやっていること その3 04 テストコードを書く ⼩さく早く開発するために取り組みたいこと その4 05 デザインシステムの導入 Agenda
  3. ユーザーファーストを実現するにあたってやっていること Copyright © dip Corporation, All rights reserved. • この機能は本当にユーザーが働く上で幸せか?

    • そもそもこの機能は必要か? • ユーザーに理解しやすく使いやすいデザインになっているか? • この機能を実現するために⼀番簡単にシンプルに作れる⽅法はない か? • 迷った時は⼀番拡張性のある⽅法で実装してリリースし、実際にユー ザーにどう使われているか計測して考えたり
  4. ⼩さく早く開発するためにやっていること その1 Copyright © dip Corporation, All rights reserved. 計測はFindy

    Team+というツールを使っていて、 エンジニア組織の開発⽣産性が優れた組織としてFindy Team Award 2025を受賞
  5. ⼩さく早く開発するためにやっていること その2 • ⻑期で開発する施策があると、リリースブランチも⻑期間存在す ることになる Copyright © dip Corporation, All

    rights reserved. • 並⾏して動いている別のリリースブランチと差分がうまれて、ブ ランチをマージ(=合流)する際にコンフリクト(=競合)しやす くなってしまう 以前はリリースごとに、リリースする資材をブランチに分けて管 理していました
  6. ⼩さく早く開発するためにやっていること その2 トランクベース開発とは コードの変更の単位を⼩さく分割し(プルリクエスト)、頻繁 にmainブランチにマージする開発⽅法 Copyright © dip Corporation, All

    rights reserved. • 開発途中の機能やまだ公開しない予定の機能もmainブラン チにマージしてリリースする • するとまだ公開したくないの機能もリリースの資材に含ま れてしまうので、機能をON/OFFするフラグが必要
  7. ⼩さく早く開発するためにやっていること その2 すると Copyright © dip Corporation, All rights reserved.

    • ブランチ管理がシンプルになり理解しやすい • コンフリクトの解消作業がなくなり、素早く開発やリ リースができる • 公開したばかりの機能にインパクトが⼤きいバグが起き た時に、いち早く⾮公開にできる
  8. デザインシステムとは • 再利⽤可能なUIパーツ(コンポーネント) Copyright © dip Corporation, All rights reserved.

    • デザインの標準のルール ⼩さく早く開発するために取り組みたいこと その4 • 共通で使うまとまり
  9. さいごに Copyright © dip Corporation, All rights reserved. まとめ •

    ユーザーファーストを実現するために ◦ なぜこの機能が必要なのか ◦ どう実現していくか チームで⼀緒に話し合って考える ユーザーの声を聞く
  10. さいごに Copyright © dip Corporation, All rights reserved. まとめ •

    ⼩さく早く開発するために ◦ 粒度を⼩さく分割して開発を進める ◦ ブランチ運⽤をシンプルにする ◦ テストコード、スクリーンショットテストを書いて⾃動化 する ◦ デザインシステムを導⼊する