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
アーキテクトに求められるマインドとは / mindset for an architect
Search
iselegant
July 14, 2022
Technology
28
11k
アーキテクトに求められるマインドとは / mindset for an architect
iselegant
July 14, 2022
Tweet
Share
More Decks by iselegant
See All by iselegant
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
22
10k
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
5
2.5k
Amazon ECSとCloud Runの相互理解で広げるクラウドネイティブの景色 / Mutually understanding Amazon ECS and Cloud Run
iselegant
20
4.4k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
20
6.7k
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
19
5.6k
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
3
560
エンジニアとして成長するための持続可能なアウトプット戦略 / Sustainable Output Strategy
iselegant
7
1.2k
人工衛星管制システムにおけるCICD / CICD in satellite control systems
iselegant
8
1.6k
人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward cloud-native democratization for satellite operations
iselegant
5
1.7k
Other Decks in Technology
See All in Technology
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
730
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
130
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
140
Sansan BIが実践する AI on BI とセマンティックレイヤー / data_summit_findy
sansan_randd
0
110
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
130
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
5
610
お試しで oxlint を導入してみる #vuefes_aftertalk
bengo4com
1
1.3k
次世代のメールプロトコルの斜め読み
hirachan
3
430
どうなる Remix 3
tanakahisateru
1
330
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
300
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
15
11k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Side Projects
sachag
455
43k
Code Review Best Practice
trishagee
72
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
The Cult of Friendly URLs
andyhume
79
6.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Docker and Python
trallard
46
3.6k
Transcript
アーキテクトに求められる マインドとは 2022-07-14 株式会社野村総合研究所 新井雅也 おすすめの技術書LT会 – vol.4
新井 雅也 M a s a y a A R
A I msy78 金融業界のお客様に向けたビジネス提案やシステム設計、開発、運用を担当。 UI/UXデザインやスマホApp、バックエンドAPIなど、フルスタック領域な守備範囲を持ちつつ、 クラウドを活用した全体のアーキテクチャ設計・開発が得意。 テックリード / エキスパートアーキテクト
u 便宜上、本発表では、ソフトウェアアーキテクチャや ソフトウェアアーキテクトのことを、 単にアーキテクチャ、アーキテクトとして表現しています。 u 「オライリー・ジャパン ソフトウェアアーキテクチャの基礎」にて 得られる知見をもとに、発表内容をまとめています。 発表の前提 https://www.oreilly.co.jp/books/9784873119823/
アーキテクトに求められるマインドとは
アーキテクトに求められるマインドとは そもそも、アーキテクトとは
(明確な定義やキャリアパスはないと言われているが) アーキテクトとは、適切な設計を選択し、 技術標準の枠組みを作る役割の担い手のこと
🙋 「新米 ソフトウェア アーキテクト X氏」
🙋 今の時代、クラウド使って マイクロサービスアーキテクチャで作るのが、 とりあえず最適だと思うのよね〜〜JK 「新米 ソフトウェア アーキテクト X氏」
🙋 今の時代、クラウド使って マイクロサービスアーキテクチャで作るのが、 とりあえず最適だと思うのよね〜〜JK 「新米 ソフトウェア アーキテクト X氏」
🙋 今の時代、クラウド使って マイクロサービスアーキテクチャで作るのが、 とりあえず最適だと思うのよね〜〜JK 「新米 ソフトウェア アーキテクト X氏」 なんて安直な思考に、 皆さんは陥っていないですよね
?????
そもそも、アーキテクチャとは、求められる or 達成したい ビジネス要件の文脈があって、初めて成立するもの u マイクロサービスアーキテクチャのメリットとデメリットは理解していますか? u モノリス構成を含む、他のアーキテクチャは検討しましたか? u マイクロサービスアーキテクチャが、ビジネス上のどのような課題を解決するのですか?
u 実際にコードを書くエンジニアやその他ステークホルダーと事前に共有しましたか?
「Jastrow, J. (1899) “Fact and Fable in Psychology” https://commons.wikimedia.org/wiki/File:Duck-Rabbit_illusion.jpg」より引用 ものの見え方は、人の経験や状況によって左右されることと同じように、
アーキテクチャも解決したい課題によって左右される ウサギとアヒルの図形
つまり、アーキテクチャはすべてがトレードオフの世界である u「どうやって」よりも、「なぜ」のほうが本質 u「アーキテクチャとは、Googleで答えを見つけられないものだ 」 ※「オライリー・ジャパン ソフトウェアアーキテクチャの基礎」より引用
そもそも、アーキテクトとは
そもそも、アーキテクトとは アーキテクチャが持つトレードオフを理解しつつ、 自分たちのビジネス要件と照らし合わせて、 適切な設計を選択し、技術標準の枠組みを作る担い手
アーキテクトに求められるマインドとは そもそも、アーキテクトとは
アーキテクト アーキテクトに必要なマインドとは
アーキテクト 技術トレードオフを理解 ビジネス要件の理解 技術標準の枠組み アーキテクトに必要なマインドとは
アーキテクト 技術トレードオフを理解 ビジネス要件の理解 技術標準の枠組み → 多様な選択肢と洞察 → 要件は日々変化 → チームへの普及と理解
アーキテクトに必要なマインドとは
アーキテクト 技術トレードオフを理解 ビジネス要件の理解 技術標準の枠組み → 多様な選択肢と洞察 → 要件は日々変化 → チームへの普及と理解
変化への追随 技術的な リーダーシップ 学びの幅を広げる そのために・・・ そのために・・・ そのために・・・ アーキテクトに必要なマインドとは
優れたアーキテクチャや技術を幅広くおさえる uアーキテクトでは、「技術的な深さ < 技術的な幅」が重視される傾向 u トレードオフに対する感性が磨かれる u選択するために「知らないことについて知らない」ことを減らす u 単一の技術やプラットフォームに集中すると、そこが安全な避難場所になってしまう u
最新のトレンドを把握し続ける u 古い情報がまだ最先端であるという誤った感覚から脱出する
優れたアーキテクチャや技術を幅広くおさえる アーキテクチャ特性を軸にメリデメを理解する 各アーキテクチャの代表例を知る u レイヤード u パイプライン u マイクロカーネル u
サービスベース u イベント駆動 u スペースベース u オーケストレーション駆動 u マイクロサービス u 運用特性 e.g. 可用性、パフォーマンス、 スケーラビリティ、デプロイ容易性 u 構造特性 e.g. 拡張性、可搬性、メンテナンス性 アップグレード容易性 u 横断特性 e.g. 学習容易性、セキュリティ
変化に追随するためにイテレーティブに取り組む uビジネス特性を理解し、決して最善のアーキテクチャを追求しない u あらゆるビジネス上の問題を解決しようとすると、 汎用的なソリューションになり、単に労力・コストを要する u少なくとも、最悪ではないアーキテクチャを狙う u ソフトウェアアーキテクチャは動的な性質を持つもの u 変更が容易であれば、最初から望ましいアーキテクチャを
正確に設計しなければならない、というプレッシャーも少なくなる The Only Complete Swiss Army Knife https://www.hammacher.com/product/ only-complete-swiss-army-knife
技術的なリーダーシップを発揮する uビジネスと技術の両面の変化を捉え、翻訳し、チームをリードする Simon Brown氏: 私の場合、ソフトウェアアーキテクチャの役割はソフトウェアチームに技術的なリーダーシップ をもたらすことです。私はどんなソフトウェアプロジェクトにも、ある程度は事前の設計が必要 だと固く信じています。コツは「過不足なく」やることです。つまり、初期のハイレベルな構造 を作り、主要なリスクに対処し、チーム全員がともに取り組むべきビジョンを作ることです。 https://www.infoq.com/jp/news/2012/04/frustrated-architect/より⼀部引⽤
u開発チームが技術を選定できるように「ガイド」する uアーキテクチャの決定や設計指針の遵守を徹底する u ルールを逸脱すると、いずれ技術的負債へと変化する u「確証バイアス」に注意を払う u e.g. 「そのアーキテクチャの採用が、間違いなく正しいに違いない」と思い込み、 都合の良い情報のみを集めてしまう。 技術的なリーダーシップを発揮する
まとめ
アーキテクト 技術トレードオフを理解 ビジネス要件の理解 技術標準の枠組み → 多様な選択肢と洞察 → 要件は日々変化 → チームへの普及と理解
変化への追随 技術的な リーダーシップ 学びの幅を広げる そのために・・・ そのために・・・ そのために・・・ アーキテクトに必要なマインドとは
ビジネスの文脈がない アーキテクチャの選択は、 「マッチ棒で家を建てる」のと同じ
🙋 ご清聴いただき、ありがとうございました。