Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
個人から始める開発生産性向上
Search
Aki Takami
November 29, 2023
Programming
540
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人から始める開発生産性向上
Aki Takami
November 29, 2023
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
golang-bob.pdf
iwatsukayura
0
140
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
480
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
190
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
230
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
170
sbt 2.0: takeoff
eed3si9n
0
170
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.9k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.1k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
170
Featured
See All Featured
How to make the Groovebox
asonas
2
2.5k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Believing is Seeing
oripsolob
1
250
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Ethics towards AI in product and experience design
skipperchong
2
440
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Test your architecture with Archunit
thirion
2
2.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Transcript
個⼈から始める開発⽣産性向上 サイボウズ株式会社 ⽣産性向上チーム ⾼⾒ 諒 1
⾃⼰紹介 ▌⾼⾒ 諒 / たかみ あき / たかみん ▌𝕏: @takamin_55
▌2023年4⽉ サイボウズ ⽣産性向上チームにジョイン n Fourkeys 計測&可視化基盤を開発中 ▌趣味 n グルメバーガー / ダーツ / チェス / 旅⾏ 2
開発⽣産性向上の取り組み、難しすぎ...︖ ▌開発⽣産性向上の取り組みは話の規模が⼤きい。難しそう n 開発フロー 変えてみた n チーム体制 変えてみた n デプロイ
⾃動化してみた ↓ ▌個⼈でできる開発⽣産性向上から1歩ずつ始めませんか︕という話 3
個⼈レベルの開発⽣産性 ▌SPACE フレームワーク n 満⾜感 n 効率性 n フロー(集中環境) ▌「良い環境」を作っていこう
n ⾯倒な作業をなくす n やりたいことが中断されない状況を作る 4
どうやって? 5 普段の業務で⾯倒な部分を⾒つけて改善していこう︕
6 …。
そんなことは分かっている ▌⾯倒な部分を改善するスタンスは正しい。できるなら良い ▌“⾯倒” ← 感覚主導 / 閃き依存 n 慣れて⾯倒だと感じない n
そもそも⾯倒の感度が低い(私) ▌⾯倒な部分を⾒つける具体的・再現性のある⼿法を考えてみた n ⾯倒感度もあがって次に繋がる 7
どうやって? 8 それは「区切る」こと︕ 区切って注⽬する領域を絞り、改善箇所を⾒つけやすくする 1. 区切る 2. 改善できそうな箇所を⾒つける 3. 改善する
1. 区切る ▌⾊々な観点で⾃分の普段の業務を区切り、中⾝を洗い出す n ツール/アプリで区切る n どんなツールやアプリを使って何をしている︖ n 時間で区切る n
◯時から✗時の間、何をしている︖ n タスクで区切る n 最近、どんなタスクをしている︖ 9
ツール/アプリで区切ってみた例 ▌Visual Studio Code o どんなことをしたか o コードを書く、ファイルを開く、検索&置換、⼀⾏削除... ▌Microsoft Edge
▌Linear ▌Confluence, Obsidian, Slack, Git, GitHub, AWS ▌... 10
時間で区切ってみた例 ▌14時から15時 o 週次のミーティング § Zoomに繋いで § アジェンダ通りに先週の進捗を振り返って § 全体計画を振り返って
§ 今週の⽬標を⽴てて § … 11
タスクで区切ってみた例 ▌パーサーの作成タスク o 機能の洗い出して o Linearでタスク管理して o APIの設計をして o GitHub上のPRでコードレビューをして
o Dockerイメージのビルド & プッシュ & デプロイをして o Terraformをapplyしてリソースを作成して o … 12
2. 改善できそうな箇所を⾒つける ▌「そういえば...」がおすすめキーワード o そういえば、コミットメッセージにIssue番号を書く作業が⼿間だなぁ o そういえば、Dockerのイメージビルド遅いなぁ o そういえば、毎回クリック操作で事を進めるのが⾯倒だなぁ 13
3. 改善する 事例1 ▌コミットメッセージの半⾃動化 o ⾯倒︓コミットメッセージに「Issue番号」を毎回書くのが⾯倒 o 改善︓Issue番号がある状態で書き始められるコマンドを作ってみた § "-e"
なし § "-e" あり 14
3. 改善する 事例2 ▌イメージビルドの⾃動化 & ⾼速化 o ⾯倒︓モブ中のビルド待ちの無⾔時間がもったいない o 改善︓イメージビルドを⾃動化し、その後キャッシュも⼊れ⾼速化した
§ GitHub Actions o docker/setup-buildx-action o docker/build-push-action 15
3. 改善する 事例3 ▌LinearのIssue(タスク)を開く o ⾯倒︓今やっているIssueを探して開くのが⾯倒 o 改善︓shell, Raycastなどから簡単に開けるようにした §
Issue番号からタスクを開く § ステータスが "Doing" のIssueを開く 16 開く
3. 改善する 事例4 ▌ウィンドウをいい感じに配置する o ⾯倒︓ブラウザやアプリのウィンドウを配置するのが⾯倒 o 改善︓Raycastのaliasを使って簡単に配置できるようにした 17
3. 改善する 事例5 ▌ショートカット / エイリアス / ホットキーで楽に作業する o ⾯倒︓マウス作業が挟まるのが⾯倒
o 改善︓よく⾏う操作はコマンドで完結するようにする § VSCode o `ctrl + cmd + →` で開いているファイルを右に画⾯分割する § git clone したリポジトリを⼀覧で出し、選択してそこへ移動する o alias cdrepo='cd $(ghq root)/$(ghq list | peco)' 18
⼩さな⽣産性向上でもOK ▌⼩さな⽣産性向上でも o 積み重なれば⼤きな改善になる o 改善による達成感 → 次の改善へと繋がる o 新しい技術に触れる機会になる可能性を秘めている
o 影響範囲を個⼈、⾃チーム、他チーム...と⼤きくしていく準備になる 19
まとめ ▌個⼈でできる開発⽣産性向上から1歩ずつ始めよう n ⼩さくてもOK。良いことたくさん ▌⾯倒な作業を効率化し、中断のない環境(フロー)を作ろう n SPACEフレームワークより ▌⾯倒な作業は「区切る」ことで⾒つけよう n 再現性アリ。⾯倒感度も上がるかも
20
おまけ ▌1. RescueTime n PCを監視して何に時間を使っているかを⾃動的に洗い出してくれる n 社内セキュリティと相談 ▌2. 新しいショートカットを覚える時は1⽇最⼤2個がおすすめ(体感) 21
引⽤ ▌The SPACE of Developer Productivity - ACM Queue 22