GitHubでやりたい事の進捗を見える化しよう!

プログラム全般

GitHubのissue/milestone、Project機能を使って、 カンバンで計画を立てて、進捗を見える化する方法を共有します。

GitHubってソースコードの管理するサービスじゃないの?

それ以外にも色々機能があるんだよ

完成イメージ。

前提

想定している対象者

  • ◎エンジニア(なりたい人でもOK)
  • ◎何か目標を持って進めたい事がある人
  • ◎夏休みの宿題は直前にやる派だった人
  • PC持ってる人
  • 英語に大きな抵抗ない人
  • IT関連に抵抗が無い人

説明すること

  • このやり方が有効な理由
  • GitHubのissue/milestone、projectについて

きっかけ、ポエム

ちょっと勉強したい事が出てきたのですが、いつも途中で挫折してしまうマンの私です。

そこで、仕事でやっているやり方を個人にも適用して、挫折しないように工夫する事にしました。(仕事はちゃんとやっているので、同じやり方にすればできるだろう、という算段)

今回紹介するのは、私なりのやり方で絶対的な正解では全然無いのですが、少しでも参考になれば幸いです。

GitHubを使ってタスク・スケジュール管理するというのは開発の仕事では良くあるから、エンジニア系のお仕事をされている方(目指している方も)は特に参考になると思うよ。

このやり方が有効な理由

締め切り の重要性

みなさんは夏休みの宿題はいつやっていましたか??

私は最終日ぎりぎりに親に怒られながらやってました。さっさと終わらせてから、心置きなく遊ぶ、という過ごし方をできる人もいましたが、私にはそんな事はできず。

大人になってからも、その習慣は基本的には変わっていません。どうしても締め切り直前に頑張って追い込んでなんとか間に合わせる(間に合わない場合も、、、)、という事が多いです。

ですが、逆に言うと締切があれば集中して取り組めるとも言えるので、逆に締め切りをうまく使いましょう〜、という作戦です。(締め切り効果、デッドライン効果という名前があるらしいです)

タスクを細かく分解する事の重要性

解像度があがる

ある目標があって、それを達成するためにやるべき事を洗い出す作業をすると、

  • 開始から終わりまでにやる事の解像度が上がる
  • よくわかっていない(何をしたら良いかわからない)事がわかる
  • 逆にここはできそう、という作業もわかる

まあ実際にやってみないとわからない事の方が多いのですが、例えばゲームで敵の強さが全くわからないよりは、少しでも情報があった方が戦いやすいですよね。

わからない事がわかれば、

  • わからないなりに調べる
  • とりあえず心構えだけしておく

という対応ができます。

俺はわからない事を楽しむぜ!というのも別に構わないと思うのですが、目標達成が目的なので、攻略本でもセーブ機能でも、何でも使えば良いんじゃないかと思います。

ジャーナリング

頭の中を書き出すと、不思議と心はすっきりします。

人間の頭は基本的にマルチタスクにはできていないので、頭の中で、(あれもやらなきゃ、、、)とか考えていると頭のメモリはそちらに吸われます。

そこで、頭の中(今回だとやらないといけない事リスト)を書き出す事で、今やらないといけない事に集中できる環境を作る事ができます。

問題を細かく切り分ける練習

また、エンジニアは問題を細かく切り分けて潰していく、という頭の使い方は日常茶飯事ですので、エンジニア志望の方は練習の一貫としておすすめです。

https://www.kikakulabo.com/tpl-issue-tree/

その他参考になりそうな記事

セルフマネジメントの必須スキル「タスクばらし」そのポイント
自律的な組織のメンバーに必須のセルフマネジメント。本記事では、セルフマネジメントをマスターするための最初の必須のスキル「タスクばらし」について紹介する。
仕事の効率を上げる「タスク分割」のすすめ
タスク分割の目的は、ピータードラッカーの次の言葉に集約されます。 成果をあげる秘訣を一つだけあげるならば、それは集中である。 成果をあげる人は最も重要なことから始め、しかも一度に一つのことしかしない。 — Peter Drucker つまり逆に言うと、成果を上げられない人は、 重要度の低いことから始め、しかも同時に

