原点回帰!IT業界に蔓延る技術力0の元ダメPMのブログ

原点回帰で技術力をつけたい技術力0の元ダメPMです。技術力がないとやっていけないフリーランスエンジニアの世界に背水の陣で飛び込みました。本ブログでは技術の話だけでなく起業の事とかお金の事とかなんでも備忘録的に綴って行きます。

無料で使えるクラウド型RedmineのPlanioで大学の学習計画を管理する

前回は北海道情報大学の通信教育部の履修登録方法について記事にしましたが、今回は学習計画の管理方法について考えてみました。

学習計画の管理方法ってあんまり聞きなれないフレーズかもしれません。かく言う僕も初めて使用した単語です笑

北海道情報大学通信教育部では複数の授業と試験形態があり、それぞれの形態の組み合わせ+科目によってレポートの作成期間、試験の登録可能要件・登録方法・登録期間が変わってきたりします。

ただでさえ複雑な上に、僕の場合は年間27科目58単位も履修登録をしてしまったので、もうほんとパニックでしたが、なんとかこのややこしい状態をうまい具合に整理できないかと思っていたところで、自分がPMだった事を思い出しました笑

よし、大学の勉強もプロジェクトとして管理してしまおうと言う事で学習計画プロジェクトを立ち上げる事にしました。

結論としては記事のタイトルにある通りクラウド型Redmineの「Planio」を使用して管理する事にしたのですが、そこに行き着くまでの経緯から実際にRedmineの設計・設定方法まで含めた内容を記事にしました。

今回の記事は約13500字と長編な上に、僕の拙い文章が邪魔をして読むのも大変だと思いますが、よければお付き合いください。


なにで管理するのか

普段仕事ではRedmineを使用する事が多いので使い慣れたRedmineを使う事は前提だったのですが、問題はどんな環境でRedmineを使用するかでした。

現在事業で複数環境のクラウドサービスを使用しているので、どこかの環境で新たにサーバを立ち上げてそこに入れても良いのですが、今回は勉強の為と言う事で大学生目線でより安価により簡単に出来ないかと思い、色々と調べてみました。

無料と言う意味ではHerokuにRedmineを入れて使っても良いのですが、より簡単にと言う条件に照らすとできれば登録するだけで使用できるクラウド型サービスの様な形が良いですよね。

Redmineのクラウド型サービスと言えばまず思いつくのは本家のMyRedmineですが、こちらは初月限り無料で翌月からは最安値のプランでも8,000円かかるので、流石に大学生にとっては高いですよね。

なんとか無料で使えるSaaSのRedmineないかなーと思って探すと、Planioと言うサービスに辿りつきました。

Planioとは

ドイツ発のクラウド型のRedmineサービスで、日本ではあまり馴染みがないですが、世界でみると結構有名な様で利用実績を見ると世界中の名だたる有名企業の名前がありました。

と言う事は安定したサービス提供を行なっており、なんの前触れもなく急に会社がなくなるとかサービスが停止する様な事はなさそうと判断しました。

何と言っても1プロジェクト(サブプロジェクト含む)2ユーザーまでと言う制約はあるもの無料で使用可能と言う点が素晴らしいです。しかも日本語対応+日本語でのサポート付きです。

Planioの登録と初期設定

まずPlanioのHPにアクセスします
plan.io

トップページにメールアドレスを入力して「30日間の無料お試しする」をクリック

f:id:junpellitteri:20190406172853p:plain
画像1


情報入力画面に遷移しますので、「お名前」「ドメイン」「パスワード」を入力してチェックボックスにチェックをつけて「登録を完了する」ボタンをクリック

f:id:junpellitteri:20190406172841p:plain
画像2


セットアップ中の画面が表示されます

f:id:junpellitteri:20190406172828p:plain
画像3


セットアップが完了すると自動的にplanioのRedmineトップページへ遷移します。

f:id:junpellitteri:20190406172806p:plain
画像4

これで登録は完了です。

プランをBronzeプランに切り替える

無料登録を行うと、初期ではDiamondプラン(8,000円)に設定されており、全ての機能を試せる様になっております。

ただ、今回は無料でRedmine環境を使用する事が大前提なので、忘れないうちに無料のBronzeプランに切り替えます。

Diamondプランのまま使用して、無料期間が終わった時点でBronzeに切り替えても良いのですが、もし知らない内にDiamondプランでしか使用できない機能などを使って運用してしまった場合、後々面倒な事になるので、設定等行う前にBronzeに切り替えておきます。

