仮面ライダーフォーゼで学ぶ開発ツール適用

チーム開発, 仮面ライダー

この記事は、1年以上前に書かれたもので、情報が古い場合があります。

この記事の所要時間: 9

開発ツール

最近の開発ツールは、継続的に価値を提供し続けるための環境整備と、複雑さの軽減がポイントになります。そこには何か単一のツールを適用したら解決できるということがなかなか難しく、ツールの組み合わせで効果を得る機会が増えてきています。

アトラシアン製品は、大別すると「トラッキング (追跡する)」、「コラボレーション」、「開発ツール (コードを書く)」と言われています。これらは、アトラシアンのホームページを見るとよくわかります。

製品も、JIRA, Confluence, HipChat, Bitbukect, Stash, JIRA Service Desk, Bamboo, FishEye, Crucible, SourceTree, Clover, IDE Connector, JIRA Agile, JIRA Capture, Confluence Team Calendars, Confluence SharePoint Connector, Confluence Questions, Crowd (製品ページの登場順) とラインナップされています。

最近の開発ツール関連を理解するには、アトラシアン製品を知ることが近道にもなりますし、使うか/使わないかによらず、知っておいて損はありません。

そんなアトラシアン製品を見通しよく把握するには、仮面ライダーフォーゼを学ぶのが近道 (?) です。

 

仮面ライダーフォーゼを学ぶには?

まず、開発ツールやアトラシアン製品を理解する前に、仮面ライダーフォーゼを学んでみましょうw 仮面ライダーフォーゼについては、以下をまずご覧いただくことで理解していただくことができます。

DVD がでていますので、DVD を視聴することを強くお勧めします。なお、テレビシリーズのほか、劇場版が出ていますので、見逃さないようにご注意ください。

仮面ライダー&宇宙刑事ギャバン ゴールドディスクを守れ!(プラネタリウムスペシャル)

余談ですが、フォーゼの関連している映画には、昔懐かしのヒーローたちが登場しています。

  • キョーダイン [フォーゼ THE MOVIE]
  • 衛星兵器XVII (大鉄人17) [フォーゼ THE MOVIE]
  • 美少女仮面ポワトリン [ウィザード&フォーゼ MOVIE大戦アルティメイタム]
  • イナズマン / サナギマン [ウィザード&フォーゼ MOVIE大戦アルティメイタム]
  • アクマイザー (アクマイザー3) [ウィザード&フォーゼ MOVIE大戦アルティメイタム]

 

仮面ライダーフォーゼとは

仮面ライダーフォーゼは、仮面ライダーシリーズとして異色の青春学園ドラマです。また、舞台は高校と宇宙というスケール感です。これは、開発現場とそこで生み出されたソフトウェアがビジネスや生活のあらゆるシーンに羽ばたいていくさまとともて似ていますw

主人公の如月弦太朗 (今ブレイク中の福士蒼汰がリーゼント姿にて演じています)です。学園の生徒全員と友達になる男でもあり、青春学園ドラマにふさわしく、友情とテーマに闘っています。ちなみに、仮面ライダー全員と友達になる男でもありますw

開発の現場も全員と友達になり、協調し、チームワークを発揮し、問題解決、ソリューションを提供し続ける姿勢が必要です。これらはフォーゼにおける弦太朗の姿勢からも学ぶことが多いことでしょう。

また、「仮面ライダー部」が登場し、伝説の7人ライダーの研究を行っていたりしながら、学園をゾディアーツの魔の手から守っていたりもします。仮面ライダー部の絆の力は、まさに、開発現場の絆の力と通じるものがあります。彼らの姿勢からも学ぶことがあるでしょう。

フォーゼについては、こちらの動画を見るとより理解できます:

フォーゼドライバーとアストロスイッチ

仮面ライダーフォーゼは、フォーゼドライバーという変身ベルトで変身します。フォーゼドライバーは、アストロスイッチを制御するコンソールとなっていて、4基のスイッチソケットにアストロスイッチをセットし、フォーゼモジュールシステムで戦闘スタイルを切り替えることができます。

これは、開発現場における開発ツールと通じるところがあります。現場の状況に応じて適用するツールを変えていく柔軟性が求められます。そのためには、いくつかのスイッチを切り替えるがごとくその現場にあったものを適応することが大切です。

アトラシアン製品は、このフォーゼモジュールシステムのスイッチと似たようなコンセプトを持っています。それが、「製品+アドオン」という柔軟性です。これにより開発現場は、リミットブレイクし、本業に注力できる力を手に入れ、ツールの力も活用することができるようになります。

アドオンとマーケットプレイスによるリミットブレイク

アトラシアン製品のほとんどにアドオンの仕組みがあります。また、そのアドオンは、Atlassian Marketplace から入手 (有料アドオンは購入も) することが可能です。アドインの種類は多種多様で、機能を拡張するものから、管理を手助けするものまで存在します。

 

