Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発者体験から見える技術的負債

38sawa
June 08, 2023

 開発者体験から見える技術的負債

合同会社DMM.com イノベーション本部オンラインサロン事業部

価値提供スピードを上げるための技術的負債への向き合い方
https://dmm.connpass.com/event/284374/

38sawa

June 08, 2023
Tweet

More Decks by 38sawa

Other Decks in Business

Transcript

  1. © DMM 今日お話しすること • 技術的負債って? • 実例紹介(どのような機能か) • 開発を進める上でどんな課題があるか? •

    なぜこの構成になってる? • 開発はどうやって対応してる? • 今後どうしていきたいか • まとめ 3
  2. © DMM 技術的負債って? 4 • コード負債 • 設計負債 • テスト負債

    • 要件負債...etc 開発プロセスの中で生じた課題に対して 簡単な(限定的な)解決策を選択した 結果生み出されるもの 今回は開発を進めている中で良くないな、効率悪いなと感じる部分を実例を見ながらご紹 介します。 時間がかかるより良いアプローチを使用する代わりに、今すぐ簡単な(限定的な)解決策を 選択することで生じる追加の手直しの暗黙のコストを反映したものである(引用元: wikipedia)
  3. © DMM 実例紹介(どのような機能か) 5 オンラインサロン開きたいんです! 運営スタッフ どのようなサロンかをユーザーに伝え て、入会してもらうためのページを作成 してみましょう。 管理画面から入力してみたけど実際の

    ユーザーにはどのように見えるんです か? 管理画面から入会ページのプレビュー を見ることができます。 プレビュー機能をご利用ください。 実際の入会ページ 運営スタッフ PC SP サロンオーナー サロンオーナー
  4. © DMM    入会画面に変更が加わると都度、管理画面に取り込む必要性がある    取り込みの手間、処理の変更   開発者体験の悪化    コード管理が分割されているが、    オーナー管理画面からユーザーが利用する入会画面をプレビューとして閲覧してもらいたい。 開発を進める上でどんな課題があるか? 6 前提として、コード管理( gitのリポジトリ)が分割されています。

    • オーナーが利用する管理画面 • ユーザーが利用する入会画面 変更内容 ユーザーが利用する入会画面の変更 オーナーが利用する管理画面に取り込み 取り込み時に処理を変更(元データの取得など) HTML/CSS/JS/画像 HTML/CSS/JS/画像 取り込み忘 れがち...
  5. © DMM なぜこの構成になってるのか? 7 開発当時のエンジニアは異動、または退職済みのため分からない。。。 • リリースに向けて時間がなかった • 入会画面に更新が入ると思っていなかった •

    コード取り込みなんて簡単だ    もしかしたら他に何か理由があったのかもしれない。    分からないことに悩んでも時間が過ぎるだけなので意味はなさそう。
  6. © DMM    少し考えただけでプレビュー機能という単純な言葉の裏にこれだけの要件が出てくる。    開発当初もさまざま検討した結果、現在の解決策を取るしかなかったのかもしれない …    課題の大枠は見えてきたので少しずつ課題を潰して、効率的に開発を進めていきたい。    コードを取り込むのではなく、オーナー管理画面から入会ページを直接参照する仕組みにする?    コードの2重管理はなくなりそうだが、他の課題が見つかりそう。 今後どうしていきたいか 9

    • 管理画面へのコード取り込みをやめたい ◦ コードの2重管理の廃止 ◦ 取り込み漏れ発生の抑制 ◦ タスク作成時の影響調査の廃止 • 複数の異なるオーナーがいるので他のオーナーのプレビューは見せてはいけない • ユーザーに作りかけのプレビューページを見られたくない(検索エンジンにも) • あくまでプレビューだけで入会ボタンやリンクはクリックできないようにしたい • PC/スマホのプレビューを1画面で切り替えたい