Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発者体験から見える技術的負債
Search
38sawa
June 08, 2023
Business
2
460
開発者体験から見える技術的負債
合同会社DMM.com イノベーション本部オンラインサロン事業部
価値提供スピードを上げるための技術的負債への向き合い方
https://dmm.connpass.com/event/284374/
38sawa
June 08, 2023
Tweet
Share
More Decks by 38sawa
See All by 38sawa
新規事業Meetup MENUS
38sawa
2
2.7k
Other Decks in Business
See All in Business
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.4k
Udyam Registration Portal - MSME Registration Online for Small Businesses in India
udyamr
0
140
Vpon COMPANY DECK(JP)
vpon
PRO
0
630
REVISIO 会社説明
revisio
0
260
Unito_COMPANY DECK_2025
unito
0
540
アジャイル開発組織における KA法実践の意義
hynym
PRO
0
140
アジャイル・スクラム研修2025
pokotyamu
0
270
現場のリサーチ術 基礎編
hynym
PRO
1
180
SSP Company Deck
susstap
0
100
DMM.com アルファ室採用案内資料
dmmcom2025
0
110
アシスト 会社紹介資料
ashisuto_career
3
120k
株式会社BALLAS 会社案内
ballas_inc
0
19k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Visualization
eitanlees
146
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Building Applications with DynamoDB
mza
95
6.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Producing Creativity
orderedlist
PRO
346
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
A better future with KSS
kneath
239
17k
Transcript
© DMM 開発者体験から見える 技術的負債 オンラインサロン事業部 澤 道人
© DMM 自己紹介 2015年入社 2021年08月からオンラインサロン事業部にエンジニアとし て参画 趣味:走ったり、山に登ったり 2 澤 道人
© DMM 今日お話しすること • 技術的負債って? • 実例紹介(どのような機能か) • 開発を進める上でどんな課題があるか? •
なぜこの構成になってる? • 開発はどうやって対応してる? • 今後どうしていきたいか • まとめ 3
© DMM 技術的負債って? 4 • コード負債 • 設計負債 • テスト負債
• 要件負債...etc 開発プロセスの中で生じた課題に対して 簡単な(限定的な)解決策を選択した 結果生み出されるもの 今回は開発を進めている中で良くないな、効率悪いなと感じる部分を実例を見ながらご紹 介します。 時間がかかるより良いアプローチを使用する代わりに、今すぐ簡単な(限定的な)解決策を 選択することで生じる追加の手直しの暗黙のコストを反映したものである(引用元: wikipedia)
© DMM 実例紹介(どのような機能か) 5 オンラインサロン開きたいんです! 運営スタッフ どのようなサロンかをユーザーに伝え て、入会してもらうためのページを作成 してみましょう。 管理画面から入力してみたけど実際の
ユーザーにはどのように見えるんです か? 管理画面から入会ページのプレビュー を見ることができます。 プレビュー機能をご利用ください。 実際の入会ページ 運営スタッフ PC SP サロンオーナー サロンオーナー
© DMM 入会画面に変更が加わると都度、管理画面に取り込む必要性がある 取り込みの手間、処理の変更 開発者体験の悪化 コード管理が分割されているが、 オーナー管理画面からユーザーが利用する入会画面をプレビューとして閲覧してもらいたい。 開発を進める上でどんな課題があるか? 6 前提として、コード管理( gitのリポジトリ)が分割されています。
• オーナーが利用する管理画面 • ユーザーが利用する入会画面 変更内容 ユーザーが利用する入会画面の変更 オーナーが利用する管理画面に取り込み 取り込み時に処理を変更(元データの取得など) HTML/CSS/JS/画像 HTML/CSS/JS/画像 取り込み忘 れがち...
© DMM なぜこの構成になってるのか? 7 開発当時のエンジニアは異動、または退職済みのため分からない。。。 • リリースに向けて時間がなかった • 入会画面に更新が入ると思っていなかった •
コード取り込みなんて簡単だ もしかしたら他に何か理由があったのかもしれない。 分からないことに悩んでも時間が過ぎるだけなので意味はなさそう。
© DMM 1. 取り込み漏れを発生させないために、タスクのテンプレートに以下のチェックを入れている 以下の観点で影響範囲調査を実施したか プレビュー修正要否(入会画面変更時、サロン詳細変更時) 2. 対象画面に変更があった場合はタスクにプレビュー修正タスクを追加 例え入会ページに関係ないタスクでもプレビューのことを一瞬考えなくてはいけない。。。 タスク作成時の体験悪化
現在はどうやって対応してる? 8 • 入会ページの変更があるたびにオーナー管理画面のプレビュー機能に変更を取り込む • 急ぎの変更が入会画面にあると取り込み漏れが発生することもある この課題に向き合うためにやってること
© DMM 少し考えただけでプレビュー機能という単純な言葉の裏にこれだけの要件が出てくる。 開発当初もさまざま検討した結果、現在の解決策を取るしかなかったのかもしれない … 課題の大枠は見えてきたので少しずつ課題を潰して、効率的に開発を進めていきたい。 コードを取り込むのではなく、オーナー管理画面から入会ページを直接参照する仕組みにする? コードの2重管理はなくなりそうだが、他の課題が見つかりそう。 今後どうしていきたいか 9
• 管理画面へのコード取り込みをやめたい ◦ コードの2重管理の廃止 ◦ 取り込み漏れ発生の抑制 ◦ タスク作成時の影響調査の廃止 • 複数の異なるオーナーがいるので他のオーナーのプレビューは見せてはいけない • ユーザーに作りかけのプレビューページを見られたくない(検索エンジンにも) • あくまでプレビューだけで入会ボタンやリンクはクリックできないようにしたい • PC/スマホのプレビューを1画面で切り替えたい
© DMM 技術的負債を残したいエンジニアはいない 要件を決めるときに課題を洗い出そう 限定的な解決策を選ぶと後に響くことはよくあるし、開発者体験を悪化させる • コードを2重管理したいと思っているエンジニアはいない • コードの2重管理は開発者体験を悪化させる(対応コスト、影響範囲の確認 ...etc)
• 要件は単純な言葉でも当たり前の要件が隠れている • 当たり前の要件が課題になって簡単な(限定的な)解決策を選択した可能性がある まとめ 10