システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

R Markdownでプロジェクトマネジメント(WBS編

今回はプロジェクトマネジメント関連のお話になります。

プロジェクトマネジメントに必須のドキュメントと言えばプロジェクト計画書ですが、本来はプロジェクト期間中常にアップデートされていかなければなりません。

ただ、忙しい日々の業務の中でプロジェクト計画書を更新していくのは並大抵の苦労ではありません。実際は殆ど更新されず、無用の長物になってしまっているのではないでしょうか。

今回は楽にプロジェクト計画書を更新するための試みとしてR Markdownを使ったプロジェクトマネジメントを考えていきたいと思います。

R Markdownとは

R Markdownは基本的にはMarkdownですが、RチャンクによりRのコードを実行できることに特長があります。Jupyter notebookのRバージョンと言った方がわかりやすいかもしれません。このR MarkdownはRStudioを使用してword,html,pdf形式で発行することができますので、他人との共有も簡単です。

これにより各エクセルシートで更新されている

をR Markdownで書かれた計画書に取り込むことで、常に最新の情報にアップデートされたプロジェクト計画書が手に入ると考えています。

(各エクセルシートは常に更新されているという前提です。これはこれでやや無理のあるというか難しい仮定なのですが……)

 

今回R Markdownでプロジェクト計画書を作成するにあたっては下記を参考にしました。

qiita.com

gihyo.jp

mrunadon.github.io

 

RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−

RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−

 

エクセルのWBSを取り込む

ここでWBSをエクセルで管理しているとして、それをR Markdownに取り込んでみます。

例として下のようにWBS.xlsxを作成しています。

f:id:Otepipi:20190127175934p:plain

WBS.xslx

これをR Markdownに取り込みます。プロジェクト計画書に取り込み、htmlで発行した結果下記のようになります。エクセルの内容が取り込まれており、エクセルの中身を変更した場合でも、それが反映されるようになります。

f:id:Otepipi:20190127184605p:plain

R Markdownのコードは下のようになります。Rのコードの解説はコメントアウトされています。

 

---
title: "プロジェクト計画書"
author: "プロジェクトマネージャー"
date: "2019年1月27日"
output: 
  html_document:
    
    df_print: "paged" #テーブルの表示設定
    toc: yes #目次あり。見出しレベル2まで表示
    toc_float: true #ページ左に見出し一覧表示
  word_document:
    toc: yes
---



```{r setup, include=FALSE} 
## 使用するライブラリの読み込み
library(tidyverse) ##データ操作、グラフ化
library(readxl) ##エクセルデータ読み込み
```


## WBS
ここにプロジェクトの作業項目一覧を記す

```{r WBStable} 
dat_wbs <- read_excel("WBS.xlsx",sheet = 1) #エクセルファイルの読み込み。
knitr::kable(dat_wbs) # テーブルの表示
```

 

 また、R Markdwon側で表を加工することができます。例えば進捗にバーチャートをつけることができます。

f:id:Otepipi:20190127191900p:plain

 

 

これは下記のようなコードで表現できます。

library(formattable) ##キレイな表のライブラリ
formattable(dat_wbs,list(進捗 = color_bar("tomato"))) #wordには対応していません

 

これによって進捗状況などの視覚化はR Markdwon側で行うことができます。

これによってggplotをはじめとしたRの強力な視覚化ライブラリを使うことができ、より見やすい計画書になります。

 

今回はここまでにします。