ツール連携によるステイツチェンジ

開発ツールは、今や何か一つだけを導入すればことが済む時代ではなくなりました。たとえば、バグ管理だけを行うツールを入れれば、現場の課題が解決できるかというと、継続的にデリバリーし続けるライフサイクルではこれは場合によっては焼け石に水くらいの対症療法にしかならないかもしれません。原因療法を行い、好循環、価値の流れを創出するには、ツールの連携、すなわち、ツール チェーンをしっかりと見ていく必要があります。

アトラシアン製品は、連携させることでその価値を倍にも数十倍にもすることができます。そこにアドオンの力も加わり、ステイツチェンジすることで、新たな開発現場にチェンジする支援を行うことができます。

  • Confluence と JIRA
    Confuence で企画ドキュメントを記載し、共有し、議論し、よりよいアイディアを形にしていきます。それを実際に開発する際には、ビジネスの優先順位、技術的な判断があり、そして、計画し開発しという進捗へと流れが進んでいきます。往々にしてこれらは進展するにつれドキュメントとソフトウェアがかい離していったり、企画部門と開発部門の心が離れて行ってしまったりするのは容易に想像できます。開発の流れに来た時に JIRA があれば、ドキュメント内のサービスやストーリーのセンテンスからバックログ項目を作成し、優先順位づけからサブ タスクによる計画と進捗を見ることができます。企画とソフトウェア、企画部門と開発部門の心を仕組みの力で克服することができるわけです。これはまさに開発現場のステイツチェンジですw
  • JIRA と Git、CI
    JIRA により、計画と実施、追跡が行えるからといってそれで安心できるとは限りません。なぜなら、ソフトウェアの開発とはとても複雑な要素の集合体だからです。進捗上では問題ないが、作っているものは誰も把握できなくなっているなんてことも残念ながらあります。従って、JIRA と実際に作っている成果物が正しく結びつき、多岐にわたる変更のコントロールがつつがなく行われる開発のワークフローを形成していないと開発現場は疲弊していきます。そこで JIRA とバージョン管理、自動ビルドの仕組みまでを連携させたらよいわけです。アトラシアンは、先日に Atlassian Git Essentials を発表しました。もはや、バージョン管理の標準となった Git は、今ではデプロイメントのプロトコルにもなっています。その力を活かしつつ、より開発現場の環境をシンプルに、シームレスに、そして見通しよくするのが Git Essentials です。Git Essentials は、JIRA を中心に据え、Git リポジトリ管理の Stash (オンデマンド環境の場合は Bitbucket)、継続的インテグレーションとして、Bamboo を連携させることで実現できます。これは、まさに開発現場のステイツチェンジ!w

アトラシアン製品は、アトラシアン製品としか連携できないわけではありません。たとえば、バージョン管理は、Stash や Bitbucket ではなく、GitHub にするとか、継続的インテグレーションの仕組みは、Bamboo ではなく、Jenkins にするとかも可能です (※Git Essentials と若干行えることに制限がでる可能性があります)。

 

連携のステイツを知るデモ

連携することで得られる価値についてはデモ動画を見ていただくのが一番です。

全体の流れを知るには、以下の二つのプレゼン資料も参考にしてください。

 

タイマンはらせてもらうゼ!

さて、フォーゼと言えば、敵が複数であっても「タイマンはらせてもらうゼ!」と言ってしまうところですが、これもツール適用と開発環境にとってはとても重要なポイントです。複雑で複数の要素、利害関係者とやりとりを常に行わなければならないソフトウェア開発現場では、まさに、タイマンをはらせてもらえない状況になります。情報収集能力が問われ、なかなか本業で能力を発揮できない現場は少なくありません。

これをタイマンがはれる状態にいかに持っていくかがポイントとなります。かの宮本武蔵も五輪の書の中で、いかに複数対一人にならないように闘うのかを説いています。それと同じでいかにシンプルに、一つのことに集中でき、かつ多くの関係者、成果物の粒度と価値観の共有をできるかが大切となります。

そのためには、ツールをうまく活用し、シンプルな状況、本業に集中できる環境を手に入れることが大切です。ボランティアで運営している場合でもありませんし、コストかけずにやっている場合ではありませんよ。タイマンはらせてもらえる環境で闘いましょう。

 

宇宙キターッ!

仮面ライダーフォーゼを知ることで、アトラシアン製品の特長とそれが、開発現場をよりよくする好循環サイクルを作り出せることを十分にご理解いただけたかと思いますw ぜひ開発現場をよりよいものにし、「宇宙キターッ!」ならぬ、「デプローーイ」と気持ちよく叫べる現場にしませんか?

財団B, ツール