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
git変更の可視化 #TechLunch
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Livesense Inc.
PRO
April 21, 2014
Technology
92
0
Share
git変更の可視化 #TechLunch
git変更の可視化
2013/07/24 (水) @ Livesense TechLunch
発表者:松永 一郎
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
330
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
86
27新卒_総合職採用_会社説明資料
livesense
PRO
0
5.3k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
10k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
480
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
630
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
67k
Other Decks in Technology
See All in Technology
はじめてのDatadog
kairim0
0
280
Diagnosing performance problems without the guesswork
elenatanasoiu
0
160
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
0
270
Ruby::Boxでできること、Refinementsでできること
joker1007
3
390
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
350
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1.1k
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
2.7k
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.5k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
5
4k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
830
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
250
Featured
See All Featured
Crafting Experiences
bethany
1
170
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
Navigating Team Friction
lara
192
16k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
From π to Pie charts
rasagy
0
200
Facilitating Awesome Meetings
lara
57
6.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Scaling GitHub
holman
464
140k
Transcript
帰って来た、 みんなが使うべきOSの オルグ FreeBSD可愛いよFreeBSD
毎度毎度プレゼンテーションがそっけなくてすいま せん。 デザイン力皆無、質実剛健って事で許して下さい。
おぼえていますか? さて、 今Qのシステム開発部のドグマを
そうですね。 Growth最大化: commit & deliver ですね。
ということで当初の予定を 変更して、
commit&deliverの 見える化 それっぽいtoolを作ってみた。 gamification?
commit & deliverの見える化 livesene システム開発部のエロいエラい人の御言 葉で エンジニアは 基本的には 手を動かしてなんぼ がありますね。
エンジニアの仕事は • エンドユーザーとの調整 • チームのとりまとめ • 調査 などもあり、codeをどれだけ書いたかのみでは計 れないけれど、それも一つの指針になるんじゃな かろうか?
まー本来のcommit&deliverとは意味が違うけど、 • どんだけcodeを書いて(commit) ◦ codeを書いた量 • どんだけ機能を実現してきたか(deliver) ◦ pull req.をこなした量
という解釈を一旦強引にさせてもらいます。
という事でcodeへの影響具合をdb化してみた 軸として • commit情報 • commit時の各fileの変更具合 • pull reqによるmerge情報 をdbに入れてみた。
なんかOSSで既にありそうだけど車輪の再発 明たのしいれす
ちょっと工夫した所 • 対象repositoryとかbranchとか無視するべきfile とかはymlで外出しにして、柔軟性はある程度 確保。 ◦ mail addressのalias設定が出来る ◦ 複数のbranchを追える
◦ 集計対象外(例えば3rdなlibや自動生成fileやlogなど)を 設定出来る • dbの作成とdb作成と集計(表示)処理は分離。
表示もとりあえず作ってみた とりあえず、直近一年の月毎の • こなしたpull req.ランキング • 変更行数ランキング • commitコメントの平均行数ランキング を作ってみた。
http://git-statistics.matsunaga.local.livesense.jp/tallies
他に集計軸として • 個人を軸に毎月の成果を可視化して自分の生 産量を把握してみるとか。 • commitする際の変更file数からcommitの粒度 を出してみるとか(git流に整形してからpull req. 出してたら集計出来ないけどね) •
commit毎の変更行数からの集計じゃなくて、 pull req.毎の変更行数で出してみるとか(これ ちょっと面倒だし、今のdbのままでは多分無理) • とかとか。
いいわけ 本当はhtmlで吐いてconfluenceにblogとして投げ ようかと思ってたけど、表示する方が実装が面倒 臭くなさげなんで、viewを一応書いてみた。 まー本当にひどい見栄えですが、気にしないで下 さい。
最後に • 出来るだけ正確に値を取ろうとはしているけど、色々な要因 で正確では無い。 なので、あくまで目安としてね。 ◦ たとえば、gitはmvはdelete/newで実装されているので、 変更行が膨らみやすい。refactoringとかしているとガッ ツリ増える。 ◦
各projectでignore_pathsを調整してもらえると嬉しいな • 色々遅いので誰かtuningしてたもれ。 • 他の集計、誰か追加して。 • 各repositoryは、エイヤで追加してて、よくわかってないん で、各projectの人、ymlを修正してpull req.くれるとうれしい です。そんなわけでcospaとか派遣とか入ってないし。
本当に最後に。 作っといてなんだけど、 手を動かすの重要だけど、一番重要なのは健全な プロダクトで利益出す事なので、あくまで参考値と して捉えてね。