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
もしKagglerがスクラムを学んだら_関東Kaggler会#2
Search
sue124
August 01, 2024
Technology
4
2.4k
もしKagglerがスクラムを学んだら_関東Kaggler会#2
以下のイベントのLTで使用したスライドです。
https://connpass.com/event/321748/
sue124
August 01, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Building a cloud native business on open source
lizrice
0
180
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
900
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
700
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
200
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
170
AI AgentをLangflowでサクッと作って、1日働かせてみた!
yano13
1
160
Observability — Extending Into Incident Response
nari_ex
1
330
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
120
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
670
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
200
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
0
130
.NET 10のBlazorの期待の新機能
htkym
0
110
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Unsuck your backbone
ammeep
671
58k
What's in a price? How to price your products and services
michaelherold
246
12k
Balancing Empowerment & Direction
lara
5
700
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Pragmatic Product Professional
lauravandoore
36
7k
Agile that works and the tools we love
rasmusluckow
331
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
もしKagglerが スクラムを学んだら 2024/08/03 すえ
自己紹介 すえ • 某コンサルの データサイエンティスト • コンペは画像系とかNLPとか • 二児のパパ •
ゴルフは最近全然行けてない
Kaggleの取り組み方 Before After
スクラムを知る前は行き当たりバッタリで計画性なくKaggleに取り組んでいた 残り2週間であとどれだけ できるか見通しが立たない 具体的にどういうタスクをやっ ていったらいいか…… 作業の進捗がこのペースで いいかわからない あと何をすればいい? コンペ終了間際に学習コードを 変更し始めたら、コンペ終了
までに間に合わなかった ……
スクラムのやり方をKaggleに取り込むと、順調に進められるようになった 残り2週間で これだけできそう すぐ着手できるレベルまで タスクを細かく切り分けておこう 今週はここまで終わって いれば計画通り 〇〇がわからないから、一旦 調査するタスクを入れよう 今やろうとしていることを全部
やろうとするとコンペ終了に間に 合わないから、優先順位をつけよう
スクラムとは?
スクラムはアジャイル開発の手法の1つ アジャイル:短い期間ごとに、一部の機能を完成させていく デプロイ 設計 実装 テスト ウォーターフォール:最初に仕様を決めて、順番に進める デプロイ 設計 実装
テスト 機能1 機能2 デプロイ 設計 実装 テスト デプロイ 設計 実装 テスト 機能3
スクラムの概要 機能A ・タスク1 ・タスク2 : : プロダクト バックログ 機能A ・タスク1
・タスク2 : : スプリント バックログ スプリント プランニング スプリント インクリメント (製品増分) デイリー スクラム スプリント レビュー レトロスペクティブ (振り返り) 1スプリントを1週間〜1カ月とし、繰り返す
スクラムをKaggleに 当てはめると……
スクラムをKaggleに当てはめると…… ※これまで1人で参加してきたので、スクラムにおける役割の話(プロダクトオーナー、スクラムマスター、開発者)の話は除外します 機能A ・タスク1 ・タスク2 : : プロダクト バックログ 機能A
・タスク1 ・タスク2 : : スプリント バックログ スプリント プランニング スプリント インクリメント (製品増分) デイリー スクラム スプリント レビュー レトロスペクティブ (振り返り) 「機能」に以下のようなものを当てはめて、 スプリントごとに優先順位を決める ・EDA ・Baselineモデル作成 ・推論パイプライン構築 ひとりで振り返る 以下のようなものが 「インクリメント」になる ・EDAの結果 ・新しいモデルのCV / LB スコア ・推論パイプライン構築のコード 期間を区切って(1週間など)、スプリント最初に作ると決 めた機能を作りきれるようにタスクを こなしていく
スクラムのどういうところがKaggleの役に立つのか • 1スプリント(1週間)ごとに目標を定める習慣がつく (スプリントプランニング) • 決まった期間で振り返る習慣がつく (レトロスペクティブ) • 「残タスクの作業量」と「これからできる作業量」の見通しがよくなる (ストーリーポイント)
スプリントプランニングとは? 機能A ・タスク1 ・タスク2 : : プロダクト バックログ 機能A ・タスク1
・タスク2 : : スプリント バックログ スプリント プランニング スプリント インクリメント (製品増分) デイリー スクラム スプリント レビュー レトロスペクティブ (振り返り) 「機能」に以下のようなものを当てはめて、 スプリントごとに優先順位を決める ・EDA ・Baselineモデル作成 ・推論パイプライン構築 ひとりで振り返る 以下のようなものが 「インクリメント」になる ・EDAの結果 ・新しいモデルのCV / LB スコア ・推論パイプライン構築のコード 期間を区切って(1週間など)、スプリント最初に作ると決 めた機能を作りきれるようにタスクを こなしていく
スプリントプランニングでやること バックログに タスクを 並べておく 優先順位を考慮して 次のスプリントで やるタスクを決める 上記の要領で次のスプリントのタスクを決めると「直近 1週間でやるべきこと」が明確になる
レトロスペクティブ 機能A ・タスク1 ・タスク2 : : プロダクト バックログ 機能A ・タスク1
・タスク2 : : スプリント バックログ スプリント プランニング スプリント インクリメント (製品増分) デイリー スクラム スプリント レビュー レトロスペクティブ (振り返り) 「機能」に以下のようなものを当てはめて、 スプリントごとに優先順位を決める ・EDA ・Baselineモデル作成 ・推論パイプライン構築 ひとりで振り返る 以下のようなものが 「インクリメント」になる ・EDAの結果 ・新しいモデルのCV / LB スコア ・推論パイプライン構築のコード 期間を区切って(1週間など)、スプリント最初に作ると決 めた機能を作りきれるようにタスクを こなしていく
レトロスペクティブでやること Keep Problem Try 「良かったこと」「続けたいこと」を書く 「悪かったこと」「要改善点」を書く Keep, Problemを受けて 「どう改善するか」「試したいこと」を書く スクラムでよく使う以下の枠組みで書き出すと、Kaggleの取り組み方がよくなっていく。
ストーリーポイントとは? 機能A ・タスク1 ・タスク2 : : プロダクト バックログ 機能A ・タスク1
・タスク2 : : スプリント バックログ スプリント プランニング スプリント インクリメント (製品増分) デイリー スクラム スプリント レビュー レトロスペクティブ (振り返り) 「機能」に以下のようなものを当てはめて、 スプリントごとに優先順位を決める ・EDA ・Baselineモデル作成 ・推論パイプライン構築 ひとりで振り返る 以下のようなものが 「インクリメント」になる ・EDAの結果 ・新しいモデルのCV / LB スコア ・推論パイプライン構築のコード 期間を区切って(1週間など)、スプリント最初に作ると決 めた機能を作りきれるようにタスクを こなしていく 作業量の見積もりに 「ストーリーポイント」を使う
ストーリーポイントとは? ストーリーポイント(SP)での作業量見積もりは、基準を決めて相対的に行う。 基準 SP: 3 SP: 1 SP: 5 基準より小さい
基準より大きい
ストーリーポイント スクラムで使われるツール(JIRAなど)には、各タスクにSPを入力する欄がある SP大のタスクは手が止まったり 進捗が悪くなる元なので、 SP小のタスクに分解するのが吉。 (現在の知識で分解しきれない 時は、そのための「調査タスク」を置 く)
ストーリーポイント スプリントをある数回こなすと「1スプリント当たり消化できるSP」(ベロシティ)が見える。 →「コンペ終盤の残り⚪週間のタイミングで、あとどこまでできるか」の見通しが立てやすくなる。
さいごに Kaggleの取り組み方を迷っている方は、ぜひスクラムの要素を取り入れてみてください! スクラムはチームでやる手法なのにほぼずっと一人なので、チームを組んでくれる方募集中