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
Design It! is good for architect.
Search
Dassimen
August 23, 2020
Technology
0
130
Design It! is good for architect.
Dassimen
August 23, 2020
Tweet
Share
More Decks by Dassimen
See All by Dassimen
Write code with "Test First"
anchorcable
0
34
Trying AWS Aurora Serverless.
anchorcable
0
220
Dialogue for Design
anchorcable
1
310
How to manage a good work environment
anchorcable
0
110
TDD is not slowly.
anchorcable
1
570
3日坊主でも勉強したい
anchorcable
5
5.7k
今だからこそ分かる報連相 / How to do Hou/Ren/Sou!
anchorcable
0
730
TDD supports us all the time.
anchorcable
0
340
I read Tokumaru book on ABD.
anchorcable
1
97
Other Decks in Technology
See All in Technology
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
180
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
440
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
400
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
3
1.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
200
「魔法少女まどか☆マギカ Magia Exedra」のIPのキャラクターを描くための3Dルック開発
gree_tech
PRO
0
110
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
230
React19.2のuseEffectEventを追う
maguroalternative
2
570
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
110
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
The Cost Of JavaScript in 2023
addyosmani
55
9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building Adaptive Systems
keathley
44
2.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Making Projects Easy
brettharned
120
6.4k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Become a Pro
speakerdeck
PRO
29
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Transcript
”Design It!” のすゝめ Aug 22, 2020 | #WESinVR 案件が始まる時、終わる時に読み直したくなる一冊 脱脂綿
( @anchor_cable )
#WESinVR 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •
株式会社ゆめみ ◦ サーバーサイドエンジニア • 新米ソフトウェアアーキテクト ◦ 1つの案件でメインのアーキテクトを担当 ◦ 別案件ではメンバーの1人として口出し役
3 今日紹介する本 : Design It! #WESinVR タイトル: Design It! プログラマーのためのアーキテクティング入門
著者: Michael Keeling
4 アジェンダ Design It! から学んだこと #WESinVR 本を閉じた後に 誰にこの本を勧めたいのか 1 2
3
誰にこの本を勧めたいのか 1
6 誰にこの本を勧めたいのか アーキテクトを指向するITエンジニア よい設計について知識を身に着けてきたが、 どのように実践の場に活かしていくべきなのか悩んでいる人 現場でアーキテクトとして活躍しているが、 上手くいっていないと感じている人 #WESinVR
7 誰にこの本を勧めたいのか 設計について学ぶ最初の1冊目ではない 抽象度の高い話が続くため、 設計について最初に学ぶにはデザインパターン寄りの本が良い 個人的オススメ↓ • Clean Architecture •
ドメイン駆動設計入門 • 現場で役立つシステム設計の原則 #WESinVR
Design It! から学んだこと 2
9 Design It! から学んだこと アーキテクトがやるべきこと • エンジニアリングの観点から問題を定義する • システムを分割し、要素とチームに責任を割り当てる •
全体に目を向け続け、設計の一貫性を保ち続ける • 品質特性間のトレードオフを決定する • 技術的負債を管理する • チームのアーキテクチャスキルを高める #WESinVR
10 Design It! から学んだこと アーキテクトがやるべきこと 強く印象に残るふたつについて紹介します • 設計判断を可能な限り先延ばしにする • チームがアーキテクチャを設計できるようにする
#WESinVR
11 Design It! から学んだこと 設計判断を可能な限り先延ばしにする 簡単に元に戻せない決定を先延ばしにする事で、変化に対応可能にする また、判断に必要な探求を十分な時間を取って行う #WESinVR ※Design It!
P.82 図6-1参考
12 Design It! から学んだこと いつ設計判断を下せばよいのか? • 判断しないことが進捗を妨げるか? • 判断は後回しにできない問題を解決するか? •
判断はより多くの選択肢や新しい機会を生み出すか? • 判断を遅らせることで、はるかに大きなリスクが発生するか? • 判断の意味を理解し受け入れるか? • 今この判断を下す理由について明確な根拠があるか? • 判断が間違っていた場合に、それを取り消す時間があるか。失敗を許容できる だけのゆとりがあるか? #WESinVR ※Design It! P.96 より抜粋
13 Design It! から学んだこと チームがアーキテクチャを設計できるようにする 設計をする人がリーダーで、メンバーは設計に従うべきか? あまり最近はそんな仕事の進め方を好んでやる人はいない であればアーキテクトひとりが全ての設計判断をやるのではない メンバーも設計判断に積極的に関与していくべき #WESinVR
14 Design It! から学んだこと アーキテクトは考え方 メンバー全員がアーキテクチャを設計できるようになると、メンバーのアーキテク チャ設計に対する共同所有の意識は高いものとなる。ソフトウェアはただのシステ ムから自分たちのシステムになる。 (中略) 所有意識の高まりは幸福感を増し、それはソフトウェア開発プロセス全体への関与
を拡大することに繋がる。そして、共にソフトウェアを設計することで、素晴らし いソフトウェアを出荷する力を何倍にも加速させる。 #WESinVR ※Design It! P.214 より抜粋
15 Design It! から学んだこと 設計判断をメンバーに移譲していく • ペア設計 • 良い設計と悪い設計の例を紹介する •
既存の設計についての説明会を行う 設計判断を行う準備のできているメンバーに徐々に権限を移譲していく アーキテクト側がそのように考えられるようメンバーから働きかけていく 積極的に設計判断に関与していく必要がある #WESinVR
本を閉じた後に 3
17 本を閉じた後に アーキテクトを実践する ある案件でアーキテクトを担当している チームメンバーへの教育を含めて、できる限りのことを実践中 「アーキテクチャに通知表をつける」という章があり、 落ち着いたらこれを参考にアーキテクチャの振り返りを行う予定 #WESinVR
18 本を閉じた後に #WESinVR こんな時に読み直す • 案件が始まる前、終わった後 • ソフトウェアアーキテクトとしての自身の働き方 を振り返りたくなった時
19 まとめ • Design It! はアーキテクチャに興味関心のある人全員にオススメ ◦ アーキテクト志望は必読 • アーキテクトがやるべきこと
◦ 曖昧さを保つ ◦ チームがアーキテクチャを設計できるようにする • 定期的に働き方を見直すために読み返す本 #WESinVR
ご清聴ありがとうございました