前述の通りBronzeプランは2ユーザーで1プロジェクトのみ作成可能なのですが、大学の勉強スケジュールを管理するだけなので、複数人での管理もなくプロジェクトも1つで十分です。

と言う事で切り替え方法ですが、トップページ右上のユーザー名部分をクリックし「Customer Acount」をクリックします。

f:id:junpellitteri:20190406172801p:plain
画像5


以下の画面に遷移しますので、「プランの変更」をクリックします。

f:id:junpellitteri:20190406173114p:plain
画像6


プラン変更画面に遷移しますので、「プラン」から「Bronze - 0円/1 months」を選択し、「プラン変更」ボタンをクリックします。

f:id:junpellitteri:20190406173106p:plain
画像7

これでプラン変更は完了です。

サンプルプロジェクトの削除

Planioにはデフォルトで「Webサイト リニューアル」と言うサンプルプロジェクトが作成されていますが、Bronzeプランではプロジェクトを1つしか作成できないので、サンプルプロジェクトを削除した上で新規にプロジェクトを作成します。

まずトップページから右上の「ユーザー名」をクリックし、「管理」をクリックします。

f:id:junpellitteri:20190406173101p:plain
画像8


管理画面が表示されますので、「プロジェクト」をクリックします。

f:id:junpellitteri:20190406173053p:plain
画像9


プロジェクトの管理画面に遷移し、プロジェクトの一覧が表示されますので、プロジェクトの右端にある「削除」リンクをクリックします。

f:id:junpellitteri:20190406173046p:plain
画像10


削除確認画面が表示されますので、「はい」にチェックを入れ「削除」ボタンをクリックします。

f:id:junpellitteri:20190406173215p:plain
画像11


これでサンプルプロジェクトの削除は完了です。

f:id:junpellitteri:20190406173207p:plain
画像12

プロジェクトの設計

ここでは学習計画プロジェクトの運用設計を行います。
まあ、設計と言いながらただ方針を決めるだけですが笑

基本的にはできるだけシンプルな形で運用していきたいので、要件も非常にシンプルなものにします。
要件は、

  • 「プロジェクト」「時期」「科目」「タスク」の4階層とする
  • ガントチャートで進捗状況が完全にわかる様に「プロジェクト」を除く全てのタスクはチケットに期日を設定する

これだけです。

プロジェクトの階層

プロジェクトの階層イメージですが、今回は以下の様に考えております。

※{}内はRedmineのオブジェクト名、()内は分類方法

