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
分散型チームによるAWSを活用したWebアプリケーション開発のナレッジ / Knowledge...
Search
Yuki.Ozasa
September 28, 2021
Technology
0
1.3k
分散型チームによるAWSを活用したWebアプリケーション開発のナレッジ / Knowledge of web application development using AWS with distributed teams
2021-09-28 AWS DevDay Online Japan 2021の登壇資料(B-4)です。
Yuki.Ozasa
September 28, 2021
Tweet
Share
More Decks by Yuki.Ozasa
See All by Yuki.Ozasa
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
270
SaaSのマネタイズ探訪記 / SaaS Monetization Explorations
oztick139
0
120
The Shift to SaaS for All : ビジネスとテクノロジーの融合による開発者体験の変容 / The Shift to SaaS for All
oztick139
0
37
B2B SaaSの地図とコンパス / Maps and Compasses for B2B SaaS
oztick139
0
230
二刀流で切り拓くスタートアップとしてのグロース / Growth of a Startup Pioneering with Dual Expertise
oztick139
0
310
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
300
AWS re:Invent 2023 セッションレポート / AWS re:Invent 2023 Session Report
oztick139
0
86
AWS re:Invent 2023 セッションYouTube動画レポート / AWS re:Invent 2023 Session YouTube Video Report
oztick139
0
95
API Firstで考えるプロダクト開発の潮流 / The Trend of Product Development with an API-First Approach
oztick139
0
140
Other Decks in Technology
See All in Technology
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
730
podman_update_2024-12
orimanabu
1
260
.NET 9 のパフォーマンス改善
nenonaninu
0
580
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
320
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
230
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
Scaling GitHub
holman
458
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Code Reviewing Like a Champion
maltzj
520
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
It's Worth the Effort
3n
183
28k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
4 Signs Your Business is Dying
shpigford
181
21k
Transcript
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 分散型チームによるAWSを活用した Webアプリケーション開発のナレッジ 小笹佑京 (Ozasa Yuki) 株式会社アンチパターン(Anti-Pattern Inc.) B - 4
小笹 佑京(Ozasa Yuki) 株式会社アンチパターン CEO兼VPoE 日本CTO協会 Contributor Twitter: @yukiozasa 自己紹介
Vision: 日本のソフトウェアエンジニアを憧れの職業へ 事業: • ソフトウェアエンジニア採用サービス • ソフトウェアエンジニア特化型コミュニティスペース • 大学生向けプログラミング学習コミュニティ •
ソフトウェア開発支援 株式会社アンチパターンについて
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. • 開発者が幸せなことはビジネスに良い影響があることを知ってもらう。 • その上で、ナレッジをシェアすることによって、 より良いソフトウェア開発の現場が増えるきっかけを作る。 本セッションのゴール
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. • 開発者体験をより良くすることの重要性 • 分散型チームになった背景 • Webアプリケーション開発のナレッジ • 終わりに 本セッションのアジェンダ
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 開発者体験をより良くすることの重要性
VUCAの時代 開 発 者 体 験 を よ り 良
く す る こ と の 重 要 性 • Volatility:変動性 • Uncertainty:不確実性 • Complexity:複雑性 • Ambiguity:曖昧性 未来の予測が困難な状態
変化の激しい状況に対応できる能力が必要。 =ダイナミックケイパビリティを獲得する。 VUCAの時代における競合優位性の源とは 開 発 者 体 験 を よ
り 良 く す る こ と の 重 要 性 Seizing 捕捉 Sensing 感知 Transforming 変容 デジタル化 ▪ダイナミックケイパビリティの3要素 デジタルは増幅器として作用する。 経済産業省 「ものづくり白書2021年版」より。
「企業がビジネス環境の激しい変化に対応し、データとデジタル技術を活用して 顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、 業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を 確立すること。」 ※経済産業省 「デジタルトランスフォーメーションを推進するための ガイドライン(DX 推進ガイドライン) Ver .
1.0 」より DX (デジタルトランスフォーメーション) 開 発 者 体 験 を よ り 良 く す る こ と の 重 要 性
デジタルトランスフォーメーションとは、 新しいデジタル技術を組織の日常生活で活用する継続的なプロセス。 その根幹たるアジリティとは、 (1)ビジネスモデル (2)協調的アプローチ (3)文化 を戦略的に刷新するための中核的なメカニズムである。 ※エディンバラ・ネピア大学Karl Warner氏との ITコンサルタントのMaximilian
Wäger氏の研究 「Building dynamic capabilities for digital transformation: An ongoing process of strategic renewal」より DXとダイナミックケイパビリティを研究した論文からの示唆 開 発 者 体 験 を よ り 良 く す る こ と の 重 要 性
2つのDXは両輪で繋がっている 開 発 者 体 験 を よ り 良
く す る こ と の 重 要 性 Digital Transformation 企業のデジタル化 Developer Experience 開発者体験 ※「日本CTO協会」HPを基に登壇者が作成。
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 分散型チームになった背景 (株式会社アンチパターンのケース)
地理的制約 生存戦略としての分散型チーム 分 散 型 チ ー ム な っ
た 背 景 スタートアップの制約 優秀な副業メンバー (フリーランス含む)を 場所に依らず、採用する戦略へ
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Webアプリケーション開発のナレッジ
現状の開発チーム構成 W E B ア プ リ ケ ー シ
ョ ン 開 発 の ナ レ ッ ジ
AWSエンジニアのための副業・転職スカウトサービス 対象Webサービスの概要 W E B ア プ リ ケ ー
シ ョ ン 開 発 の ナ レ ッ ジ 「優秀なエンジニアにより良い仕事と報酬を」
環境:Docker フロント:TypeScript / Vue.js / Nuxt.js / Vuetify API:Go /
chi (Web Framework) API定義:OpenAPI DB:PostgreSQL ソース/課題管理:GitHub インフラ:AWS デザインツール: Figma 技術スタック W E B ア プ リ ケ ー シ ョ ン 開 発 の ナ レ ッ ジ
あくまでシンプルに、素早く作ることを意識して設計。 アーキテクチャ W E B ア プ リ ケ ー
シ ョ ン 開 発 の ナ レ ッ ジ
None
ナレッジを整理する W E B ア プ リ ケ ー シ
ョ ン 開 発 の ナ レ ッ ジ ツール・技術 プロセス チーム・文化
デプロイの スピード クラウド(AWS)を活用する ツ ー ル ・ 技 術 スケーラビリティ
豊富な マネージドサービス
クラウド(AWS)を活用する具体例 ツ ー ル ・ 技 術 採用の背景 ・使い勝手の良さ セキュリティ的にも安心できる。
加えて、機能が豊富なため素早くアプリケーションを実装できる。 ・十分なリソースクォータ ユーザープールあたりのユーザーの最大数が4000万。 対して、日本のIT技術者は約110万人(※)なので十分足りる。 ・サービス特性との整合 認証機能の1 秒あたりのリクエスト数に制限があるものの、 ピークタイムが分散される想定のため、十分に活用できると判断。 ※ヒューマンリソシア株式会社 第1回:世界各国のIT技術者数~アジア・オセアニア編~ https://corporate.resocia.jp/ja/info/investigation/case/global_report01
• リリースによる作業ミス(=開発者の心理的な負荷)、 リリースにかかる工数などを減らすためにも、早いうちから 投資しておくべき。早ければ早いだけ利益を享受できる。 • GitHub Actions + AWS CodeDeploy(ECSタスクの兼ね合い)を利用中。
AWS CodePipelineに寄せようかと計画。 CI/CDを整える ツ ー ル ・ 技 術
1. 要件をもとにAPIを定義。 2. OpenAPI generatorを使用し、型の定義がされたコードを自動生成。 3. StoplightのPrismを使用し、 型定義に合ったランダムな値を出力するmockコンテナを生成。 OpenAPIを活用した型安全な開発 プ
ロ セ ス
トランクベースなブランチ&マージ戦略 プ ロ セ ス フロント API
トランクベースなブランチ&マージ戦略 プ ロ セ ス フロント API
プ ロ セ ス 大抵の要求は満たされる。 満たされない=複雑なデザインが必要な場合は、 要求自体が複雑すぎる可能性を考慮する。
カンバン チ ー ム ・ 文 化
カンバン チ ー ム ・ 文 化 In STG Done
In review In progress Priority list
カンバン チ ー ム ・ 文 化 In STG Done
In review In progress Priority list
カンバン チ ー ム ・ 文 化 In STG Done
In review In progress Priority list
カンバン チ ー ム ・ 文 化 In STG Done
In review In progress Priority list
カンバン チ ー ム ・ 文 化 In STG Done
In review In progress Priority list
開発者が自分で管理する必要があるのはここの移動だけ。 あとは全てシステムで自動化ないしはOwnerが管理する。 Priority listは常に手入れがされている状態に保たれている。 カンバン チ ー ム ・ 文
化 In STG Done In review In progress Priority list
カンバン / ISSUE チ ー ム ・ 文 化 ISSUE
• 毎週月曜日の夜に45分だけ同期活動。 • 事業の状況をシェア。 • その週に完了した(In STGに入った)ISSUEを計測。 • In STGに溜まっているISSUEの数も計測し、溜まり過ぎを検知。
アジャイル チ ー ム ・ 文 化
• ベロシティとIN STGの数を見つつ、 ふりかえりをMiro(オンラインホワイトボードツール)で実施。 アジャイル チ ー ム ・ 文
化
パートタイムメンバーの多い現在のチームでやめていること。 • 稼働時間を管理すること。 • スプリントゴールを設定すること。 アジャイル チ ー ム ・
文 化 エンジニアをインスタンスに見立てたとき、 副業者はスポットインスタンスのようなもの。 チームがスケールした時にも耐えられるシステム/仕組みに。
ナレッジを整理する W E B ア プ リ ケ ー シ
ョ ン 開 発 の ナ レ ッ ジ ツール・技術 プロセス チーム・文化 より良い Developer Experience 開発者 体験を
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 成果
リリースから半年間での変化 成 果 アウトプット量 チームの人数 (=投資) アウトカム 3月 9月 約2倍
約8倍 0から1
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 幸せなソフトウェア開発の現場を作ることが、 事業発展に繋がることを証明していきたいと思いますので、 応援いただけると嬉しいです。 最後に
Thank you! © 2021, Amazon Web Services, Inc. or its
affiliates. All rights reserved.
Please complete the session survey © 2021, Amazon Web Services,
Inc. or its affiliates. All rights reserved.