もうExcel管理は嫌だ！小さなチームを軽量OSSで回そう（DevHub+TaskQuest）


これは、小さなチーム管理のためにいろいろ採用したり内製したりした経験のログです。

##モチベーション

![スクリーンショット 2014-10-10 14.06.57.png](https://qiita-image-store.s3.amazonaws.com/0/32596/50559cb3-1a73-d62a-2077-390f1a90f613.png "スクリーンショット 2014-10-10 14.06.57.png")


下記の２つのファイルがあるつらみは計り知れません。

- ガントチャート.xls
- 課題管理表.xls

もっと軽量に、楽しく、リアルタイムに、Windows非依存でやりたい。

##やりたかったこと

数名レベルの小規模チーム向けに、下記システムを構築したい。
※ただし、外部にデータがおけないので、オンプレミスで。

- 情報共有
- チャット
 - ちょっとした確認を非同期で行えるようにしたい。
- 簡易なタスク管理
 - メンバーのタスクが終わって手が空いたことを知りたい


#導入したもの１：DevHub（チャット・通知・情報共有）

プログラマの為の開発支援コミュニケーションツール。作業中メモをリアルタイム共有する。

https://github.com/volpe28v/DevHub



###特徴

- チャット
- メモ共有
- 簡易ブログ機能

###チャット＋メモ画面

![DevHub.png](https://qiita-image-store.s3.amazonaws.com/0/32596/981bf676-08ee-b81b-151c-e6058100d5de.png "DevHub.png")


###ブログ機能

ある程度メモに内容がまとまってきたら、
パーマリンクをつけて共有したくなってきます。
その場合はブログ機能を使います。

まず、共有メモの内容を範囲選択し、「Move to blog」を押下します。

![DevHub２.png](https://qiita-image-store.s3.amazonaws.com/0/32596/46f44292-f88c-17b4-e203-9443a0cd8979.png "DevHub２.png")


すると、選択範囲の文字はBlogに移動されます。
Permalinkからリンクをコピーして共有します。


![DevHub_と_Microsoft_Remote_Desktop.png](https://qiita-image-store.s3.amazonaws.com/0/32596/66e15ca1-b959-31db-cd9b-bd1119e98c15.png "DevHub_と_Microsoft_Remote_Desktop.png")

Wikiよりはおおざっぱですが、
「チャットで議論→みんなで下書き→記事化して共有」という流れが簡易にできるので、記事作成の敷居は非常に低いです。


#導入したもの２：TaskQuest（タスク管理）

https://github.com/hashrock/taskquest

かんばんです。

![スクリーンショット 2014-10-10 13.41.28.png](https://qiita-image-store.s3.amazonaws.com/0/32596/47acf729-e73f-f795-5273-b4240ce341ee.png "スクリーンショット 2014-10-10 13.41.28.png")

というかこれは内製しました。
最初はRedmineを使っていましたが、多機能過ぎて使いこなせなかったため、
今話題のMEANスタックで作ってドッグフーディングしています。


タスクを完了に移動すると、DevHubに通知が行きます。
操作や表示は使い慣れたTrelloに近づけました。
あと、お遊び的に、GitHub風のアクティビティグラフがついています。
これで草原を会社でも広げることができます。

順序が保存されないなど、まだまだ作りは荒いのですが、一応これで回ってはいます。

#導入したもの３：Gitlab（中央レポジトリ・Issue管理）

GitHubでもGitBucketでも良いのですが、
何かしら一つは必要です。
今回は評判の良いGitLabを選定しました。

GitLabのPush時に通知が欲しかったので、
通知用のサービスをNodeでざっくり自作して、
DevHubに連携するようにしています。

https://github.com/hashrock/DevhubHook

![DevHub_for_WebTeam.png](https://qiita-image-store.s3.amazonaws.com/0/32596/4de8c8fb-fdb3-c308-9868-6c4b83a85f31.png "DevHub_for_WebTeam.png")

このように通知されます。

# できたこと

- Excelを開くことがあまりなくなった。
- ファイル共有が楽になった。
- チャットが導入されて、みんな質問とかにちょっとずつ使うようになってきた。
- 電話や会議の内容が文字に残されやすい環境ができた。
- pushがあるとすぐにDIFFを見てレビューできる環境ができた（GitLabのおかげ）

通知の連携は下の図のような感じです。

![スクリーンショット 2014-10-10 12.45.36.png](https://qiita-image-store.s3.amazonaws.com/0/32596/33bcec8e-5a19-afa1-859b-1eff32c78466.png "スクリーンショット 2014-10-10 12.45.36.png")



# これから

* 共有メモの使い道はまだ模索中。今のところチェックリストを作ってマイルストーン管理に使ってる。
* ざっくり管理の方針でやってきたが、ざっくりすぎるかも。
 * お客さん向けに見積もりや進捗をすぐ出せるようにしたい
* Hubotと連携できると、もっと連携先が増えて楽しいかも。

# 2016/08/24 追記

現在の運用ですが、ここで書いたものとはだいぶ異なっています。

 * DevHubも使っていますが、現在は[slackの分報](http://c16e.com/1511101558/)が活発です。
 * 今もGitLab中心の運用となっています。[GitLabにカンバンが最近導入された](https://about.gitlab.com/2016/08/22/gitlab-8-11-released/)ようなので、そちらにスイッチするかもしれません。
 * カンバンには現在[Wekan](https://wekan.io/)を使っています。Issueとタスクは別管理にした方が良いような気がしています。
 * Jenkinsタスクはまだありますが、dockerを使うことが推奨されるようになったため、CIやオートデプロイ用には[GitLab CI](https://about.gitlab.com/gitlab-ci/)が活用されています。

# 2017/09/13 追記

 * 現在は、GitLab上のカンバンビューとアナログカンバンを併用しています。
 * チャットはSlackに一本化しました。
 * Jenkinsは廃止され、GitLab CIに一本化されています。
 * 業務に関連した資料は、オンプレミスのOwnCloudで管理しています。