SlideShare a Scribd company logo
Submit Search
Upload
アーキテクチャのレビューについて - JaSST Review '18
Report
Share
Yusuke Suzuki
IT Architect at グロース・アーキテクチャ&チームス株式会社
Follow
•
37 likes
•
14,847 views
1
of
49
アーキテクチャのレビューについて - JaSST Review '18
•
37 likes
•
14,847 views
Report
Share
Download Now
Download to read offline
Technology
2018年12月14日に行われたJaSST Review'18(ソフトウェアレビューシンポジウム 2018)での講演「アーキテクチャのレビューについて」の資料です
Read more
Yusuke Suzuki
IT Architect at グロース・アーキテクチャ&チームス株式会社
Follow
Recommended
フロー効率性とリソース効率性について #xpjug by
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
106.1K views
•
62 slides
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善 by
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki
528 views
•
20 slides
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料) by
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
3.8K views
•
68 slides
マイクロサービスに至る歴史とこれから - XP祭り2021 by
マイクロサービスに至る歴史とこれから - XP祭り2021
Yusuke Suzuki
23.8K views
•
76 slides
世界一わかりやすいClean Architecture by
世界一わかりやすいClean Architecture
Atsushi Nakamura
47.1K views
•
77 slides
AWSのログ管理ベストプラクティス by
AWSのログ管理ベストプラクティス
Akihiro Kuwano
77.2K views
•
57 slides
More Related Content
What's hot
はじめてのElasticsearchクラスタ by
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
39.4K views
•
63 slides
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス by
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
56.6K views
•
64 slides
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割 by
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
15.1K views
•
82 slides
3分でわかるAzureでのService Principal by
3分でわかるAzureでのService Principal
Toru Makabe
30.5K views
•
14 slides
KeycloakでAPI認可に入門する by
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
3.6K views
•
49 slides
アジャイルにモデリングは必要か by
アジャイルにモデリングは必要か
Hiromasa Oka
11.6K views
•
58 slides
What's hot
(20)
はじめてのElasticsearchクラスタ by Satoyuki Tsukano
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
•
39.4K views
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス by Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
•
56.6K views
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割 by Recruit Lifestyle Co., Ltd.
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
•
15.1K views
3分でわかるAzureでのService Principal by Toru Makabe
3分でわかるAzureでのService Principal
Toru Makabe
•
30.5K views
KeycloakでAPI認可に入門する by Hitachi, Ltd. OSS Solution Center.
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
•
3.6K views
アジャイルにモデリングは必要か by Hiromasa Oka
アジャイルにモデリングは必要か
Hiromasa Oka
•
11.6K views
ぱぱっと理解するSpring Cloudの基本 by kazuki kumagai
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
•
19.8K views
Dockerfile を書くためのベストプラクティス解説編 by Masahito Zembutsu
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
•
84.4K views
エンジニアの個人ブランディングと技術組織 by Takafumi ONAKA
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
•
23.3K views
第45回elasticsearch勉強会 BERTモデルを利用した文書分類 by shinhiguchi
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
shinhiguchi
•
671 views
ソフトウェア開発における『知の高速道路』 by Yoshitaka Kawashima
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
•
20.2K views
なぜ「マイクロサービス“化”」が必要なのか by Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
•
28K views
アジャイル開発を支えるアーキテクチャ設計とは by Yusuke Suzuki
アジャイル開発を支えるアーキテクチャ設計とは
Yusuke Suzuki
•
26.9K views
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022 by Yusuke Suzuki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
Yusuke Suzuki
•
1K views
グルーミングしながら進めるプロダクト開発 by Takafumi ONAKA
グルーミングしながら進めるプロダクト開発
Takafumi ONAKA
•
11.8K views
イベント・ソーシングを知る by Shuhei Fujita
イベント・ソーシングを知る
Shuhei Fujita
•
31K views
RDRAモデリングを見てみよう by Zenji Kanzaki
RDRAモデリングを見てみよう
Zenji Kanzaki
•
2K views
マイクロにしすぎた結果がこれだよ! by mosa siru
マイクロにしすぎた結果がこれだよ!
mosa siru
•
132.6K views
マイクロサービス 4つの分割アプローチ by 増田 亨
マイクロサービス 4つの分割アプローチ
増田 亨
•
41.4K views
Azure Search 大全 by Daiyu Hatakeyama
Azure Search 大全
Daiyu Hatakeyama
•
7.4K views
Similar to アーキテクチャのレビューについて - JaSST Review '18
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016 by
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
Yusuke Suzuki
23.7K views
•
76 slides
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall by
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
24.7K views
•
56 slides
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に by
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
38.2K views
•
40 slides
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは? by
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
CASAREAL, Inc.
1.1K views
•
38 slides
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会 by
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Yusuke Suzuki
8.5K views
•
66 slides
要求の変化とマイクロサービスアーキテクチャ by
要求の変化とマイクロサービスアーキテクチャ
Yusuke Suzuki
7.4K views
•
58 slides
Similar to アーキテクチャのレビューについて - JaSST Review '18
(20)
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016 by Yusuke Suzuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
Yusuke Suzuki
•
23.7K views
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall by Yusuke Suzuki
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
•
24.7K views
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に by Yusuke Suzuki
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
•
38.2K views
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは? by CASAREAL, Inc.
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
CASAREAL, Inc.
•
1.1K views
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会 by Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Yusuke Suzuki
•
8.5K views
要求の変化とマイクロサービスアーキテクチャ by Yusuke Suzuki
要求の変化とマイクロサービスアーキテクチャ
Yusuke Suzuki
•
7.4K views
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1 by Yusuke Suzuki
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
Yusuke Suzuki
•
10.1K views
ウォーターフォールとアジャイルを考える #ita_ws by Yusuke Suzuki
ウォーターフォールとアジャイルを考える #ita_ws
Yusuke Suzuki
•
16.7K views
クラウド時代のエンジニアについて #sesfukui by Yusuke Suzuki
クラウド時代のエンジニアについて #sesfukui
Yusuke Suzuki
•
9.5K views
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー by Yusuke Suzuki
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
Yusuke Suzuki
•
9.2K views
マイクロサービスアーキテクチャとは何か by Yusuke Suzuki
マイクロサービスアーキテクチャとは何か
Yusuke Suzuki
•
66K views
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ by Yusuke Suzuki
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
Yusuke Suzuki
•
1.3K views
エンタープライズアジャイルを阻む組織やプロセスと、その処方 by Graat(グラーツ)
エンタープライズアジャイルを阻む組織やプロセスと、その処方
Graat(グラーツ)
•
653 views
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016 by Yusuke Suzuki
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
Yusuke Suzuki
•
4.9K views
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC] by Yusuke Suzuki
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
Yusuke Suzuki
•
4.5K views
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023 by Yusuke Suzuki
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
Yusuke Suzuki
•
2.5K views
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版) by Yasuharu Nishi
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
•
20.1K views
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~ by Yusuke Suzuki
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
Yusuke Suzuki
•
11.9K views
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011 by Yusuke Suzuki
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
Yusuke Suzuki
•
6.1K views
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP by Yusuke Suzuki
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
Yusuke Suzuki
•
8.6K views
More from Yusuke Suzuki
Javaとコミュニティの歩み 2020 by
Javaとコミュニティの歩み 2020
Yusuke Suzuki
4.6K views
•
32 slides
エンタプライズ領域のアジャイル開発の課題 - FIT2020 by
エンタプライズ領域のアジャイル開発の課題 - FIT2020
Yusuke Suzuki
1.7K views
•
27 slides
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏 by
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
Yusuke Suzuki
4.3K views
•
36 slides
エンタープライズ、アーキテクチャ、アジャイルのこれから by
エンタープライズ、アーキテクチャ、アジャイルのこれから
Yusuke Suzuki
16.9K views
•
38 slides
Javaはコミュニティの力で再び偉大になれるのか by
Javaはコミュニティの力で再び偉大になれるのか
Yusuke Suzuki
6.2K views
•
41 slides
Javaのカルチャーとグロース - MANABIYA 2018 by
Javaのカルチャーとグロース - MANABIYA 2018
Yusuke Suzuki
9.9K views
•
45 slides
More from Yusuke Suzuki
(16)
Javaとコミュニティの歩み 2020 by Yusuke Suzuki
Javaとコミュニティの歩み 2020
Yusuke Suzuki
•
4.6K views
エンタプライズ領域のアジャイル開発の課題 - FIT2020 by Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
Yusuke Suzuki
•
1.7K views
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏 by Yusuke Suzuki
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
Yusuke Suzuki
•
4.3K views
エンタープライズ、アーキテクチャ、アジャイルのこれから by Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
Yusuke Suzuki
•
16.9K views
Javaはコミュニティの力で再び偉大になれるのか by Yusuke Suzuki
Javaはコミュニティの力で再び偉大になれるのか
Yusuke Suzuki
•
6.2K views
Javaのカルチャーとグロース - MANABIYA 2018 by Yusuke Suzuki
Javaのカルチャーとグロース - MANABIYA 2018
Yusuke Suzuki
•
9.9K views
JJUG初心者のためのJava/JJUG講座 by Yusuke Suzuki
JJUG初心者のためのJava/JJUG講座
Yusuke Suzuki
•
8.1K views
ITトレンドに見る日本のエンタープライズITについて by Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
Yusuke Suzuki
•
35.3K views
エナジャイル設立によせて by Yusuke Suzuki
エナジャイル設立によせて
Yusuke Suzuki
•
2.3K views
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017 by Yusuke Suzuki
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
Yusuke Suzuki
•
28.7K views
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016 by Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
Yusuke Suzuki
•
9.9K views
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー by Yusuke Suzuki
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
Yusuke Suzuki
•
17.5K views
JavaOne 2016総括 #jjug by Yusuke Suzuki
JavaOne 2016総括 #jjug
Yusuke Suzuki
•
21.8K views
JavaとOSSとAndroid - JavaAPI訴訟問題を考える by Yusuke Suzuki
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
Yusuke Suzuki
•
4.6K views
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016 by Yusuke Suzuki
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
Yusuke Suzuki
•
7.4K views
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演 by Yusuke Suzuki
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
Yusuke Suzuki
•
10.4K views
Recently uploaded
さくらのひやおろし2023 by
さくらのひやおろし2023
法林浩之
94 views
•
58 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdf
icebreaker4
287 views
•
13 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門
mkoda
301 views
•
15 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
97 views
•
64 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
51 views
•
29 slides
JJUG CCC.pptx by
JJUG CCC.pptx
Kanta Sasaki
6 views
•
14 slides
Recently uploaded
(11)
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023
法林浩之
•
94 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdf
icebreaker4
•
287 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門
mkoda
•
301 views
定例会スライド_キャチs 公開用.pdf by Keio Robotics Association
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
•
97 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
•
51 views
JJUG CCC.pptx by Kanta Sasaki
JJUG CCC.pptx
Kanta Sasaki
•
6 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
18 views
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdf
nanamatsuo
•
16 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development site
Atomu Hidaka
•
80 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
•
104 views
IPsec VPNとSSL-VPNの違い by 富士通クラウドテクノロジーズ株式会社
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
•
328 views
アーキテクチャのレビューについて - JaSST Review '18
1.
アーキテクチャのレビューについて 2018/12/14 鈴木雄介 Graat 代表 日本Javaユーザーグループ 会長 ソフトウェアレビューシンポジウム JaSST
Review'18
2.
自己紹介 鈴木雄介 • Graat(グラーツ) » グロース・アーキテクチャ&チームス株式会社 »
代表取締役 社長 » http://www.graat.co.jp/ • 日本Javaユーザーグループ » 会長 » http://www.java-users.jp/ • SNS » http://arclamp.hatenablog.com/ » @yusuke_arclamp 1
3.
アジェンダ • アーキテクチャとは • アーキテクチャの役割 •
アーキテクチャ設計レビュー • アーキテクチャ設計レビューの難しさ • まとめ 2
4.
アーキテクチャとは 3
5.
アーキテクチャとは 定義 • architecture 〈of
a system〉 »ある環境におけるシステムの基本的な概念や性質のことであり、 そのシステムの要素と関係、そして、設計と進化の原則が具現さ れている ▸ISO/IEC/IEEE 42010 ▸http://www.iso-architecture.org/ ▸参考:All about ISO/IEC/IEEE 42010 (r5) 4
6.
アーキテクチャとは システムの要素と関係性 • システムは複数のコンポーネントの組み合わせで成立する »コンポーネント:部品、特定の機能を果たす単位 • システムが1.どのようなコンポーネントで構成され
2.それ らがどのように連携するのか? 5 コンポーネント コンポーネント コンポーネント
7.
アーキテクチャとは アーキテクチャのレベル感 • 様々なレベルにおいて要素と関係性が存在する »企業全体システム »企業内/システム間 »システム内/サービス間 »サービス内/フレームワーク »コード 6
8.
アーキテクチャとは システムの要素と統合の方針 • システムの目的にあわせ、 • システムをどのような要素で構成し、それらの要素をどの ように連携させるのか »将来的な変更に対して、どのように対応するのか? •
を示した方針 7
9.
アーキテクチャ設計とは 定義 • architecting »システムのライフサイクルを通じて、アーキテクチャを適切に実 装、保守、改善することを想起、定義、表現、文書化、伝達、証 明するプロセス ▸ISO/IEC/IEEE 42010 ▸http://www.iso-architecture.org/ ▸参考:All
about ISO/IEC/IEEE 42010 (r5) 8
10.
アーキテクチャの役割 9
11.
アーキテクチャの役割 現代的なシステム開発 • 機能を実現する手段が沢山ある »言語、OSSライブラリ、商用製品、クラウドサービス… ▸かつ、各コンポーネントは常に進化している • 他システム連携も増えている •
環境の変化スピードが早い »新しい機能が欲しい、ユーザーが増えていく 10
12.
アーキテクチャの役割 組み合わせでシステムを作る時代 • 「巨大でモノリシックなシステム」ではなく「適度に分割 され、入れ替え可能なシステム」 »進化が進んでいくとマイクロサービス • アーキテクチャが重要に! »システムの分割と統合の方針がライフサイクルを通じた根幹 11
13.
12 良いアーキテクチャとは何か?
14.
アーキテクチャの役割 良さを非機能で判断する • 機能実現は前提として非機能を重視すべき »非機能を中心としたシステム評価 • どのような組み合わせが適切に非機能を実現するのか? »「保守性」「性能」「可用性」「セキュリティ」「使用性」… »特に他システムやクラウドのような「非機能を伴うコンポーネン ト」の扱いが重要になる 13
15.
アーキテクチャの役割 非機能が保証されないと… • リリース時点で問題がなくてもライフサイクルの中で »複雑さによる保守性悪化 »性能劣化や階層障害の発生 »部分的な機能停止がシステム全体の停止を招く »ユーザービリティの限界 »… 14
16.
アーキテクチャの役割 アーキテクチャがシステムの非機能を保証する • アーキテクチャをきちんと設計されればライフサイクルを 通じて適切に機能が提供できるようになる »最初に方針を定めることが重要 • アーキテクチャの評価は「非機能の適切さ」で評価可能 »単体の品質ではなく、組み合わせて想定通りに動くのか? 15
17.
アーキテクチャ設計レビュー 16
18.
アーキテクチャ設計レビュー アーキテクチャ設計のレビュー • アーキテクチャの設計工程でレビューを適切に行う »アーキテクチャ評価まで行ってから気付いても遅いので 17 要件定義 実装&テスト システムテスト アーキテクチャ 評価 要求/企画 アーキテクチャ 設計 本日は、ここの話
19.
アーキテクチャ設計 アーキテクチャ設計レビュー 設計プロセスと成果物 18 アーキテクチャ方針書 その他の 利害関係者 1.ビジネス要件を理解する ビジネス 要件 アクター一覧 ユースケース図 2.非機能要件を定義する 非機能要件定義 構成案図3.構成を検討する 評価シート4.構成を評価する ビジネス要件 サマリ レビュー① レビュー②
20.
アーキテクチャ設計レビュー 2つの観点 • ①非機能要件の定義 »そのシステムに求められる非機能要件を定義する • ②構成案の評価 »構成案が非機能要件を適切に満たすのかを評価する 19
21.
アーキテクチャ設計レビュー ①非機能要件を定義する • 非機能要件として整理を行う »様々な非機能定義がある ▸例:経産省が提供するソフトウェアの品質メトリクスセット ✓ http://www.meti.go.jp/policy/it_policy/softseibi/#p01 ▸例:IPAが提供する非機能要求グレード ✓
https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html »これが正解、というのは存在しないので自分で使いやすいリファ レンスを持っていると便利 20
22.
アーキテクチャ設計レビュー ①非機能要件を定義する - 機能適合性 •
ビジネスチームとの調整になる可能性が高い項目 »非機能的な「すぐに」「早く」「確実に」などについては、なぜ その要件が必要なのかを確認する »ステップ案などで段階的に改善できることを示すのもよい • 基本的には技術的制約を前提にする »技術に無理をさせると保守性が下がることが多い »「できない」というよりは「コストが高い」という説明を 21
23.
アーキテクチャ設計レビュー ①非機能要件を定義する -性能効率性/可用性 • クラウド/仮想化によって柔軟になった項目 »ただし、いまだにレガシー環境はあるので気は抜かないこと •
キャパシティプランニングは時間軸を意識する »インフラを変更する時間軸(作業時間/費用確保時間)で考える ▸3ヶ月で可能なら3ヶ月、1年ごとなら1年後、5年ごとなら5年後を考える »ビジネス側の要求精度は確認する ▸キャパシティが足りないのは問題だが、多すぎるのもエコではない 22
24.
アーキテクチャ設計レビュー ①非機能要件を定義する -セキュリティ • 最初に関連部署と関連法令の確認を行うこと »あとからセキュリティ関連の考え方が変わるのは厳しい •
考えることが多岐にわたるため、どこの話かを整理する »認証認可 »データの保護(ストレージ、ネットワーク) »不正アクセスやアタックへの対策、監査、監視 23
25.
アーキテクチャ設計レビュー ①非機能要件を定義する -使用性 • 社内向けかコンシューマー向けでポイントが異なる »社内向けは「必要十分」 »コンシューマー向けは「差別化要素」 •
特にスマホやデバイスを利用する場合は注意が必要 »使用性確保のために技術的な制約が出る可能性がある • マニュアル整備なども意識するとよい 24
26.
アーキテクチャ設計レビュー ①非機能要件を定義する -保守性/移植性 • ライフタイムコストに影響するため、とても重要 »特にテスト性を高めるのは有効 »システム連携において独立したスケジュールでテストができるか どうかは大きな違い •
ログ~監視の流れは標準化が必要 • 複数環境は意識する »ローカル、開発、検証、ステージング、本番 25
27.
アーキテクチャ設計レビュー ①非機能要件を定義する – レビュー観点 •
システムに対して適切に設定されているか? »非機能的に抜けもれがないか? ▸意図的な抜けもれも含めて明示することが大事 »将来性が考慮されているか ▸ライフサイクルにおける非機能要件の変化 »ステークホルダーの意見が整理されているか? ▸この時点では、ある程度の矛盾や不可能性は許容する 26
28.
アーキテクチャ設計レビュー ②構成案の評価 • 構成案を作成し、非機能要件から評価する »可能なら3案作るのが望ましい ▸可能な限り非機能要件を実現する案 ▸技術的制約やコストを最優先にした案 ▸その間 » 27 No 構成案
非機能1 非機能2 非機能3 コスト 1 構成案1 〇 〇 〇 × 2 構成案2 △ × △ 〇 3 構成案3 △ △ 〇 △
29.
アーキテクチャ設計レビュー ②構成案の評価 – レビュー観点 •
バランスが取れた判断になっているか? »100点満点になることはありえない ▸非機能要件に矛盾が一切ない、ということがありえるか? »落としどころの意図を確認する ▸技術的オーバーキルではないか? ▸「誰か」の意見に寄りすぎていないか? 28
30.
アーキテクチャ設計レビューの難しさ 29
31.
アーキテクチャ設計レビューの難しさ アーキテクチャ設計は常に事前的である • 何もないのに正しくレビューできるものなのか? • つまり、常にリスク(不確実性)がある 30 要件定義 実装&テスト システムテスト アーキテクチャ 評価 要求/企画 アーキテクチャ 設計
32.
アーキテクチャ設計レビューの難しさ リスクと戦う • 技術的リスク »採用するコンポーネントが技術的に規定された品質が出るか?組 み合わせたときに問題ないか? • システムの成長リスク »システムのライフサイクルにおける成長がどうなるのか? 31
33.
アーキテクチャ設計レビューの難しさ 技術的リスク • 「その構成で非機能要件が満たせるか?」 »正しく○△×を付けられているのか? • 「リスクに気付く」のは経験に寄るところが多い »多くの人にレビューをしてもらうのがよい •
リスクがあるなら検証して明確化する 32 リスク リスク 検証 明確な 課題
34.
アーキテクチャ設計レビューの難しさ 技術的リスク • リスクの検証方法や回避方法を理解しておく »すべてのリスクを検証している時間はない »どの程度のリスクであれば、どの程度の検証をするのか? »そもそも、リスクの許容も必要 33
35.
補足:技術的リスク リスク検証の種類 34 検証方法 実施内容 例 机上検証
初期段階から実施でき、コストも時間もかけないが検 証精度としては最も低い。製品のドキュメントから アーキテクチャのコンセプトを理解する • 事例やホワイトペーパーで、製品コンセプトを確認し、 適用業務とのFit&Gapを検討する • 想定構成で有識者による確認を行う PoC Proof Of Concept/概念実証。技術的な課題に対して、 コンセプトレベルでの実現性を確認する。非機能的な 課題の洗い出しを行うことが目的となる。 • 利用を想定する技術的な要素について、その技術の実 現性を確認するための簡易的な試作を作成する プロトタイプ 試作品としてシステムを構築する。機能の流れを限定 的に作成することが多く、その場合は、エラー処理な どが考慮されないため、完全な検証にはならない。 • 動作する一部機能を作成し、部分的な環境(本番は サーバ4台だが1台のみなど)で動かしてみる 先行実装 設計工程の後半、あるいは実装工程の先頭で実機能を 開発する。この結果、テスト工程を早めに行うことが できる。本番環境を用いた検証を目的とする。 • プロジェクト計画上、先行して実装作業を行い、本番 環境での性能試験を実施する • 本番環境で一通りの設定を行い、想定される動作をす るかを早期にテストする テスト 実装が開始されてから、非機能要件上の課題に対して 検証可能な機能が作成できたら試験を行っていく • システムテスト前の性能試験、セキュリティ検査 • 本番データを使った移行リハーサル
36.
補足:技術的リスク リスク対応の種類 35 リスク対応 判断基準 対応策の例 回避
リスク要因が根本的で、大きな対応コ ストがかかる場合などはリスクを回避 する ・要件を取り下げる ・システム構成を不採用にする 受容 発生頻度が低い、影響が小さい、発生 しても短時間で復旧するなどの場合は リスクを受容する 対応なし 代替 発生頻度が低いものの、対応コストが 高く影響が大きい場合にはリスク発生 時にとりうる代替手段を用意する ・システムを使わずにマニュアル運用にする ・データ転送を別経路(媒体渡し)にする 低減 (要件) 主に要件要素によってリスクの発生を 低減する。 ・要件を部分的に変更してリスクの発生確率を減ら す ・発生時にシステム機能が制限されることを許容す るなど。 低減 (システム) 主にシステム要素によってリスクの発 生を低減する。 ・コストをかけてリソース増強や構成変更を行う ・ベンダー側の体制強化を依頼する
37.
アーキテクチャ設計レビューの難しさ システムの成長リスク • システムは成長するのか?衰退するのか? »未来の予想は誰にもできない »稟議書に書かれた数字が正しいかは「微妙」 • できれば、時点で最適化されているのが望ましい »主にコスト面で(ビジネスの継続性に影響するから) »インフラは仮想化によって調整幅は増えた 36
38.
アーキテクチャ設計レビューの難しさ システムの成長リスク • 未知なる未来に対して戦略があるか? »予測型 ▸予測確度が高いことを前提に効率化する »犠牲型 ▸予測確度が低いことを前提に非効率を受け入れる »拡張型 ▸予測の曖昧さを受け入れる 37
39.
アーキテクチャ設計レビューの難しさ システムの成長リスク - 予測型 •
追加される機能に対して同一の構造を割り当てる • 最も効率的(※予測が正しければ) 38 機能A 構造 機能A 構造 機能B 機能C
40.
アーキテクチャ設計レビューの難しさ システムの成長リスク - 予測増改築型 •
予測型を長期間維持してこじらせたパターン • 保守性が悪く、コストが増加する(別名:温泉旅館型) 39 機能A 構造 機能A 機能B 機能C 構造
41.
アーキテクチャ設計レビューの難しさ システムの成長リスク - 犠牲型 •
最初に作る構造は最低限にしておき、のちに再整備する • 機能移植にコストはかかるが長期保守にメリット 40 機能A 構造1 機能A 機能B 機能C 構造2構造1 機能A 技術的負債
42.
アーキテクチャ設計レビューの難しさ システムの成長リスク - 拡張型 •
構造そのものに拡張性を持たせる • (※天才に限る) 41 機能A 基本構造 構造1 機能A 構造2 機能B 機能C 基本構造 構造1
43.
まとめ 42
44.
まとめ アーキテクチャの役割 • 組み合わせでシステムを作る時代 »まさに組み合わせを考えるアーキテクチャ設計は重要 • 非機能要件で良さを定義する »アーキテクチャがシステムの非機能を保証する »アーキテクチャの評価は「非機能の適切さ」で評価可能 ▸単体の品質ではなく、組み合わせて想定通りに動くのか? 43
45.
アーキテクチャ設計 まとめ 設計プロセスと成果物 44 アーキテクチャ方針書 その他の 利害関係者 1.ビジネス要件を理解する ビジネス 要件 アクター一覧 ユースケース図 2.非機能要件を定義する 非機能要件定義 構成案図3.構成を検討する 評価シート4.構成を評価する ビジネス要件 サマリ レビュー① レビュー②
46.
まとめ ①非機能要件を定義する • そのシステムに求められる非機能要件を定義する • レビュー:システムに対して適切に設定されているか? »非機能的に抜けもれがないか? ▸意図的な抜けもれも含めて明示することが大事 »将来性が考慮されているか ▸ライフサイクルにおける非機能要件の変化 »ステークホルダーの意見が整理されているか? ▸この時点では、ある程度の矛盾や不可能性は許容する 45
47.
まとめ ②構成案の評価 • 構成案が非機能要件を適切に満たすのかを評価する • レビュー:バランスが取れた判断になっているか? »100点満点になることはありえない ▸非機能要件に矛盾が一切ない、ということがありえるか? »落としどころの意図を確認する ▸技術的オーバーキルではないか? ▸「誰か」の意見に寄りすぎていないか? 46
48.
まとめ アーキテクチャ設計は常に事前的である • 何もないのに正しくレビューできるものなのか? • つまり、常にリスク(不確実性)がある »技術的リスク ▸採用するコンポーネントが組み合わせたときに問題ないか? ▸リスクの検証方法と回避方法の理解 »システムの成長リスク ▸システムのライフサイクルにおける成長がどうなるのか? ▸戦略的な構成の理解 47
49.
まとめ アーキテクチャ設計レビューには信念が必要 • 必ずしも技術的に優れていることが重要ではない »すべてを理解するスーパーマンはいない • むしろ、傾聴し、整理し、働きかける力が重要 »より多くの人を判断に巻き込むことが大事 •
「誰かの意見」に従っていないか?が大事 »リスクと戦うには信念がいる(誰かのせいにするは簡単) 48