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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
naQamura
November 20, 2023
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技術負債とソフトウェアアーキテクチャ
naQamura
November 20, 2023
More Decks by naQamura
See All by naQamura
技術負債とデータ構造
na9amura
1
1.8k
想像力の隙間を埋める
na9amura
0
120
開発組織が情報発信の打席に立てる土台を作った一年を振り返る
na9amura
0
2k
アンラーニングを体験しよう
na9amura
2
400
MPA+CSRでMVPを作って継続的に拡張しよう BARフロントえんどう#1
na9amura
0
130
Other Decks in Technology
See All in Technology
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
2.1k
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
4
3.6k
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
2
1.2k
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
360
protovalidate-es を導入してみた
bengo4com
0
160
失敗を資産に変えるClaude Code
shinyasaita
0
230
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
620
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.2k
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
8
4.5k
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
1
1.5k
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
360
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Fireside Chat
paigeccino
42
3.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Odyssey Design
rkendrick25
PRO
2
690
Mobile First: as difficult as doing things right
swwweet
225
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
What's in a price? How to price your products and services
michaelherold
247
13k
Un-Boring Meetings
codingconduct
0
310
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
The Curious Case for Waylosing
cassininazir
1
380
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Transcript
技術負債とソフトウェア アーキテクチャ 技術的負債に向き合う Online Conference ハコベル株式会社 シニアアーキテクト 中村隆宏
中村隆宏 (na9amura) 所属:ハコベル株式会社 (ex ラクスル株式 会社ハコベル事業部) シニアアーキテクト 職歴:SI 系、決済、転職サービスなど 経歴:熊本出身、文化人類学専攻
趣味:旅行、音楽、MMA 自己紹介
ハコベルのプロダクト 取引・業務の 構造的な非効率を改善 物流に関わる人たちを会社を跨いだ コミュニケーションを円滑化 AI 系の技術を活用して 配送効率と業務効率を向上
今回の対象 取引・業務の 構造的な非効率を改善 物流に関わる人たちを会社を跨いだ コミュニケーションを円滑化 AI 系の技術を活用して 配送効率と業務効率を向上
技術負債を 「コミュニケーションの課題」である という切り口で考えてみる
課題1 課題はチーム内で、開発を進める際に発生するもの 例 API スキーマ、データ構造について相互に確認 設計方針についてディスカッション 技術的な共時的コミュニケーション
課題2 現在の自分と過去の自分・チーム間で発生 例 機能追加・拡張時の影響範囲 フレームワークによるJoin, Lazy Load により意図せずパフォーマンス劣化 技術的な通時的コミュニケーション
課題3 ユーザーの課題感・温度感 ↔️ 開発メンバーの理解、開発面の課題 対話をした結果をプロダクトに反映するサイクルが長い 例 操作履歴へのニーズと実装・運用の難易度 ユーザーとの対話
つまり アジャイルソフトウェア開発宣言: https://agilemanifesto.org/iso/ja/manifesto.html このサイクルを回すためのコミ ュニケーションを阻害するもの =技術負債
ハコベルでの取組み 阻害要因を取り除くためにソフトウェアアーキテクチャを重視、設計パターンを いくつか取り入れています
取組み1 :DDD ユーザーと同じ目線で対話しやすい状態 ドメインロジックが副作用から独立 コード自体が理解しやすく変更も加えやすい DDD を通して目指すこと
取組み2 :Event Sourcing 操作履歴、変更履歴をコード上でも重要な要素とする ユーザーが重要と考えるものをコードでも同様に重要なものと捉える Event Sourcing を利用して目指すこと
最後に ユーザーと対話する上で何が重要かを考える 将来の自分達にメッセージを込めたコードを書く ソフトウェアアーキテクチャはその強力な武器になります
THANK YOU 技術的負債に向き合う Online Conference ハコベル株式会社 シニアアーキテクト 中村隆宏