北海道情報大学 学習計画{プロジェクト}
   ├ 2019年度前期{バージョン}
   │   ├ 科目{チケット(トラッカー・カテゴリ)}
   │   │   ├ 勉強{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   │   ├ レポート{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   │   └ 試験{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   │   
   │   ├ 科目{チケット(トラッカー・カテゴリ)}
   │   │   ├ 勉強{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   │   ├ レポート{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   │   └ 試験{チケット(トラッカー・カテゴリ・カスタムフィールド)}
   │   …
   │
   └ 2019年度後期			

Redmineの設定

本項では前項で記載した階層構造を作成していく為の設定を行なっていきますが、なかなか階層構造だけではピンとこないと思いますので、各項目の役割や詳細を説明しながら設定をしていきます。

ちなみに以降の設定を行う事で最終的には以下の様な形で学習計画の進捗具合を管理出来る様になります。
(画像をクリックすると拡大されます)

f:id:junpellitteri:20190407221412p:plain
画像:ガントチャート

プロジェクトの作成

まず土台となる学習計画用のプロジェクトを作成します。

プロジェクト一覧画面もしくはトップページの「新しいプロジェクト」ボタンをクリックます。

プロジェクト作成画面が表示されますので、必要な情報を設定してきますが、今回は以下の通り設定しました。

  • 名称(必須):北海道情報大学 学習計画
    • わかりやすいプロジェクト名を付けます
  • 識別子(必須):hiu_study_schedule
    • システム内でのプロジェクトの識別子となります。半角英数字と記号が使用可能ですので、こちらもわかりやすい識別子を付けます
  • ホームページ(任意):https://z3.mugendai.do-johodai.ac.jp/portal/
    • プロジェクトの概要画面に表示されるリンクです。私の場合は北海道情報大学のポータルサイトへのリンクを設定しました
  • モジュール:設定したモジュールは以下となります
    • チケットトラッキング
    • 時間管理
    • ファイル
    • Wiki
    • カレンダー
    • ガントチャート
  • トラッカー:
    • チケットトラッキングモジュールにチェックを入れるとデフォルトで全てにチェックがはいります。後ほど設定しますので、現時点ではとりあえずチェックをいれたままにしておきます。

設定できたら「作成」ボタンをクリックします。

f:id:junpellitteri:20190406173159p:plain
画像13

バージョンの作成

バージョンは簡単に言うとプロジェクトを期間ごとに分ける事ができる管理機能です。

今回の北海道情報大学 勉強計画プロジェクトは、年度の前後期毎にわけて管理していきたいと思っております。

本来そう言う場合によく使う手としてはプロジェクトに対して子プロジェクトを作成していくのですが、PlanioのBronzプランではプロジェクトを1つしか作成できません。

その為、プロジェクト内に子プロジェクトを作成すると言う事がでないので、代わりにバージョンを使用して年度と前後期を分けていきます。


プロジェクトのTOP画面画面の右にある「設定」ボタン(歯車アイコン)をクリックします

f:id:junpellitteri:20190406173144p:plain
画像14


プロジェクトの設定画面に遷移しますので、上部にある「バージョン」をクリックし「新しいバージョン」リンクをクリックします

バージョン作成画面に遷移しますので、以下の通り設定し「作成ボタン」をクリックします

  • 名称:2019年度前期
  • ステータス:進行中
  • 期日:2019/09/30
  • 共有:共有しない
f:id:junpellitteri:20190406173327p:plain
画像15

以上で2019年度前期バージョンの作成は完了です。

同じ様に2019年度後期バージョンも作成します。2019年度前期は期日を2020/03/31にしてください。

なお、この時点で自分の卒業予定年度分まで先にバージョンを作成しておいても良いと思います。

カテゴリの作成

Redmineのカテゴリはチケットの分類分けを行う事ができます。

今回はカテゴリとして授業形態・試験形態を作成し、科目毎に授業・試験形態を分けられるようにします。

作成するカテゴリは以下となります。

  • 印刷授業/会場試験
  • 印刷授業/インターネット試験
  • IM授業/会場試験
  • IM授業/インターネット試験

※私はスクーリング授業は履修登録していないので省いてますが、必要な方は作成しておいてください


それでは、カテゴリの作成方法を記載していきます。

まずプロジェクトのTOPページから右上の「設定」をクリックし、カテゴリ一覧ページに遷移し「新しいカテゴリ」リンクをクリックします。


カテゴリ作成ページに遷移しますので「名称」を入力し「作成」ボタンをクリックします。

f:id:junpellitteri:20190406173313p:plain
画像16


以下の通りカテゴリが作成されますので、同様の手順で他のカテゴリも作成していきます。

f:id:junpellitteri:20190406173306p:plain
画像17

カスタムフィールドの作成

カスタムフィールドはRedmine上で様々な独自定義を作成する事ができます。

今回は以下の通りチケットオブジェクトに紐付くチケットを種別分けする為のカスタムフィールドを作成します。

  • 形式:リスト
  • 名称:チケット種別
    • 科目
    • 勉強
    • レポート
    • 試験
  • 選択肢:ドロップダウンリスト
  • チェック項目:必須、全プロジェクト向け、フィルタとして使用、検索対象
  • 表示:全てのユーザー


では次に設定方法を説明します。


まず、TOPページ右上の「ユーザー名」をクリックして「管理」をクリックします。

f:id:junpellitteri:20190406173301p:plain
画像18


管理画面に遷移したら「カスタムフィールド」をクリックします

f:id:junpellitteri:20190406173053p:plain
画像19


カスタムフィールド一覧画面に遷移したら「新しいカスタムフィールド」ボタンをクリックします。

f:id:junpellitteri:20190406173511p:plain
画像20


オブジェクト選択画面に遷移しますので、「チケット」を選択して「次>>」ボタンをクリックします。

f:id:junpellitteri:20190406173502p:plain
画像21


設定画面が表示されますので、以下の画面の通り入力し「保存」ボタンをクリックします。

f:id:junpellitteri:20190406173450p:plain
画像22

トラッカーの設定

トラッカーはRedmine公式の説明ではまずはじめに大分類と記載されていますが、他にもワークフローの定義や使用できるフィールドの設定、フィールドの権限設定など幅広く使う事ができるので、実際の現場では大分類的に使用する事はあまりありません。

ただ、今回はそこまで詳細に設計をする必要はないので、デフォルトのトラッカーをであるTaskのみを使用します。

前項で作成したカスタムフィールドを使用できる様にする必要があるのでTaskトラッカーの設定をします。


TOPページ右上の「アカウント名」をクリック後「管理」をクリックし、管理画面に遷移します。

f:id:junpellitteri:20190406173101p:plain
画像23

「トラッカー」をクリックしトラッカー一覧に遷移後「Task」リンクをクリックし編集画面に遷移したら、「カスタムフィールド」にチェックをいれ「保存」ボタンをクリックします。

f:id:junpellitteri:20190406173437p:plain
画像24

チケットの作成

ここまで設定が長かったですが、やっとチケットの作成です。

Redmineは基本的にチケットベースでプロジェクトを管理していくのですが、今回は1タスク1チケットでタスクとしてチケットを作成していき、それぞれのチケットをプロジェクトの階層の項目で説明した通りに階層化していきます。

具体的には以下の通りです。チケットの()内は関連性となります。

北海道情報大学 勉強計画(プロジェクト)
   └ 2019年度前期(バージョン)
      └ 科目(チケット)
         ├ 勉強(科目の子チケット)
         │   ├ 単元1(勉強の子チケット)
         │   ├ 単元2(勉強の子チケット)
         │   …
         │								
         ├ レポート(科目の子チケット)
         │  ├ レポート作成(レポートの子チケット)
         │ └ レポート提出(レポートの子チケット)
         │
        └ 試験(科目の子チケット)
           ├  試験申し込み(試験の子チケット)
          └  試験実施(試験の子チケット)

チケットの関連性

Redmineではチケット同士の関連付けが可能です。

これにより親子関係を設定する事ができますので、この親子関係によってチケットの階層化が可能となります。

また、親子関係を設定し階層化すると、子チケットが全て完了しないと、親チケットを完了にする事ができないので、タスクの取りこぼしを防ぐ事ができます。

ここでは例として私が実際に2019年度前期で履修登録している「コンピュータの構成」と言う科目の

  • 親チケットの「科目」チケットの作成
  • 科目チケットの子チケットである「勉強」チケットの作成
  • 更に勉強チケットの子チケットである「単元」チケットの作成

を説明させていただきます。

科目チケットの作成

プロジェクトのTOPページよりチケットをクリックし、チケットページへ遷移します。

「新しいチケット」ボタンをクリックししたらチケット作成画面へ遷移しますので、以下の通り設定します。

  • トラッカー:Task
  • 題名:任意の科目名
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:作成する科目の授業・試験形式を選択
  • 対象バージョン:2019年度前期
  • 開始日:作成する科目の開始日を任意で設定
  • 期日:作成する科目の期日を任意で設定
  • チケット種別:科目


入力できたら画面最下部の「作成」ボタンをクリックします。

勉強チケットの作成

次に勉強チケットを作成します。

チケット一覧画面にて先ほど作成したチケットをクリックすると科目チケットの詳細画面へ遷移しますので、画面の右下にある「子チケット」欄の「追加」ボタンをクリックします。

  • トラッカー:Task
  • 題名:勉強チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】勉強)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:作成する科目の授業・試験形式を選択
  • 対象バージョン:作成する科目の時期を選択
  • 親チケット:先ほど作成した科目チケットの番号が設定されています
  • 開始日:作成する科目の勉強開始日を任意で設定
  • 期日:作成する科目の勉強期日を任意で設定
  • チケット種別:勉強

入力できたら画面最下部の「作成」ボタンをクリックします。

単元チケットの作成

次に単元チケットを作成します。

このチケットには実際に勉強していく内容をチケットとして記載していきますので、便宜上単元チケットと呼んでいますが、自分が勉強する上でやりやすい単位でチケットの粒度を決めて行けば良いかと思います。

作成方方法はチケット一覧画面にて先ほど作成した勉強チケットをクリックすると勉強チケットの詳細画面へ遷移しますので、画面の右下にある「子チケット」欄の「追加」ボタンをクリックします。

  • トラッカー:Task
  • 題名:どの科目の単元チケットであるかがわかる名前を任意で設定
    • (例:【コンピュータの構成】1.1 コンピュータサイエンスとはなにか)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:作成する科目の授業・試験形式を選択
  • 対象バージョン:作成する科目の時期を選択
  • 親チケット:先ほど作成した勉強チケットの番号が設定されています
  • 開始日:作成する単元の勉強開始日を任意で設定
  • 期日:作成する単元の勉強期日を任意で設定
  • チケット種別:勉強

入力できたら画面最下部の「作成」ボタンをクリックします。

単元の数だけ作成していきます。

レポートチケットの作成

レポートチケットは、科目チケットの子チケットとして作成します。
また、さらに子チケットとして実際のタスクである「レポートの作成」と「レポートの提出」チケットを作成します。

チケットの期日を実際のレポート提出期日に設定しておく事でいつのまにか提出期日が過ぎていたなんて事を防げると思います。

【レポートチケットの設定】

  • トラッカー:Task
  • 題名:レポートチケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】レポート)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:作成するレポートの科目の授業・試験形式を選択
  • 対象バージョン:作成するレポートの科目の時期を選択
  • 親チケット:科目チケットの番号を設定
  • 開始日:作成する科目のレポート作成開始日を任意で設定
  • 期日:作成する科目のレポート作成期日を任意で設定
  • チケット種別:レポート

【レポート作成チケットの設定】

  • トラッカー:Task
  • 題名:レポート作成チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】レポート作成)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:作成するレポートの科目の授業・試験形式を選択
  • 対象バージョン:作成するレポートの科目の時期を選択
  • 親チケット:前述のレポートチケットの番号を設定
  • 開始日:作成する科目のレポート作成開始日を任意で設定
  • 期日:作成する科目のレポート作成期日を任意で設定
  • チケット種別:レポート

【レポート提出チケットの設定】

  • トラッカー:Task
  • 題名:レポート提出チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】レポート提出)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:提出するレポートの科目の授業・試験形式を選択
  • 対象バージョン:提出するレポートの科目の時期を選択
  • 親チケット:前述のレポートチケットの番号を設定
  • 開始日:提出する科目のレポート提出期間の開始日を任意で設定
  • 期日:提出する科目のレポート提出期日を任意で設定
  • チケット種別:レポート

試験チケットの作成

試験チケットも、科目チケットの子チケットとして作成します。
北海道情報大学通信教育部の場合、会場試験の場合は事前に受験登録を行わないと受験資格が得られない為、「試験登録」と「試験実施」チケットを作成する事にしました。

こちらもレポートチケット同様、試験登録チケットの開始日と期日をきちんと設定しておく事で、いつのまにか登録期日が過ぎていたなんて事を防げると思います。

【試験チケットの設定】

  • トラッカー:Task
  • 題名:試験チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】試験)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:対象試験の授業・試験形式を選択
  • 対象バージョン:対象試験の時期を選択
  • 親チケット:科目チケットの番号を設定
  • 開始日:対象試験の試験登録開始日を任意で設定
  • 期日:対象試験の実施日を任意で設定
  • チケット種別:試験

