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
個人から始める開発生産性向上
Search
Aki Takami
November 29, 2023
Programming
1
420
個人から始める開発生産性向上
Aki Takami
November 29, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
Zoneless Testing
rainerhahnekamp
0
120
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
260
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
talk-with-local-llm-with-web-streams-api
kbaba1001
0
180
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
460
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Designing for Performance
lara
604
68k
Navigating Team Friction
lara
183
15k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How GitHub (no longer) Works
holman
311
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
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