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
開発合宿の裏側 - Web アプリケーションを素早く作る
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
noy
December 26, 2023
93
0
Share
開発合宿の裏側 - Web アプリケーションを素早く作る
【オフライン開催】Kyoto Tech Talk #3 (
https://moneyforward.connpass.com/event/301922/)での発表資料です
noy
December 26, 2023
More Decks by noy
See All by noy
AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題
noy72
0
20
新規事業×生成 AI の不確実性を乗り越える開発プロセス
noy72
0
1k
Hatena Engineer Seminar #18 ビジネスプラットフォームチームで始めた『筋トレ』施策について
noy72
0
1.5k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
210
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Odyssey Design
rkendrick25
PRO
2
580
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Unsuck your backbone
ammeep
672
58k
Transcript
開発合宿の裏側 Webアプリケーションを素早く作る id:noy72 / @noynote 2023/12/13 Kyoto Tech Talk #3
1
自己紹介 • id: noy72 / @noynote • 新卒で はてな に入社して現在3年目
• 開発プロセスに興味がある 2
3 話すこと
4 開発プロセスや コミュニケーションを 工夫して 開発を加速させる
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 5
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 6
7 はてなの開発合宿
開発合宿とは 特定のプロダクト開発チームに依らない、 新規事業、サービスの創出と 既存サービス拡大を実現するための 技術的知識の獲得と人材育成をするため、 検証とプロトタイプ作成の場を エンジニアに継続的に提供する場 8
開発合宿とは • 開発合宿が定期的に開催される • 何を作るかは公募→運営が選定 • 有志がチームを組んで開発 • 期間は2日間 •
業務時間を使って良い • リモート開催 9
今回自分が体験した開発合宿 • 普段の開発チーム4人(自分含む)で参加 ◦ フィードアプリの開発 • 準備して良い • 2日のところ3.5日使っても良い •
デザイナーも参加する(合計6人) 10
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 11
12 開発合宿 〜準備〜
無計画に進めると失敗しそう • プロダクトの規模が小さい+人数が少ない であれば細かく計画しなくても良さそう • 今回の状況 ◦ プロダクトの規模が大きい(合宿期間が1.5日長い) ◦ チームの人数が多い
◦ みんなが開発合宿に慣れている、わけではない 13
起こりそうなこと • コード/作業がコンフリクトする • 進捗確認するのが大変 • 次にやるタスクがわからなくなる • ボトルネックが発生する •
→あらかじめタスク分解、依存関係の 整理をすれば解決できそうだけど大変 14
15 開発をどう進めるか?
16 開発をどう進めるか? →ペアで進める
エンジニア側の開発の進め方 2人-2人の2チームに分かれて進める • ペア作業/ペアプロ状態 • チームにユーザーストーリーを割り当てる 17
チームにすると何が嬉しいか • タスク分解を頑張らなくて良い ◦ ユーザーストーリーの順序、 どちらのチームがどれを担当するかを考える ◦ 細かい話はチーム内でよしなにやる • 進捗確認が楽
• 困ったらすぐ相談できる ◦ ペアプロの嬉しさ 18
19 コミュニケーションを どうやって取る?
20 コミュニケーションを どうやって取る? →取る場所/取り方を 決める
昼会、夕会の設定 • 1日に2回みんなで集まる • 全体の状況を把握 • 進捗、障害の確認をする ◦ 「間に合いそうですか」 21
やっぱり Slack • チャンネルを 3 つ作る ◦ 開発合宿チャンネル: みんな(6人) ◦
チームA: エンジニア(2人) ◦ チームB: エンジニア(2人) • 専用チャンネルなので@hereして良い 22
そのほか色々 • 設計、データモデルを考える ◦ 簡易ADRの作成 • リポジトリ、プロジェクトのセットアップ • CD設定 •
デザイン共有 • 大雑把に見た目を作る ◦ CSSフレームワークを作ってそれっぽいページ作成 23
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 24
25 開発合宿 〜当日〜
最初はみんなで集まる • エンジニア+デザイナーが集まって 開発の進め方を確認 • エンジニアだけで認証部分を実装 26
チームに分かれて開発 • 自チームはペアプロした ◦ VSCodeのLive Shareを使った ◦ 手元で立てたサーバーを共有できる • 昼会/夕会でやったことをみんなに共有
27
(再掲)起こりそうなこと • コード/作業がコンフリクトする • 進捗確認するのが大変 • 次にやるタスクがわからなくなる • ボトルネックが発生する 28
(再掲)起こりそうなこと • コード/作業がコンフリクトする ◦ チーム内で密にコミュニケーションを取ることで回避 • 進捗確認するのが大変 ◦ 昼会/夕会で解決 ◦
障害/疑問点もすぐに共有して解決する ◦ 結果、以下の2点も回避 ▪ 次にやるタスクがわからなくなる ▪ ボトルネックが発生する 29
30 大きな問題は起こらず 開発が進む
31 そして社内で お披露目へ……
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 32
33 良かったことは何か?
状況にあった開発の進め方 • モブ→ペア→個別、と進め方が変わった • 抽象的なほど複数人で、 具体的なほど少人数でという考え方もある 34
必要な時に話せる環境 • ペア/エンジニア/デザイナー/みんな それぞれ話せる場所がある ◦ Slack、昼会/夕会 • POの役割をエンジニアの一人が担当 ◦ エンジニア、デザイナー、POが
常に会話できる状態 • 専用チャンネルなので@hereし放題 35
話すこと • はてなの開発合宿 • 開発合宿 ~準備~ • 開発合宿 ~当日~ •
良かったことは何か? • まとめ 36
37 まとめ
まとめ • 状況に合わせて進め方を柔軟に変える ◦ モブ, ペア, 個人 • コミュニケーションの障壁を減らす ◦
会話する場所、方法を決める ◦ 同期的に話す場所を作り進捗を明確に保つ 38