ツールの役割(ツールに求めること)
前編のとおり、アジャイル手法を取り入れたチームはOne Team(ワンチーム)になることが大切です。チームがワンチームになるのであれば、ツールもワンチームにならないといけません。成長企業の多くはAPIを公開していないツールは採用しない、という話も聞くようになってきました。ツール同士が連携し、プロセスを統合することが、アジャイル、DevOpsには重要な要素です。
ちょっと宣伝になってしまいますが、この重要な要素におけるツールへの要求事項をまとめてみました。
表1では、ツールに「求めること」に対して、アジャイル開発やDevOpsには必須と言われるアトラシアン製品を当てはめてみました。
表1 ツールへの要求事項と「アトラシアン製品では」
カテゴリ | 求めること | アトラシアン製品では |
連携・統合 | アジャイル開発/DevOpsには、多くのツールと連携し、プロセスが統合できること。 APIが公開されていること | - アジャイル開発/DevOps関連アドオンが多数提供
- 豊富なAPIによって、さまざまなアプリと連携
- ウォーターフォール型にアジャイル要素を組み込むこともできる
|
可用性 | サービスやソフトウェアを安定してデリバリするには、ツールの稼働率が高い(=いつでもツールが使える環境)こと | - かんばん、スクラムによるプロジェクト管理ツール「Jira Software」
- ウォーターフォール型を機能追加する「WBS Gantt-Chart for Jira」
- 企画、仕様などの情報を記載する「Confluence」
- Gitによるソースコード管理「Bitbucket」
※上記のすべてのツールは、アクティブ-アクティブの冗長構成が可能、もしくはクラウドサービスで利用可能 |
実績 | アジャイル開発/DevOps分野でマーケットシェアが高いこと。
多くのアジャイルチームが採用していること(エンジニアが転職や部門異動しても、すぐに使える) | マーケットリーダーであり、すでにデファクトスタンダードになっている |
将来への信頼性 | ツールを開発・提供するツールベンダは、多くのアジャイル/DevOpsチームの声を聞き、ツールを変化させる文化があること | 多くのアジャイルチームからの要望を受け付けるパブリックな窓口があり、ベンダの検討状況や実装時期が見えるようになっている |
アジャイル手法だけでは、DevOpsはできない
前編の冒頭で「DevOpsにはアジャイル開発手法が必要」と説明しましたが、それだけではDevOpsを実現することはできません。アジャイル開発/DevOpsを成功へ導くための鍵の1つは「テスト」です。もう1つは「脆弱性対策」ですが、それは前回までの連載記事を参照ください。
わかりやすいように、DevOpsのサイクルにツールをマッピングしてみましたのでご参考ください(図1)。
さて話を本題に戻します。
アジャイルによって早く開発できたとしてもテストが十分でなければ、バグ・不具合が発生し、顧客やビジネスオーナーにも迷惑がかかり、運用(Ops)チームへの負担にもなります。また、テストに時間をかけすぎてリリースが遅れてしまうと、アジャイル開発/DevOpsの利点が損なわれます。
アジャイル開発/DevOpsでは、テストチーム(テスト担当者)と「テスト」の重要性を理解する必要があります。日本の開発(Dev)チームは、テスト作業を新人エンジニアなどに任せて経験を積ませる場合があります。それ自体は決して悪いことではありません。しかしながら、以前よりもテストへの重要性が増していることや、高度な技術や想像力がテスト担当者に求められるようになってきていることも事実です。テストエンジニアのスペシャリストを育てるのにも時間がかかると思いますので、ツールをうまく活用していく必要があります。
開発(Dev)と運用(Ops)をつなげるには、「アジャイルソフトウェア開発宣言」にも書いてある「動くソフトウェア」を運用(Ops)チームへ渡す必要があります。繰り返しになりますが、その鍵が「テスト」であり、テストツールを活用することで実現します。
おわりに
本記事のまとめとして、アジャイルは万能でないことを述べておきます。ウォーターフォールのほうが良い場合もありますし、アジャイルが良い場合もありますので、使い分ける必要があります。そのためには、どちらの手法にも対応できる共通のプロジェクト管理ツールを使うことが望ましいと考えています。
今回は、開発(Dev)チームとアジャイルに着目した内容となりましたが、次回はテストツールについてお話をしたいと思います。チーム一丸となった仕事は、さまざまな面ですばらしい成果を出すと思いますので、ぜひチャレンジしてみてください。
日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!
- 第1特集
MySQL アプリ開発者の必修5科目
不意なトラブルに困らないためのRDB基礎知識
- 第2特集
「知りたい」「使いたい」「発信したい」をかなえる
OSSソースコードリーディングのススメ
- 特別企画
企業のシステムを支えるOSとエコシステムの全貌
[特別企画]Red Hat Enterprise Linux 9最新ガイド
- 短期連載
今さら聞けないSSH
[前編]リモートログインとコマンドの実行
- 短期連載
MySQLで学ぶ文字コード
[最終回]文字コードのハマりどころTips集
- 短期連載
新生「Ansible」徹底解説
[4]Playbookの実行環境(基礎編)