【試験登録チケットの設定】

  • トラッカー:Task
  • 題名:試験登録チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】試験登録)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:対象試験の授業・試験形式を選択
  • 対象バージョン:対象試験の時期を選択
  • 親チケット:前述の試験チケットの番号を設定
  • 開始日:対象試験の試験登録開始日を任意で設定
  • 期日:対象試験の試験登録期日を任意で設定
  • チケット種別:試験

【試験実施チケットの設定】

  • トラッカー:Task
  • 題名:試験実施チケットである事がわかる名前を任意で設定
    • (例:【コンピュータの構成】試験実施)
  • ステータス:Open
  • 優先度:通常
  • カテゴリ:対象試験の授業・試験形式を選択
  • 対象バージョン:対象試験の時期を選択
  • 親チケット:前述の試験チケットの番号を設定
  • 開始日:対象試験の試験実施日を任意で設定
  • 期日:対象試験の試験終了日を任意で設定
  • チケット種別:試験

勉強の進め方

一通り設定できましたので、ここからはRedmineでの勉強の進め方を説明します。

基本的な勉強の進め方は以下となります。

  1. 作成した単元チケットの内容の勉強を開始したら「ステータス」を「進行中」にする
  2. 勉強の進捗具合に合わせて単元チケットの進捗率を増やしていく
  3. 1つの単元チケットの内容の勉強が完了したらチケットの「ステータス」を「完了」にする
  4. 手順1〜3を繰り返す
  5. 全ての単元チケットのステータスが完了になったら勉強チケットの「ステータス」を「完了」にする

この流れで勉強する事によって、進捗具合をガントチャートで可視化できます。
勉強チケットだけでなく他のレポートや試験に関しても同じ様に、ステータスと進捗率を適切に設定していく事で進捗具合をつかむ事が可能です。


だいぶ長い記事になりましたが、お付き合い頂きありがとうございました。
本記事の内容を参考に自分なりの勉強の進め方を構築して頂ければと思います。