TSUBOCK★LABO-ツボックラボ-

とあるセキュリティエンジニアの技術メモブログ

MENU

PlantUMLを使ってMarkdownでガントチャートを作成してみる

なんでもできちゃうPlantUMLですが、ガントチャートもMarkdownで書けるようなので、試しに書いてみました。

事前準備

PlantUMLが使用できる環境を用意しましょう。

  • VSCodeに拡張機能をインストールする
  • Joplinに拡張機能をインストールする

のどちらかが手軽でいいと思います。

早速書いてみた

今回は2022年2Q(4月~6月)の試験計画(仮)でも書いてみようと思います。

まず、2Qでは

  • 情報処理安全確保支援士
  • CKAD(バウチャが余ってる)
  • AWS CLF
  • AWS SAA

を取りたいと考えています。(CISSPはその後に集中してやります。)ということで学習計画をそれぞれガントチャートに起こしてみたいと思います。

@startuml
title 資格取得試験学習計画2022Q2
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05
[情報処理安全確保支援士] ends 2022-04-16
[情報処理安全確保支援士 試験日] starts 2022-04-17
[CKAD] starts 2022-04-18
[CKAD] ends 2022-05-06
[CKAD 試験日] starts 2022-05-07
[AWS CLF] starts 2022-05-08
[AWS CLF] ends 2022-05-14
[AWS CLF 試験日] starts 2022-05-15
[AWS SAA] starts 2022-05-16
[AWS SAA] ends 2022-05-30
[AWS SAA 試験日] starts 2022-05-31
@enduml

これで出力されるガントチャートはこんな感じ。

f:id:panda-loves-smile:20220405163335p:plain

期間が長いと結構横長になる模様。。。

上記はタスクに対して開始(starts)、終了(ends)を指定していますが、開始から何日間(期間)で指定することも可能です。

4月だけ抜粋して書き方を変えてみました。

@startuml
title 資格取得試験学習計画2022Q2
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05 and lasts 12 days
[情報処理安全確保支援士 試験日] starts 2022-04-17
@enduml

f:id:panda-loves-smile:20220405163433p:plain

色がないと味気ないですね・・・ということで、特定日を網掛けすることができます。例えば土日を休日みたいにする場合はこんな感じ。

@startuml
saturday are colored in pink
sunday are colored in pink

title 資格取得試験学習計画2022Q2
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05 and lasts 12 days
[情報処理安全確保支援士 試験日] starts 2022-04-17
@enduml

f:id:panda-loves-smile:20220405163506p:plain

土日で指定していますが、土日で終わってしまう場合は網掛けされないようです(バグ??)

計画の期間が長くなると、作成される図も横が圧縮されてしまうので、期間が長くなる場合はスケールの変更するとよいかもしれません。

スケール幅は

  • daily - 日(デフォルト)
  • weekly - 週
  • monthly - 月
  • quarterly - 四半期
  • yearly - 年

でそれぞれ設定が可能です。 上記の学習計画を週単位にしてみたいと思います。

@startuml
title 資格取得試験学習計画2022Q2
printscale weekly

saturday are colored in pink
sunday are colored in pink
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05
[情報処理安全確保支援士] ends 2022-04-16
[情報処理安全確保支援士 試験日] starts 2022-04-17
[CKAD] starts 2022-04-18
[CKAD] ends 2022-05-06
[CKAD 試験日] starts 2022-05-07
[AWS CLF] starts 2022-05-08
[AWS CLF] ends 2022-05-14
[AWS CLF 試験日] starts 2022-05-15
[AWS SAA] starts 2022-05-16
[AWS SAA] ends 2022-05-30
[AWS SAA 試験日] starts 2022-05-31
@enduml

上記の反映結果はこちら

f:id:panda-loves-smile:20220405163920p:plain

段々ガントチャートらしくなってきました。

長期の期間だったら集や月単位で出して、直近の予定だったら日単位で出すとちょうどいいかもしれないですね。

図に進捗率を出すことができるので例えば過去にCKADの勉強を進めてるので30%の進捗率としましょう。各試験日は赤色にして目立つようにしてみます。情報処理安全確保支援士は期間が近くなってきたので黄色にしてみます。と、色々装飾を変更すると下記のような感じになります。

@startuml
title 資格取得試験学習計画2022Q2
printscale weekly

saturday are colored in pink
sunday are colored in pink
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05
[情報処理安全確保支援士] is colored in yellow
[情報処理安全確保支援士] ends 2022-04-16
[情報処理安全確保支援士 試験日] starts 2022-04-17
[情報処理安全確保支援士 試験日] is colored in red
[CKAD] starts 2022-04-18
[CKAD] is colored in skyblue
[CKAD] is 30% completed
[CKAD] ends 2022-05-06
[CKAD 試験日] starts 2022-05-07
[CKAD 試験日] is colored in red
[AWS CLF] starts 2022-05-08
[AWS CLF] is 3% completed
[AWS CLF] ends 2022-05-14
[AWS CLF 試験日] starts 2022-05-15
[AWS CLF 試験日] is colored in red
[AWS SAA] starts 2022-05-16
[AWS SAA] is 0% completed
[AWS SAA] ends 2022-05-30
[AWS SAA 試験日] starts 2022-05-31
[AWS SAA 試験日] is colored in red
@enduml

上記の反映結果はこちら

f:id:panda-loves-smile:20220405163958p:plain

また、thenで繋げると直前のタスクからの依存を表現できます。

@startuml
title 資格取得試験学習計画2022Q2
printscale weekly

saturday are colored in pink
sunday are colored in pink
language ja
Project starts 2022-04-05
[情報処理安全確保支援士] starts 2022-04-05
[情報処理安全確保支援士] is colored in yellow
[情報処理安全確保支援士] ends 2022-04-16
then [情報処理安全確保支援士 試験日] starts 2022-04-17
[情報処理安全確保支援士 試験日] is colored in red
[CKAD] starts 2022-04-18
[CKAD] is colored in skyblue
[CKAD] is 30% completed
[CKAD] ends 2022-05-06
then [CKAD 試験日] starts 2022-05-07
[CKAD 試験日] is colored in red
[AWS CLF] starts 2022-05-08
[AWS CLF] is 3% completed
[AWS CLF] ends 2022-05-14
then [AWS CLF 試験日] starts 2022-05-15
[AWS CLF 試験日] is colored in red
[AWS SAA] starts 2022-05-16
[AWS SAA] is 0% completed
[AWS SAA] ends 2022-05-30
then [AWS SAA 試験日] starts 2022-05-31
[AWS SAA 試験日] is colored in red
@enduml

f:id:panda-loves-smile:20220405164707p:plain

進捗率まで視覚化されてくると、業務でも使えそうな感じがしてきました。Markdownでガントチャート書けるのちょっと楽しいです。

公式サイトを見るとリソースの割り振りとかも表現できたりするようなので、結構柔軟に表現できそう。少なくともEXCELと睨めっこすることしなくて良さそうなのでラクチンですね。

今年度の仕事の計画はこれで書いてみようw あとこれで今年の目標設定の具体的な行動計画を立ててみようかな🤔

参考文献