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
naQamura
November 20, 2023
Technology
0
170
技術負債とソフトウェアアーキテクチャ
naQamura
November 20, 2023
Tweet
Share
More Decks by naQamura
See All by naQamura
技術負債とデータ構造
na9amura
1
1.7k
想像力の隙間を埋める
na9amura
0
110
開発組織が情報発信の打席に立てる土台を作った一年を振り返る
na9amura
0
1.9k
アンラーニングを体験しよう
na9amura
2
390
MPA+CSRでMVPを作って継続的に拡張しよう BARフロントえんどう#1
na9amura
0
120
Other Decks in Technology
See All in Technology
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
510
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
520
Agent Skils
dip_tech
PRO
0
140
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
340
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
79
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
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 ハコベル株式会社 シニアアーキテクト 中村隆宏