今回は、システム開発を円滑にするだけでなく、開発チームの各人が進捗状況を把握するのに役立ち、また開発そのもののクオリティを上げることに寄与することができるプロジェクト管理ツール「JIRA Software」について、どんなことができるのか、また使うとどのようなメリットがあるのかということに焦点を当ててご紹介します。
欧米でディファクトスタンダードになっているプロジェクト管理ツール
欧米の人が発音すると、JIRAは”ジラ”あるいは”ジィラ”と聞こえます。オーストラリア シドニーに本拠地をもつAtlassian(アトラシアン)社のプロジェクト管理ツールです。筆者は、大手ECサイトの開発をアメリカのチームと行った際にJIRA Softwareを使用し、その便利さと素晴らしい機能に驚きました。JIRA Softwareはシステム開発に使用するプロジェクト管理ツールですが、単に開発工程を管理するというだけでなく、プロジェクトの進捗における問題点を浮き彫りにしたり、バグフィックスを効率的に行えるという点で、課題管理システムという呼び方のほうがしっくりくるかもしれません。JIRA Softwareは、欧米ではプロジェクト管理ツールとしてすでにディファクトスタンダードになっています。その理由を、JIRAの機能をご紹介しつつ探っていきたいと思います。
アジャイル開発を可能にするJIRA Software
JIRA Softwareは、主にアジャイル開発のために使用されます。ちなみに、アジャイル(Agile)とは「敏捷な」「すばやい」という意味の形容詞で、アジャイル開発とよく比較されるのが、従来のウォーターフォール開発です。開発開始から市場投入までの時間短縮が求められている昨今、アジャイル開発はその名の通り開発期間短縮に貢献する手法ですが、アジャイルだから良い、ウォーターフォールは古臭いということではなく、開発案件に応じて向き不向きがあるので、これから開発しようとする案件や自社の体制がどちらに向いているのか、判断して決めることが大切でしょう。
ウォーターフォール開発とアジャイル開発の違い
「滝」を意味するウォーターフォール(Waterfall)開発とは、上流工程から順々に開発を進めていく方式です。滝と言っても華厳の滝のように高い所から一気に流れ落ちるのではなく、写真のように段々に落ちていくイメージです。そして水の流れと同様に下から上に戻ることは無いというのもウォーターフォール開発方式の特徴です。そのため、テスト工程で不具合が発生すると要件定義まで戻ってやり直す、つまり手戻りの工数がかさんでしまうという問題があります。
一方、アジャイル開発は、仕様変更は当然発生するという前提で、全体としてはおおよその仕様の枠組みを考え、それを小さなプログラムの集合体として構成して、「要件定義→設計→開発→テスト」を繰り返して開発を進めていく開発手法です。1つ1つのプログラムが小さいので手戻りの工数も少なくて済むのです。アジャイル開発で指摘されている問題として、小単位で開発を進めるため、全体の進行状況を把握しにくいという欠点がありますが、JIRA Softwareは、「ストーリー」と呼ばれるその小単位を積み重ね、全体を「見える化」する機能があり、アジャイル開発のデメリットをカバーできるようになっています。
JIRA Softwareを使用するメリット
筆者がJIRAを利用した開発経験の中で感じたメリットのひとつとして、計画していたすべての機能を開発しないということがあります。一方、ウォーターフォール開発においては仕様書に記載されたものはすべて開発します。JIRAを利用したアジャイル開発においては、開発を進めているうちに「この機能要らないよね」というようなやり取りがあるとそれをすぐに実現できるのです。例えば、ECサイト開発案件において、当初はレビュー機能をオリジナルで作成する計画で進んでいたのですが、開発途中でクラウドサービスによるレビュー機能が日本語対応したことで、自社による開発をやめて外部サービス利用に変更したことがありました。ウォーターフォールでこれをやろうとすると仕様書を作り直して、それにともなって見積もりも作り直し、そしてその承認を得るというプロセスが必要になり、納期のことを考えると、結局、他に良いソリューションがあるのを知りつつ変更せずに走ってしまうということになります。
開発の過程で不要になった機能は、その分、開発コストや開発期間を少なくすることにつながります。それがJIRAによるアジャイル開発のメリットのひとつであると思います。
その他、開発者としてとても助かるのが、ドキュメント作成機能です。JIRAを使って開発を完了すると、同時にどのプログラムにどのくらい時間がかかったのかという明細を出力することができるので、開発完了後のドキュメント作成時間をほぼゼロにすることができるのも大きなメリットですね。
まとめ
これまでご紹介してきたように、JIRAはアジャイル開発におけるプロジェクト管理ツールとしてとても便利な課題管理システムです。比較的少人数で臨機応変な開発が許される案件であれば、開発チームだけでなく、依頼者にとっても実り多い開発を実現できるはずです。
初めは小さな案件で、ウォーターフォール開発と並行してJIRAを使って練習してみるというのも良いと思います。ぜひ挑戦してみてください。
次回は、JIRAシステムのインストールと設定について解説します。