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
24
10k
アーキテクトに求められるマインドとは / mindset for an architect
iselegant
July 14, 2022
Tweet
Share
More Decks by iselegant
See All by iselegant
Amazon ECSとCloud Runの相互理解で広げるクラウドネイティブの景色 / Mutually understanding Amazon ECS and Cloud Run
iselegant
19
3k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
19
4.8k
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
19
4.8k
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
3
230
エンジニアとして成長するための持続可能なアウトプット戦略 / Sustainable Output Strategy
iselegant
6
900
人工衛星管制システムにおけるCICD / CICD in satellite control systems
iselegant
8
1.4k
人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward cloud-native democratization for satellite operations
iselegant
5
1.4k
サーバーレスファーストで考えるクレジットカードビジネスの最適化 / Business Optimization for Credit Card by Serverless
iselegant
8
4.3k
全AWSエンジニアに捧ぐ、CloudWatch 設計・運用 虎の巻 / CloudWatch design and operation bible
iselegant
46
18k
Other Decks in Technology
See All in Technology
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
podman_update_2024-12
orimanabu
1
270
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
.NET 9 のパフォーマンス改善
nenonaninu
0
900
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
310
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
Featured
See All Featured
Facilitating Awesome Meetings
lara
50
6.1k
Mobile First: as difficult as doing things right
swwweet
222
9k
A designer walks into a library…
pauljervisheath
204
24k
Scaling GitHub
holman
458
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
We Have a Design System, Now What?
morganepeng
51
7.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Faster Mobile Websites
deanohume
305
30k
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. 「そのアーキテクチャの採用が、間違いなく正しいに違いない」と思い込み、 都合の良い情報のみを集めてしまう。 技術的なリーダーシップを発揮する
まとめ
アーキテクト 技術トレードオフを理解 ビジネス要件の理解 技術標準の枠組み → 多様な選択肢と洞察 → 要件は日々変化 → チームへの普及と理解
変化への追随 技術的な リーダーシップ 学びの幅を広げる そのために・・・ そのために・・・ そのために・・・ アーキテクトに必要なマインドとは
ビジネスの文脈がない アーキテクチャの選択は、 「マッチ棒で家を建てる」のと同じ
🙋 ご清聴いただき、ありがとうございました。