はじめに
この記事は「ただただアウトプットを癖付けるための Advent Calendar 2024」に投稿した記事です。
最初の記事にも書いた通り、私は生物物理の実験を専門にしている研究者です。
最近はデータ解析のため機械学習のコード開発も行っており、幸いにもその成果がNeurIPSに採択されました。
前の記事では、今更ながらGithub Skillsのチュートリアルをやってみました。
そこで得られた知識をアウトプットする意味も込めて、今回はGithub Actionsを使ってタスク管理の効率化を測ってみました。
関連記事
前の記事 「NeurIPS著者がGithub Skillsのチュートリアルをやってみた話」
次の記事「NeurIPS著者がGithub Pagesでウェブページを整備してみた話」
これまでのタスク管理
管理の対象は、家事、書類仕事、各種研究プロジェクトにまたがっています。
Todoistを1年ほど使っていました。
使い勝手は良かったのですが、気になる点もいくつか(無料版での話です)。
- 作成できるプロジェクトの数が3つに制限されている
- タスクの開始時間は登録できるものの、所要時間の見積もりや、実行時間の記録ができない
- ポモドーロなどのOn-goingでの時間管理用アプリとの接続を行う場合、そのアプリ側での料金が発生する
- 記録の保存先が指定できないので、拡張性に難がある
そこで、最近話題のSuper Productivityに鞍替えしました。
こちらは無料版でも上記が解決されていて、しかもポモドーロは標準装備です。
(なんで無料なんだろう?と気になっています)
Super Productivityは、ポモドーロタイマーによる時間管理をおこなうことができます。
ただし、各タスクの実行時間をまとめて解析したり、見積もり時間と実際の時間の差を見ることはできません。
また、タスクの重要度などを設定することもできません(こちらはTodoistでは可能でした)。
個人的な希望として、いわゆる優先度と重要度のマトリクスを使って、タスクの優先順位を決めることができるといいなと思っています。
また、その記録をもとに、タスクの実行時間の見積もり精度を向上させることができるといいなと思っています。
もっと言えば、優先順位をベースに、週間のスケジュールをある程度自動で組んでくれるといいなというのが野望です。
なぜGithub Actionsか
まずGithubでのタスク管理ですが、これはカンバンチャートに似たものである、プロジェクトボードを使用するのが一般的だと思います。
プロジェクトボードは、タスクをカードとして表現し、それをカラムに分けて管理するものです。
一方で、Github Actionsは、Github上で自動的に動作するワークフローを設定するものです。
これを使うことで、例えば、リポジトリにプッシュがあったら、自動的にテストを実行する、といったことができます。
これはpythonやjavaのコードを走らせることができるので、タスク管理にも使えるのではないかと考えました。