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

ソフトウェアアーキテクチャについて 語るときに 僕の語ること

ソフトウェアアーキテクチャについて 語るときに 僕の語ること

RyotaNakaya

March 17, 2023
Tweet

More Decks by RyotaNakaya

Other Decks in Technology

Transcript

  1. Software Architecture: It Might Not Be What You Think It

    Is https://www.infoq.com/articles/what-software-architecture/
  2. https://www.infoq.com/articles/what-software-architecture/ Software Architecture: It Might Not Be What You Think

    It Is • Software architecture is about capturing decisions, not describing structure (ソフトウェアアーキテクチャとは、構造を記述することではなく、意思決定を把握すること) • Architecting is a skill that agile teams embody, which means that Architect should not be a role(アーキテクトはアジャイルチームが具現化するスキルであり、役割であってはならない )
  3. https://www.infoq.com/articles/what-software-architecture/ Software Architecture: It Might Not Be What You Think

    It Is • Software architecture is about capturing decisions, not describing structure (ソフトウェアアーキテクチャとは、構造を記述することではなく、意思決定を把握すること) • Architecting is a skill that agile teams embody, which means that Architect should not be a role(アーキテクトはアジャイルチームが具現化するスキルであり、役割であってはならない ) 多くの人のメンタルモデルと違う のでは...?
  4. Architectural Drivers ビジネス制約 Business Constraint 機能要件 Functional Requirement 品質特性 Quality

    Attribute https://peacepipe.toshiville.com/2007/01/4-arch.html 技術制約 Technical Constraint
  5. 変更容易 性 Modifiability Architectural Drivers ビジネス制約 Business Constraint 機能要件 Functional

    Requirement 品質特性 Quality Attribute https://peacepipe.toshiville.com/2007/01/4-arch.html 技術制約 Technical Constraint 性能・速度 Performance 堅牢性 Security 可用性 Availability テスト容易性 Testability 使いやすさ Usability
  6. エンジニアの考える幅 企画 業務 設計 要件 定義 設計 実装 テスト リリ

    ース 保守 運用 マネタイズ マーケット調査 ユーザビリティ
  7. エンジニアの考える幅 企画 業務 設計 要件 定義 設計 実装 テスト リリ

    ース 保守 運用 マネタイズ マーケット調査 ユーザビリティ 組織ビルド
  8. エンジニアの考える幅 企画 業務 設計 要件 定義 設計 実装 テスト リリ

    ース 保守 運用 マネタイズ マーケット調査 ユーザビリティ 組織ビルド 政治 説明責任
  9. エンジニアの考える幅 企画 業務 設計 要件 定義 設計 実装 テスト リリ

    ース 保守 運用 マネタイズ マーケット調査 ユーザビリティ 組織ビルド 政治 説明責任 etc
  10. 求められること • 自分で手を動かして • ビジネスと経営も理解して • 組織のことも考えて • 技術的プラクティスも幅広く探索して →

    スーパーマンでは? → はい ソフトウェアを真面目に正しく育て ていくには必要なロール