読者です 読者をやめる 読者になる 読者になる

works4Life

飯と酒と時々GTD

JIRAって素晴らしい!!

 

■記事概要

今会社でJIRA以外の別のタスク管理ツールを使ってるんだけど、そろそろ要望が出てきて、この要望だったらJIRAは既に解決してるんだよなーつくづくJIRAっていいよなーって思い出して書いた記事。

 

◆JIRAってなあに?

JIRAとはイシュートラッキングシステムの一つで、バグトラッキングシステム(BTS)ともいうべき素晴らしい製品だ。

ところで私が製品を素晴らしいと褒め称えるのは珍しい。そもそもJIRAになんでこんなに感情が入れ込んでるのかも、私自身不思議でならない。

確かに昔設定が大変で、その設計思想に頭がうにってつらい時もあった。その苦労を乗り越え、設計思想を理解し、設定一式を自由自在に設定できるようになって征服できたという気持ちもあろう。とはいえ、それにしたって私が褒め称えるのは珍しい。どこがそんなにいいんだろう?

ちなみに、自分の場合、JIRAは二桁のプロジェクトを関連会社込みで回したぐらいの運用を行っていた。

 

◆JIRAのいいところは、柔軟なワークフロー設計と、ひどくつらくはない設定

JIRAのどこがいいかを説明するのは難しい。ふと考えると、いろんな加味すべき内容をいっしょくたに詰め込むことができるのが、JIRAのいいことだ。

 

◆◆ ワークフロー

まずはワークフロー。個別のワークフローを作れなくては全くもって意味がない。ちょうど私が対応しなくてはならなかったのは、各環境毎のリリースを経由して最終的に本番環境してクローズするタイプのBTSだ。この環境に合わせてワークフローをカスタマイズする必要があった。

しかし、ワークフローができたからといって、BTSがうまく稼働するわけではない。

 

◆◆ 入力項目

次に入力項目だ。各ワークフローで必要な入力項目がある。正直それ以外は見せてはならない。これを各画面で調整することが、JIRAではできた。

これで、入力する際のストレスは減る。しかし、ほかにもうまく稼働しない理由はある。

 

◆◆ フロー権限

誰がどこまでステータスを進めていいか、これを制御しないといけない。無法地帯ってのは、好き勝手にできるもんで、これができ始めると、適当に場を荒らしてしまって、せっかくのルールによって整備されたシステムが全く無意味なものになってしまう。ワークフローでどのステータスを誰が進めることができるか、という権限管理もちゃんとしてないといけない。JIRAはこの権限設定ができた。

 

◆◆ 三位一体

JIRAの素晴らしいのは、この3つの加味しなくてはならないものを、ちゃんと整合性だって設定することができたからだ。

まー設定に落とし込むまでに、設計思想洗い出さないとダメだったけどね!!

ひどくつらくはない設定というのはそこまで落とし込むことができたからであって、一から上記3つを全部やりたいことつっこんで設定しようとすると、かなり頑張る必要があると思う。がんばれ!

ローカルテストから複数環境またいでリリース管理しなくちゃいけないっていう状況に対応してくれたのがJIRAでした。そういう構成管理やっててうまいやり方が見つかってないんだったら、JIRAを使ってみるのはいいと思うよ。

 

◆しかし、JIRAにも問題点はある

とはいってもJIRAにも問題点はある。

・スキームのバージョン管理
・スキームのリサイクル
・複数プロジェクトがある場合の検索画面
・やりたいことを設定に落とし込む難しさ
・IFの表示非表示ができないこと

 

◆◆スキームのバージョン管理

スキームのバージョン管理にはまだこなれておらず、プロジェクトが増えるたびに項目が増える。

運用が進むと、スキームを更新しなくちゃいけないんだけど、一応確認とか必要になってくるんで、その時の対応がどうにもスマートじゃなかった。スキームの生き死にとかいろいろあって、その管理が結局放置になって汚くなるのがどうにもいかんともしがたい。というかそれもJIRAで管理すればええのか。

 

