Agile Ready とは何か?

【 この記事は、1405人に読まれています】

アトラシアンは、5月中旬にソリューション 「Agile Ready」を発表しました。この記事ではこちらについての現場目線でのメリットをご紹介します。

 

Agile Ready


Agile Ready については以下も合わせてご覧ください。


さて、Agile Ready についてです。これはソリューションですので、製品名ではありません。とはいえ、アトラシアンが提供している製品の活用がソリューションに昇華しますので、関係がないわけではありません。Agile Ready では、以下の製品を活用することを想定しておりますし、実際にこれらをパッケージとして提供している形をとっています。

Agile Ready

  • Confluence
    • Confluence Team Calendar
  • JIRA
    • JIRA Agile

ちょうど、2月に発表した Git Essentials が以下の組み合わせソリューションであるのと同じ発想です。

Git Essentials

  • JIRA
    • JIRA Agile
  • Stash / Bitbucket
  • Bamboo

※ Git Essentials については、以前に書きましたのでそちらをご覧ください。


 

ソフトウェア開発ライフサイクルにおけるアトラシアンのソリューション概要


現時点でアトラシアンが発表しているソリューションは、先に紹介した Agile Ready と Git Essentials です。これをソフトウェア開発のライフサイクルの概略図にマッピングすると以下になります。

Agile Ready のカバー範囲:

スクリーンショット 2014-05-21 16.45.54
 

Git Essentials のカバー範囲:

スクリーンショット 2014-05-21 16.45.58
 

こうやってみると、Agile Ready と Git Essentials が対になっていることがよくわかります。Git Essentials のは発表前後より私が、「企画~開発~ビルド~デプロイ~運用」 の全体を見据えることを訴えていたわけですが、その形が具現化したという見方ができます。

 

企画を駆動する Agile Ready – Confluence to JIRA


Confluence では企画などのドキュメントを活性化させてくれます。ドキュメントはどうしても陳腐化したり、共有したあとのアップデートとその通知が行き渡らないことがあります。

  • 企画書と実際の実装がかい離していく
  • 企画書が更新されたのに、開発は古い企画で進んでいる

なんてことになるわけです。そうなるとお互い疑心暗鬼、信頼関係のある環境ではなくなってしまいます。それを防ぎ、よりビジネスの変化に対応できる環境とするために Confluence と JIRA の連携を活用します。

Confluence で記述、管理している企画ドキュメントから編集せずに直接、開発の要求(バックログ項目)を洗い出せたらどうでしょうか?

企画担当者は、自分が記載してメンテしている企画ドキュメントからバックログ項目化したものを追跡できます。開発チームは、バックログ項目化したものを意思決定(トリアージ、優先順位づけ、見積もり、タスク出し)することができます。その要するも相互に必要に応じて共同所有できるのです。

 

Confluence での企画からバックログ項目の洗い出し


やり方が複雑だと、そもそも理想論で終わってしまいますが、Confluence と JIRA の連携はほとんどシームレスです。私が各種の講演でデモをご覧いただくと、ほとんどの方が、どっちの製品のデモかわからなくなると思われるほどにシームレスです(※そのせいで、Confluence にタスクボード機能が追加されたと勘違いさせてしまったりするくらいに)。

image
企画ドキュメント中のバックログ項目化したいものをハイライトします(※ドキュメントを編集モードにする必要はありません)。すると2つのアイコンがホバーされます。左側が、ハイライトされた文章を引用してコメントを記載するものです(これもとても便利です)。右側が、ハイライトされた文章を JIRA にバックログ項目として登録する機能です。クリックすると以下のようになります。

image
はい。このまま、[作成] ボタンをクリックするだけでバックログ項目を「ストーリー」として登録できます。もちろん、別の課題タイプとして作成もできますし、親(ここでは「エピック」)を変えることもできます。

ここで、今までご紹介していなかったより便利な機能をさらっと紹介しておきましょう。ここで聞かれるのが、「全部の要求項目でこの操作を繰り返さないといけないの?」です。いえいえ、そんなことはありません。上図にて、「このテーブルから12件の課題を作成します。」というリンクがありますよね?テーブル形式ならばカラムを判別してくれて、一括で登録をしてくれます。

image
1点注意が必要なのは、やるならテーブル全部一括でやりましょう。途中まで一件一件やっていた場合は、その後も一件ずつやるほうがよいことになります(※過去のものを含めて一括でバックログ項目化をしようする機能です)。

image
作成すると、JIRA のユニークな ID (課題キー) が割り当てられます。

ハイライトした箇所を確認すると

image
と ID と JIRA で管理しているステータスが表示されているのがわかります。これが常に表示され、更新情報がわかる仕組みです。

JIRA では、この項目が以下のように見えます。

image
一番したに、「REW-18 DB のスケーリング」があるのがわかります。ここからは、JIRA Agile でのプランニングになるわけです。

