$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Workflow at Hatena Mackerel Team
Search
motemen
October 09, 2014
Programming
9
7.3k
Workflow at Hatena Mackerel Team
はてな Mackerel チームの開発フローについて
motemen
October 09, 2014
Tweet
Share
More Decks by motemen
See All by motemen
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
3
2k
AIに実況させる / AI Streamer
motemen
3
7.2k
技術を育てる組織・組織を育てる技術 / technology and organization
motemen
13
5k
はてなのエンジニアリングマネジメント、これまでとこれから / Engineering Management in Hatena, Hatena Engineer Seminar 26
motemen
2
2.1k
入門 Bubble Tea
motemen
1
880
ソフトウェア開発と私 / Software Development and I
motemen
13
6.8k
はてなサービスプラットフォームチームにおける Mackerel / Mackerel in Hatena Platform Team
motemen
1
1.3k
はてなシステムの考古学 / History of development at Hatena
motemen
3
300k
Reading Go Tools - GoCon 2016 Spring
motemen
5
2.9k
Other Decks in Programming
See All in Programming
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
2.9k
AIコーディングエージェント(Manus)
kondai24
0
210
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
890
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
260
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Embracing the Ebb and Flow
colly
88
4.9k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
4 Signs Your Business is Dying
shpigford
186
22k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
The browser strikes back
jonoalderson
0
120
YesSQL, Process and Tooling at Scale
rocio
174
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
エンジニアに許された特別な時間の終わり
watany
105
220k
Transcript
@motemen 2014-10-09 Workflow at Hatena Mackerel Team
ࢲʹ͍ͭͯ • id:motemen / @motemen • גࣜձࣾͯͳ νʔϑΤϯδχΞ • Mackerel
νʔϜ σΟϨΫλʔ • Vim ͱ Go ͕͖Ͱ͢
Agenda • Mackerel νʔϜʹ͍ͭͯ • From Perl to Scala •
Mackerel νʔϜʹ͓͚ΔεΫϥϜ • ϦϞʔτ
1 About Mackerel Team
Mackerel
Mackerel https://mackerel.io/
Mackerel • ͯͳ ৽αʔϏε • 09/17 ਖ਼ࣜԽ • ৽͍͠ΫϥυύϑΥʔϚϯεཧαʔϏε Mackerel
ਖ਼ࣜϦϦʔεͷ͓Βͤ • αʔόཧɾࢹπʔϧ • πʔϧͷݟΛαʔϏεԽ
Mackerel ͷྺ࢙ • ࣾϏδωεϓϥϯίϯςετ • CTO id:stanaka ʮΫϥυࢹπʔϧʯ
Mackerel νʔϜͷྺ࢙ • 2013-11ʙ ϓϩτλΠϓ։ൃ • P + 1 engineer
+ α • 2014-04ʙ ਖ਼ࣜʹνʔϜԽ • P + 5 engineers + 1 designer • ࠓʹࢸΔ
2 From Perl To Scala
Hatena ❤ Perl • ΄ͱΜͲͷαʔϏε Perl • ۀ (2001)
ʙ ݱࡏ (2014) • ͯͳϒοΫϚʔΫɺͯͳϒϩάɺ…
Why Perl • ߴͳ Trial & Error • ߴͳ։ൃ
Mackerel Chose Scala • Perl ͷ࣍ͷݴޠ • தن։ൃʹ͑ɺݎ࿚ͳͷ • Ϧʔυ։ൃऀͷझຯ
• ʢຊ Haskell ͕Α͔ͬͨʣ
ৄ͘͠ • id:hakobe932 — YAPC::Asia Tokyo 2014
Perl … ਆͷ࣌ • No ίϯύΠϧ • Fast σϓϩΠ •
ۃΊ͍ͯ։ൃαΠΫϧ
Scala • ੩తܕ͚ͷ҆৺ײ • ϨϏϡʔ • ϦϑΝΫλϦϯά • Slow ίϯύΠϧ
• Slow ίϯύΠϧ
Not-So Hotfix • σϓϩΠྃ • ʮ͋ɺͪΐͬͱϛεͬͯ·͢Ͷ…ʯ • ʮΑ͠ٸ͍Ͱͦ͏ʯ • ʢ2࣌ؒܦաʣ
• ʮΓ·ͨ͠ʯ
“ScalaShock” • ΈΜͳͰγϣοΫΛड͚ͨ • “ͷΜͼΓͱͨ͠։ൃ” • ίϯύΠϧͷؒʹϨϏϡʔͱ͔ • σϓϩΠ։࢝ૣΊʹ •
ࠓͰ30ఔͰྃ
࠷ۙͷσϓϩΠ
3 Scrum in Mackerel Team
Scrum • “εΫϥϜʢӳ: ScrumʣɺιϑτΣΞ։ൃ ʹ͓͚Δ෮తͰ૿తͳΞδϟΠϧιϑτΣ Ξ։ൃख๏ͷ1ͭͰ͋Δɻத৺ʮ։ൃνʔ Ϝ͕Ұମʹ͢Δͱڞ༗͞Ε͍ͯΔతΛ͍ٻ ΊΔॊೈͳϓϩμΫτ։ൃετϥςδʔʯͰ͋ Δɻ” •
— Wikipedia: εΫϥϜ
Scrum • ܾ·ͬͨظؒʢεϓϦϯτʣ • εϓϦϯτ։࢝࣌ʹλεΫΛೖՙ • εϓϦϯτྃ࣌ʹৼΓฦΔ • վળ͠ͳ͕ΒεϓϦϯτΛ܁Γฦ͢
༧श
Team Configuration • ։ൃνʔϜ • ϓϩμΫτΦʔφʔ id:stanaka • εΫϥϜϚελʔ id:motemen
• 3+α ΞϓϦΤϯδχΞ / 1 σβΠφ / 1 Πϯϑϥ • εϓϦϯτ: 2 weeks • ։࢝ॳ 1 week
εϓϦϯτͷ։࢝: ୨Է͠ձ • ݄༵ͷே 2 ࣌ؒఔ • ϓϩμΫτόοΫϩάΛݕ౼ • ࠓεϓϦϯτͰΔ͜ͱΛ۩ମԽ
• ԿΛ͢Ε͍͍͔໌֬ʹͳΔ
୨Է͠: ϓϩμΫτόοΫϩά • Google Spreadsheet • ༏ઌॱɺޙΖͷํͪ͝Όͪ͝Ό
୨Է͠: λεΫͷݕ౼ • ۩ମతͳλεΫʹׂ • ཻ = 1 Pull Request
ʹͰ͖Δ͘Β͍ • ྫ:ʮϗετͷੜࢮࢹػೳʯ • ࢹίΞ෦ • ΞϥʔτʹରԠ͢ΔϞσϧ • ϝʔϧૹ৴ • ը໘࣮
εϓϦϯτͷऴྃ: ;Γ͔͑Γձ • ༵ۚͷ༦ํ 1 ࣌ؒ • εϓϦϯτͷୡΛৼΓฦΔ • ݸਓɾνʔϜͷ
KPT Λ͓͜ͳ͏ • ࠓޙͷ֎෦తͳεέδϡʔϧΛ֬ೝ
ࣜ࣍ୈ • ձͷਐΊํࢦΛॻ͍͓͍ͯͨ • Εͳ͍Α͏ʹ • motemen ͕αϘΕΔΑ͏ʹ
Mackerel νʔϜͱ Scrum • ϓϩμΫτνʔϜθϩ͔Β • Γ͍ͨ͜ͱΛண࣮ʹਐΊ͍ͯ͘ • KPT ͠ͳ͕ΒมԽ͍ͯͬͨ͠
εϓϦϯτத: GitHub • λεΫ GitHub Issue ʹ • 1 εϓϦϯτ
= 1 ϚΠϧετʔϯ
Milestones
Milestones • ࣍ͷεϓϦϯτ: • ࠓεϓϦϯτͰͰ͖ͳͦ͏͚ͩͲ͢ ͙Γ͍ͨ • ΞΠσΞஔ͖: • Γ͍͚ͨͲ༏ઌະఆ
قઅײͷ͋ΔεϓϦϯτ • ೋे࢛અؾΛεϓϦϯτ໊ʹ • ʮཱ࣍ळεϓϦϯτͰ͢ʢ8݄ʣʯ ʮ͟Θ…ʢ͏ळ͔…ʣʯ ͪͳΈʹࠓिפ࿐εϓϦϯτͰ͢
λεΫঢ়ଶϥϕϧ • PR ͕ͨ͠Β “ϨϏϡʔґཔ” • “ϨϏϡʔྃ” ʹͳͬͨΒ Ϛʔδ or
मਖ਼
Based on • id:shiba_yu36 — GitHub Kaigi
ݟੵΓϥϕϧ • Issue ͷετʔϦʔϙΠϯτΛϥϕϧԽ • ͜ΕҎ্Ͱ͔͍ͷλεΫԽ͠ͳ͍
Burn-down Chart • radekstepan/github-burndown-chart
ͦͷଞ • λεΫΛ·ͱΊΔ Issue • ٞ༻ • ٞ༻ʢdrunkʣ
VS ϗϫΠτϘʔυᝦ • جຊతʹ GitHub • Ұཡੑ͕͢͞ • λεΫฆࣦʢཧʣ •
ϦϞʔτແཧ
4 Working Remote
ͯͳ౦ژ։ൃηϯλʔ • 2012: ։ઃ • ʢɹʈωʈʣɾɾɾ • 2014: גࣜձࣾͯͳʹೖࣾ͠·ͨ͠ |
͓ͦΒ͘ ͦΕ͑͞ฏຌͳʑ • → Mackerel νʔϜଐ
ड͚ೖΕ४උ • ͱͱϦϞʔτͷ༧ఆʢ1ਓʣ • πʔϧݕ౼ͯ͋ͬͨ͠ • ࠷ॳͷ2िؒɺژ • ϖΞϓϩͱ Λ܁Γฦ͢
༧श • 37 Signals • ϦϞʔτ࠷ߴʂΈ͍ͨͳຊ
ʮ͋ͷਓ࠷ۙଘࡏײͳ͍Ͷʯ • Έ͍ͨʹ͠ͳ͍ • ژ 5 : ౦ژ 1
งғؾΛἧ͑Δ • ΦϑΟεϦϞʔτ • ग़ࣾ͢Δ͚Ͳωοτӽ͠ʹձ • ேձͷલʹࡶஊ
Remote Tools • Zoom • Sqwiggle • GitHub & Slack
• Polycom
ேձ: Zoom • Google Hangouts ͔ΒҠߦ • શһͷإ͕ҰͰ͖Δ
ීஈ Sqwiggle & Slack & GitHub • ΄ͱΜͲจࣈͰࣄΓͯΔ
To Be Continued • ·ͩ࢝·͔ͬͨΓ • ػࡐ͕େࣄͦ͏ • ϝϯόʔશһ͕ϦϞʔτΛҙࣝ͢Δ
Ҏ্ • Mackerel νʔϜͷ։ൃମ੍Ͱͨ͠ • ྑ͍ϚΠΫใ͓͓ͪͯ͠Γ·͢
We are Hiring!