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
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
290
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
320
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
460
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
520
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
110
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
830
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
270
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
900
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Become a Pro
speakerdeck
PRO
31
6.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
A Tale of Four Properties
chriscoyier
163
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Building Adaptive Systems
keathley
44
3.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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