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
490
開発者体験から見える技術的負債
合同会社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.8k
Other Decks in Business
See All in Business
(15枚)NotebookLMのスライド生成機能で「絶対達成」「予材管理」「大量行動」の重要性を解説してもらう
nyattx
PRO
0
160
(4枚)PDCAサイクルとOODAループの違いを徹底解説
nyattx
PRO
0
130
PoliPoli_CompanyDeck
polipoli
1
27k
【新卒向け】株式会社リブに興味のある方へ
libinc
0
11k
【SBO勉強会】感謝されるAI活用&ツール導入法
sakiyogoro
1
190
株式会社Oxxx Culture Deck
oxxxinc
0
550
イグニション・ポイント株式会社/採用エントランスBook_2026
ignitionpointhr
2
170k
enechain company deck
enechain
PRO
10
160k
malna-recruiting-pitch
malna
0
14k
採用ピッチ資料
s_kamada
0
260
NewsPicks Expert説明資料 / NewsPicks Expert Introduction
mimir
0
21k
対立を超えてビジネス、開発、顧客が本当に欲しかったものを全両立するプロダクト組織の作り方/trade-off basic rsgt2026
moriyuya
3
6.5k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Visualization
eitanlees
150
17k
Code Reviewing Like a Champion
maltzj
527
40k
Believing is Seeing
oripsolob
1
50
ラッコキーワード サービス紹介資料
rakko
1
2.2M
Rails Girls Zürich Keynote
gr2m
96
14k
WCS-LA-2024
lcolladotor
0
440
Music & Morning Musume
bryan
47
7.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
150
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