進捗の見える化の重要性

大きすぎる作業は終わりが見えないので、辛いです。

予めタスクを小さくした上で、1個1個終わった記録をつけていくと、達成感が積み上がってモチベーションがあがります。

心理学的には「目標勾配効果」というらしいです。

心理学用語「目標勾配」とは?意味と具体例をわかりやすく解説 | スッキリ

けんすうさんのこちらの記事もおすすめです。

GitHubのissue/milestone、project

前書きはここまでにして(結構長くなってしまった・・)、実際に作り始めましょう。

0:事前準備

GitHubのアカウントを作ってログインしておいてください。無料プランで大丈夫です。

5ステップでGitHubのアカウントを作成【図解多め】
Gitホスティングサービスの一つであるGitHubのアカウント登録を行います。メールアドレスさえあれば5ステップで登録できます。

1 :repository作成

repositoryを作成します。本来はコードを置く場所ですが、今回はコードは関係ありません。

ヘッダーの「New repository」をクリック

「Repository name」に好きな名前を英語で入れます。

「Public/Private」はPrivateにしておいた方が無難です。(Publicにすると全世界に公開されます)

2: project作成

次に、projectというものを作成します。

Projectsタブをクリックして、


「Create a project」をクリック

「Project board name」は日本語で大丈夫です。

「Project template」は「Basic Kanban」を選択してください。

できました。これがカンバンというやつです。

3: milestone作成

次に、milestone(まいるすとーん)というものを作成します。

milestoneは、中単位の作業をまとめたもので、締切を設定できるものです。(GitHubでは締め切りはmilestoneにしか設定できません)

「Issues」タブをクリックして(milestoneはIssueのサブ機能です)

「Milestones」をクリック

「Due date」には締切日を入れます。全部後で変えられるので深く考えなくて大丈夫です。

できました。

同じ手順で、締め切りが違う2つのmilestoneを作ってみました。

4: issue作成

次にissue(いしゅー)を作成します。

issueは一番細かい作業単位です。一番細かい、というのがどれくらいにするかは正解は無いのですが、とりあえず数時間〜一日くらいが良いのではと思います。

「Issues」タブをクリックして

「New issue」をクリック

「Projects」にさっき作ったProjectを、「Milestone」にさっき作ったMilestoneを選択します。

後で変えられるので深く考えすぎなくて大丈夫です。

できました。

同様の手順で3つのissueを作ってみました。

5: Projectにissueを表示する

Projectのカンバンにissueを表示させます。

Projectの画面に行きまして、「Add cards」をクリックします。

そうすると、作成したissueが出てくるので、ドラッグアンドドロップで移動します。

移動先は、

  • これからやる->「To do」
  • 今やってる -> 「In progress」
  • 終わった -> 「Done」

にしてください。

こんな感じ。今は「XXXの第1章」をやっている場合です。

6: 進捗を入力する

issueが完了したら、終わった事を入力します。

まずは、issueの画面に行って、コメントを入れて「Close and comment」をクリックします。

続いてProjectのカンバンで、「Done」の列に移動します。

終わったタスクが見えるようになりましたね。

もう一つ、Milestoneの画面からも進捗が見えます。

7: 3〜6を繰り返す

最初に計画は立てたものの、計画通りに行くことはほとんど無いので、随時修正しながら進めていきましょう。

だんだん、タスクの分解、締め切りの設定(見積もり)がうまくなってきますよ

計画を立てる事に力を使いすぎると、計画を立てた事に満足して終わっちゃうから、ここでは頑張りすぎない事も大事だよ。

まとめ

GitHubを使って、作業の管理をするメリットと方法をご紹介しました。

今回は私が一番慣れているGitHubを紹介しましたが、たくさんのツールがありますので、興味がある方は試してみるのもおすすめです。

JiraとかTrelloとかWrikeとかNotionとか、めちゃめちゃたくさんあるよ。

では、目標達成に向けて頑張りましょう〜

コメント

タイトルとURLをコピーしました