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
noy
December 26, 2023
0
46
開発合宿の裏側 - Web アプリケーションを素早く作る
【オフライン開催】Kyoto Tech Talk #3 (
https://moneyforward.connpass.com/event/301922/)での発表資料です
noy
December 26, 2023
Tweet
Share
More Decks by noy
See All by noy
新規事業×生成 AI の不確実性を乗り越える開発プロセス
noy72
0
680
Hatena Engineer Seminar #18 ビジネスプラットフォームチームで始めた『筋トレ』施策について
noy72
0
1.4k
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Docker and Python
trallard
42
3.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Automating Front-end Workflow
addyosmani
1366
200k
RailsConf 2023
tenderlove
29
940
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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