この辺りは、以前に書いてますので上記の復習もかねて合わせてご覧ください。


 

 

企画と計画、進捗を確認する JIRA to Confluence


Confluence で企画し、 JIRA Agile で意思決定と計画をするところを見てきました。ここでもう一つ注目したいのが、スケジュールの共同所有です。企画でのスケジュールというと、ユーザーとのレビューや、リリース期日などがそれにあたります。それに対して、開発チームのスケジュールというと、プロジェクト期間(スプリントの期間)や、個々のバックログ項目やはたまた個々のタスクのスケジュールだったりします。

そうです、企画と開発チームでは、扱いスケジュールの粒度も数も全く異なります。これらを無理の全部共同所有すると。。。よくある以下のような状況となります。

  • 開発チームはハッピーになるのに、企画チームが使ってくれない
  • Excel でエクスポートしないと見てもらえない
  • 開発チームの状況がブラックボックスでわからない(信用できなくなる)

そうならないようにするには、カレンダーベースでお互いの情報が見えるといいですね。ただし、それらを(特に)開発チームに事細かに入力させると、二重、三重管理となり、手間は膨れ上がります。精度、頻度も落ちてきてしまい絵に描いた餅になってしまいかねません。

そこで、Confluence Team Calendar と JIRA Agile の連携が活きてきます。Agile Ready では、Team Calendar でロードマップを描き、そのスケジュール表に、JIRA Agile で開発チームが計画したスケジュールと実施した実際の状況を表示する機能が備わっています。

企画チームのロードマップと開発チームの計画と実際が合わさったものが以下の図となります。

image
こちらには、開発チームで計画した以下のものが表示されています。

  • スプリントの期間(図では、スプリント2 の期間がアクティブになってます)
  • それぞれのバックログ項目とそのサブタスクの作成日(濃い色)と更新日(薄い色)

これで、進捗もみることができるわけです。上図では、あまりきれいなスケジュール表になっていません。これは私がデモ環境を一日以内に結構作業してしまっているため、実現場のように多少緩やかな推移をしていないためです。

これをタイムラインで表示に切り替えるとより、状況が把握しやすくなります!

image
大枠と細部にわたるロードマップの完成ですね。これを作りために行った労力が気になりますか?以下だけですw

イベントの作成時に、JIRA 関連のイベントタイプが出てきますので、選択するだけです。

image
なお、特別なイベントですので、基本的には一回作成すれば、適切なアイテムがスケジュール表に表示されますので、個別にイベントを作成する必要はまったくありません。私の環境では、

「JIRA Project Releases」 と 「JIRA Issue Dates」をそれぞれたった一回作成しただけです。詳細も見ていきましょう。

image
JIRA Project Releases はたったこれだけです。JIRA のプロジェクトを選択するだけですね。要するに JIRA プロジェクトで表示させたい回数これを実施してください。通常は一つだと思いますので、一回ぽっきりです。

image
続いて、「JIRA Issue Dates」です。こちらはよりきめ細やかな設定が可能です。こちらもまずは JIRA のプロジェクトを指定します。そのうえで、表示したいものを決めます。プロジェクトにあるものすべてにもできますし、フィルターや、JQL で細かく設定することだってできます。

それらに対して、表示項目を決定できます。課題で定められた期日を表示するとか、スプリント期間を表示するとか、作成日と解決日を表示するなどです。作成日と解決日を表示すると進捗にも使えます。

日付の範囲にすると、ガントチャートよろしく、大まかな計画や経過期間を把握するのに役立ちます。日付範囲だと以下のように設定できます。

image
 

image
このセッティングをした場合は、以下のようなスケジュール表示になります。

image
 

Agile Ready により、企画と開発チームがより結束できる仕組みをご紹介しました。

この辺りは、講演でもデモでもバンバンお見せしていますので、現場がよい方向に進むきっかけにしていただけるならば、お伺いしてお話ししたり、デモで具体的にご覧いただいたりします。アトラシアンは営業のいない会社ですので、営業しませんし、製品の機能紹介はしませんので、ご安心とご了承を。

ご希望でしたら、Twitter なら、@tnagasawa、Facebook なら Tomoharu.Nagasawa、メールは tnagasawa @ atlassian.com にお気軽にご相談ください。相談も講演実施も無料で承ります。

【 この記事は、1405人に読まれています】

Posted in ツール, 開発プラクティス and tagged , , , , .

長沢智治

アトラシアンのシニア エバンジェリスト。

ALM, アジャイルなどの開発プラットフォームの訴求を中心に活動している。認定スクラムマスター、ASTER テストツールWG、『アジャイルソフトウェアエンジニアリング』『C# 実践開発手法』の監訳、Agile Ultimate Stories Iteration 1,2,3,4,5 など寄稿、共同執筆多数。