30分で手に入れる、 Beautifulなスクラムツール「Taiga」
こんにちは。広告システム開発部の瀬川です。
medibaの開発プロジェクトでは
スクラムを採用するチームをよく目にします。
私も開発メンバーとしてスクラムに参加してきましたが、
利用するツールに迷っていた時期がありました。
今回はそんな時期に出会った、
『オープンソースのスクラムツール「Taiga」をAmazon EC2で使えるようにするまで』
をご紹介させていただきます。
なぜTaiga?
今まで使ったWebツールの詳細については控えさせていただきますが
みなさんはスクラムツールを使ってきて、
こんな思いを抱いたことありませんでしたか?
- ツール利用料がなんとなく高い気がする。。
- 設定項目が多すぎる。。
- 画面が味気ない。。
私は上記のような不満を多少なりとも感じていました。
一見、スクラムを実行するのに上記項目は無関係に思われるかもしれませんが、
「使いたくなるツール」は
きっとスクラムを継続することを後押ししてくれると考えました。
「参加したくなる会議の仕組み」と同様に大切なことではないでしょうか。 したがって、
- 料金的に敷居が低く
- 触っていて楽しい
- モチベーションをあげてくれる
そんなツールを探していました。
Taigaとは?
そんなときに出会ったTaigaの特徴は
- オープンソース
- 無料で使える(有料プランもあり)
- シンプルに使える
- Best Agile Tool 2015 授賞
と公式ページに記載があります!
その他の特徴については
オシャレな公式ページで、是非チェックしてください!
この公式ページを見たときに「なにこれ、カッコいい!」と思い、
「使ってみたい欲」がぐぐぐっと高まりました!
いざ!インストール!
さて、それではインストールしてみましょう。
Taigaはネットワーク経由で利用できるプランだと1プライベートプランつき25人まで無料です。 (詳細は料金表参照)
ですが、今回はカスタマイズも視野に入れて、
AWSのEC2(ubuntu)にGitHubからソースをcloneし、Amazon EC2にインストールしてTaigaを利用しましょう!
これならAWSの利用料金だけを考慮すればよいですね。
(この場合の注意事項は後ほど記述します。)
準備するもの
- AWS EC2 (ubuntu 14.04 )
こちらは割愛いたします!
特別な設定はいりません。t2.microで作成しました。
※Amazon EC2でubuntu利用する場合、デフォルトユーザーは「ubuntu」なのでご注意ください。
ssh -i ~/.ssh/taiga.pem ubuntu@ec2-12-345-678-901.ap-northeast-x.compute.amazonaws.com
インストール手順
Taigaのインストールに必要なのでgitをインストールします。
sudo apt-get install git
次にTaigaのインストール用スクリプトをcloneします。
git clone https://github.com/taigaio/taiga-scripts.git
そしてインストール用のシェルを実行します。
cd taiga-scripts
bash setup-server.sh
インストールは以上です。
こちらがアクセスした際の画面です。
ID/PASSWORD:
admin/123123
が管理者の初期設定となっております。
早速
プロジェクトを作る
↓
スプリントを作成する
↓
ユーザーストーリーを作る
↓
タスクを作る
↓
ユーザーストーリーをスプリントに登録する
の手順でやってみましょう!
まずプロジェクトを作成します。
KANBANだけでよければKANBANを、
そうでなければSCRUMを選択してください。
ちなみにSCRUMでもKANBANモジュールを後で追加できますのでご心配なく。
こちらがプロジェクトのトップ画面です。 この画面で、
- プロジェクトゴールまであと何ポイントか
- 優先度の高いユーザーストーリーはどれか
- 今のスプリントのポイント数と消化されたユーザーストーリー
などがわかります。
次にスプリントを作成しましょう。 sprint1、続けてsprint2の2つを作ってみます。
スプリントの作成フォームでは「last sprint is xxxx;-)」のように前のスプリント名がサポート表示されるのがちょっとだけ嬉しいです。
こちらがsprint1、2を作成したあとのプロジェクトトップ画面です。
次にユーザーストーリーを作成してその中の必要なタスクを作り、
sprint1に登録しましょう!
ユーザーストーリー作成画面では
- タイトル
- ストーリーポイント
- 詳細
を入力します。他にもタグ付けやファイル添付もできます。 次にユーザーストーリーに必要なタスクを作成します。
タスクの作成が完了したらバックログからsprint1に移動しましょう。
作成したユーザーストーリーは一旦バックログに追加されます。
バックログからスプリントへの移動はドラッグ&ドロップで可能です。
複数件の移動も対象ユーザーストーリーのチェックボックスを
チェックしてドラッグ&ドロップします。
これでスクラムを開始する準備が整いましたね!
また、Taiga内でのアクションに応じて加点され、
得点の高いメンバーには称号?がもらえます!スプリントの終わりに話題になることもあります。
また、ユーザーストーリーに対して必要な項目を追加設定できます。
(カスタムフィールド)
例えばTaigaにはタイムトラッキングの機能が用意されていません。
その場合、カスタムフィールドの利用を方法の一つとしてTaigaは提案しています。
Why is there no Time Tracking?
注意事項
まず、taiga-script、ASP版によらず Taigaは日本語対応がされていません。説明などは全部英語です。 日本語入力はなんとかできます。
そしてtaiga-scriptでのインストール時の注意事項ですが、
その一つに
The installation is not 100% ready for production.
とあります。
いいですよ、無料で使わせてもらうのですから。。。
さぁ、いざチームメンバーをご招待!!…
あれ?招待メールが飛びません!!
せっかく入れたのにこのままでは一人ぼっちスクラムです。
早速修正していきましょう。
招待メールが飛ばない ~解決方法~
調べてみるとMTAがインストールされていないので、 postfixをインストールします。
sudo apt-get -y install postfix
そして設定ファイル
taiga-back/settings/local.pyを書き換えます。
cd ~/taiga-back/settings
vi local.py
修正前)
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "localhost"
#EMAIL_HOST_USER = ""
#EMAIL_HOST_PASSWORD = ""
#EMAIL_PORT = 25
修正後)
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_USE_TLS = False
EMAIL_HOST = "localhost"
#EMAIL_HOST_USER = ""
#EMAIL_HOST_PASSWORD = ""
EMAIL_PORT = 25
そしてnginxとcircusで動いているので circusを再起動すると招待メールが送れるようになりますが 詳細メール記載の登録用URLのドメインが localhost:8000になっているので下記修正も同時にやりましょう!
修正前)
# This should change if you want generate urls in emails
# for external dns.
SITES["front"]["domain"] = "localhost:8000"
修正後)
# This should change if you want generate urls in emails
# for external dns.
SITES["front"]["domain"] = "EC2のドメイン"
そしてcircusの再起動。
sudo service circus restart
これで招待メールが送れるようになりました!
こちらが招待されたユーザのサインアップ画面です。
Taiga is a project management platform for agile developers & >designers and project managers who want a beautiful tool that makes >work truly enjoyable
の通り、Beautifulですね。
おわりに
無事にインストールできましたか?
他のツールが中々見つからなくてもやもやしてる方!
AWSを利用できる環境であれば
簡単に始められるのでぜひ試してみてください。
すでにもっとこうしたい!!という改善点がありますので、
せっかくのオープンソースですからチームにあったカスタマイズに
チャレンジしていきたいと思います。
