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
チームの設計力を高めるためのTIPS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akkiee76
September 14, 2022
660
0
Share
チームの設計力を高めるためのTIPS
akkiee76
September 14, 2022
More Decks by akkiee76
See All by akkiee76
Graph Art with Charts API – Beyond Data Visualization
akkie76
0
230
Meet the Translation API
akkie76
0
470
コードレビューで開発を加速させるAIコードレビュー
akkie76
1
730
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
6.1k
コードレビューを支援するAI技術の応用
akkie76
5
1.2k
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
9.8k
Jetpack Compose で Adaptive Layout に対応しよう
akkie76
0
1.2k
Observationではじめる値監視
akkie76
4
4.9k
TextField 表示スタイル変更の 有効活用例 5 選
akkie76
0
770
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
Utilizing Notion as your number one productivity tool
mfonobong
4
300
The Pragmatic Product Professional
lauravandoore
37
7.3k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
ミクロ・マクロ設計で設計のポイントを理解しよう チームの設計力を高めるためのTIPS @akkiee76
自己紹介 Akihiko Sato / 株式会社ラクス Lead Engineer / @akkiee76 SaaS
開発 (Backend, Frontend) / Mobile 開発 (iOS, Android) 上流工程、コードレビュー、チームの課題改善など 読書 / コーヒー / HHKB / 腹筋ローラー
今日伝えたいこと 設計はマクロからミクロに視点を移して進めよう!
はじめに 設計って難しくないですか?
はじめに 設計には一定の難易度があると思います。その難易度は、機能の大きさに比例しし ます。なぜなら、設計は といった様々な技能が要求されるからです。 ・システム(プラットフォーム)への知識 ・ドメインの知識 ・言語的理解
課題改善のアクションを実践 流行りの書籍(16章)から次のアクションを実践 ・メモ書き程度からクラス図を作成してみる ・UMLを利用してみる ・チームで設計レビューをしてみる が課題改善に至りませんでした。 仙塲 大也 著「良いコード/悪いコードで学ぶ設計入門」
チームでの設計課題 実際に私が所属しているチームでもこのような課題があります。 ・システム同士の責務関連に悩む ・モデリングがうまくできない ・設計の粒度が分かりにくい/設計の粒度が細かくなってしまう
アクションを実施して分かったこと 改善に至らなかった要因を考察した結果、 ・機能を実装ベースで検討してしまう ・各システム同士の関連性を失念してしまう といった傾向があることが分かりました。
アクションプラン② モデリングの優先度を下げて マクロ設計の優先度を上げてみよう! 傾向が分かったところで、次のアクションを実践することしました。
アクションプラン② 具体的には、 1. システムの超ざっくり設計を考える 2. ざっくり設計をプロセスに細分化する 3. 細分化したプロセスをもう少し細かく設計する(再設計する) というマクロからミクロの視点で設計を進めてみることに。
1. システムの超ざっくり設計を考える まずは、システム全体の連携を ざっくりフローにまとめます。 全体を俯瞰して見ることにより セキュリティやパフォーマンスなどの 設計ポイントを見つけていきます。
2. プロセスに細分化する 次に、ざっくり設計をひとまとまり で実装できそうな粒度で細分化します。 もちろん、直感で OK です!
3. 再設計する 最後に、細分化した設計要件を再設計 していきます。このようにすると、システムに必要な 要件も見えてくると思います。 細分化した各プロセスを再設計(詳細設計) すると、実装イメージも見えてくるでしょう。
マクロ〜ミクロ設計のいいところ このように、システム全体を俯瞰して設計を進めていくと、 必ず設計のポイントが見えてきます。 また、詳細設計を進めていくことで、各クラス同士の関連性や責務が 見えて、気付けばモデリングもできるようになってきます。
まとめ 設計をするときに大切なこと ① いきなりモデリングや詳細設計から入らない ② システム全体の設計を俯瞰する ③ 一定の粒度で設計の細分化を行う 明日からの設計でぜひ実践してみよう!
ご清聴ありがとうございました