◆◆スキームのリサイクル

共通ルールと、個別ルールをいかに育てていくかの最適解が見つからなかった。私の場合だけど。

スキームのリサイクルは、上記のバージョン管理がうまくいってないので、リサイクルがうまくいかないのもむべなるかなだ。ここでいうリサイクルっていうのは、基本のルールは必要だねと、各プロジェクトにローカライズする必要性があるよねと、そこをどうやって折り合いつけて、基本のルールも育てていくか、ということあたりを指してる。ここの部分は結局うまくできなかった。別に製品の話じゃなくて、運用ルールの問題のような気もしてきた。。

 

◆◆複数プロジェクトがある場合の検索画面

複数プロジェクトがある場合の検索画面。これがまあ汚い。

JIRAにはカスタムフィールドが作成できて、個別に項目作れるのね。それを検索対象にすると、そこのプロジェクトに関わっていなくても検索画面に項目が表示されてしまうとゆー。で、プロジェクトが50とか100とかあると、それに関係するカスタムフィールド分が全部出るとゆー。アイヤー。

 

◆◆やりたいことを設定に落とし込む難しさ

いろいろこまごま権限回りなどを対応しようとすると、設定が難しい。

うっかり忘れがちなんだけど、やりたいことがあっても、JIRAはいろいろ設定できるので、どの方法をとったらどういう風に影響がなくてスマートに対応できるのか、と実装方法を考えるのが、とんでもなく面倒くさい。

て私は感じたんだけど、以前JIRA使ってる人に話聞いたら「JIRA楽ちんだよー!!」て言ってたけどなんか印象違う。。 管理者どうなの?!

 

◆◆IFの表示非表示ができないこと

いらない項目はなるたけ表示したくないのだが、それができない。

JIRAを使う人間は多数に及ぶ。あまりウェブサービスに明るくない人間も使う。こういった人が使う際に、ウェブサービスで困るのは、不要な項目が表示されていた場合だ。画面上で、自分は何の作業をすればわからなくなる。

これは私も同意で、なので、各画面によって表示を切り替えることのできるJIRAは素晴らしいと思うんだけれども、左側とか上記だとか、そういう部分も制御をしたいのだ。しかしできない。

 

◆問題点から見るJIRAの成熟度と素晴らしさ

というわけで、JIRAの問題点は、二桁台のプロジェクトが同時に活動してる際に出てくる問題、あるいは複数プロジェクトを運用していく際に出てくる問題、てのが台頭している。

これが何を意味しているか?それは、システムがそこまでに成熟しているということだ。

問題は順序立って生じる。最初は個別動作による問題、それから複数展開した場合の問題、それから長らく使っていくための問題、それぞれの問題は異なる。また、それらの各々の問題は、そこにいきつくまでのすべての問題が解消したときに、ようやく出てくる。

つまり、JIRAは通常運用時の問題は大抵解消されていて、システムとしては成熟しているということだ。すばらしい!

運用途中、途中なんでこんな設定が必要になるの?といぶかしんだ設定もある。けれどもそれは徐々に使っていくにつれて、その必要性を私も理解することができた。具体的なスキームを言えば、スクリーンスキームだ!

これを知った時、私は非常に感動したものだ。だって自分がこういう設定がほしいと思ったものが、そのままあるんだもん。そして、同じ要望に誰かが行き着いたんだ、ということに非常に歓喜したわけなんだけど、誰も分かち合う人がいないこの寂しさよ。

 

◆最後に成果物

社内でもそもそやってたんで、あまり誰とも共有できなったJIRA。けれども、いかに人に使ってもらうために、こまごましたローカライズなアプローチや、それを回りに浸透させるまでにはどうしたらいいのか、問題点がそのシステムの成熟度を表したりするものだとか、そういうことを学ぶことができた、いい体験だった。

最後に、私がJIRAを理解するのに使ったスキームや要素の関連図をはっつけて終わりとする。ちなみにこれは、Versionは3.8.1のものなので、最新版とは関連が異なるかも。

 

JIRAスキーム関連図