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

Design It! is good for architect.

827dbd19908541482bac51ace8b86426?s=47 Dassimen
August 23, 2020

Design It! is good for architect.

827dbd19908541482bac51ace8b86426?s=128

Dassimen

August 23, 2020
Tweet

Transcript

  1. ”Design It!” のすゝめ Aug 22, 2020 | #WESinVR 案件が始まる時、終わる時に読み直したくなる一冊 脱脂綿

    ( @anchor_cable )
  2. #WESinVR 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •

    株式会社ゆめみ ◦ サーバーサイドエンジニア • 新米ソフトウェアアーキテクト ◦ 1つの案件でメインのアーキテクトを担当 ◦ 別案件ではメンバーの1人として口出し役
  3. 3 今日紹介する本 : Design It! #WESinVR タイトル: Design It! プログラマーのためのアーキテクティング入門

    著者: Michael Keeling
  4. 4 アジェンダ Design It! から学んだこと #WESinVR 本を閉じた後に 誰にこの本を勧めたいのか 1 2

    3
  5. 誰にこの本を勧めたいのか 1

  6. 6 誰にこの本を勧めたいのか アーキテクトを指向するITエンジニア よい設計について知識を身に着けてきたが、 どのように実践の場に活かしていくべきなのか悩んでいる人 現場でアーキテクトとして活躍しているが、 上手くいっていないと感じている人 #WESinVR

  7. 7 誰にこの本を勧めたいのか 設計について学ぶ最初の1冊目ではない 抽象度の高い話が続くため、 設計について最初に学ぶにはデザインパターン寄りの本が良い 個人的オススメ↓ • Clean Architecture •

    ドメイン駆動設計入門 • 現場で役立つシステム設計の原則 #WESinVR
  8. Design It! から学んだこと 2

  9. 9 Design It! から学んだこと アーキテクトがやるべきこと • エンジニアリングの観点から問題を定義する • システムを分割し、要素とチームに責任を割り当てる •

    全体に目を向け続け、設計の一貫性を保ち続ける • 品質特性間のトレードオフを決定する • 技術的負債を管理する • チームのアーキテクチャスキルを高める #WESinVR
  10. 10 Design It! から学んだこと アーキテクトがやるべきこと 強く印象に残るふたつについて紹介します • 設計判断を可能な限り先延ばしにする • チームがアーキテクチャを設計できるようにする

    #WESinVR
  11. 11 Design It! から学んだこと 設計判断を可能な限り先延ばしにする 簡単に元に戻せない決定を先延ばしにする事で、変化に対応可能にする また、判断に必要な探求を十分な時間を取って行う #WESinVR ※Design It!

    P.82 図6-1参考
  12. 12 Design It! から学んだこと いつ設計判断を下せばよいのか? • 判断しないことが進捗を妨げるか? • 判断は後回しにできない問題を解決するか? •

    判断はより多くの選択肢や新しい機会を生み出すか? • 判断を遅らせることで、はるかに大きなリスクが発生するか? • 判断の意味を理解し受け入れるか? • 今この判断を下す理由について明確な根拠があるか? • 判断が間違っていた場合に、それを取り消す時間があるか。失敗を許容できる だけのゆとりがあるか? #WESinVR ※Design It! P.96 より抜粋
  13. 13 Design It! から学んだこと チームがアーキテクチャを設計できるようにする 設計をする人がリーダーで、メンバーは設計に従うべきか? あまり最近はそんな仕事の進め方を好んでやる人はいない であればアーキテクトひとりが全ての設計判断をやるのではない メンバーも設計判断に積極的に関与していくべき #WESinVR

  14. 14 Design It! から学んだこと アーキテクトは考え方 メンバー全員がアーキテクチャを設計できるようになると、メンバーのアーキテク チャ設計に対する共同所有の意識は高いものとなる。ソフトウェアはただのシステ ムから自分たちのシステムになる。 (中略) 所有意識の高まりは幸福感を増し、それはソフトウェア開発プロセス全体への関与

    を拡大することに繋がる。そして、共にソフトウェアを設計することで、素晴らし いソフトウェアを出荷する力を何倍にも加速させる。 #WESinVR ※Design It! P.214 より抜粋
  15. 15 Design It! から学んだこと 設計判断をメンバーに移譲していく • ペア設計 • 良い設計と悪い設計の例を紹介する •

    既存の設計についての説明会を行う 設計判断を行う準備のできているメンバーに徐々に権限を移譲していく アーキテクト側がそのように考えられるようメンバーから働きかけていく 積極的に設計判断に関与していく必要がある #WESinVR
  16. 本を閉じた後に 3

  17. 17 本を閉じた後に アーキテクトを実践する ある案件でアーキテクトを担当している チームメンバーへの教育を含めて、できる限りのことを実践中 「アーキテクチャに通知表をつける」という章があり、 落ち着いたらこれを参考にアーキテクチャの振り返りを行う予定 #WESinVR

  18. 18 本を閉じた後に #WESinVR こんな時に読み直す • 案件が始まる前、終わった後 • ソフトウェアアーキテクトとしての自身の働き方 を振り返りたくなった時

  19. 19 まとめ • Design It! はアーキテクチャに興味関心のある人全員にオススメ ◦ アーキテクト志望は必読 • アーキテクトがやるべきこと

    ◦ 曖昧さを保つ ◦ チームがアーキテクチャを設計できるようにする • 定期的に働き方を見直すために読み返す本 #WESinVR
  20. ご清聴ありがとうございました