うまくいくチーム開発のツール戦略

第17回Subversionではだめなんですか!?(前編)

はじめに

この原稿を書いている時点で、衣替えの時期になりました。この春に入社された新入社員のみなさんの中には、そろそろ研修期間も終わり、実際のプロジェクトに配属されてコードを書き始めている方々もいらっしゃると思います。業務の傍ら新人教育の時間を捻出された先輩社員の方々もお疲れ様でした。

突然ですが、そんなみなさんに質問です。ソフトウェア開発を支える「三種の神器」については上司や先輩から教えていただいたでしょうか? 上司や先輩のみなさんはこれらの開発ツールの重要性について説明されたでしょうか? 私たちリックソフトの考える「三種の神器」とは、第一にソースコードのバージョン管理システム、第二に課題管理システム、第三に継続的インテグレーション(CI)システムです。

本記事では、バージョン管理システムに着目し、課題管理システムと連携しながらソフトウェア開発を進めていくプロセスを俯瞰します。次回以降では、CIシステムを活用してビルドやテストの自動化、デプロイの省力化を行う方法を紹介したいと考えています。

Bitbucket ServerとJIRA Software

バージョン管理システムや課題管理システムには多種多様な製品やサービスがあります。たとえば、バージョン管理システムとしてはSubversionやGitが広く普及しています。製品やサービスの例としては、GitのクラウドサービスであるGitHubやBitbucket、課題管理システムのRedmine、Trac、JIRAが有名です。

本記事では、Atlassianの商用製品であるBitbucket Server(以降、Bitbucket)とJIRA Software(以降、JIRA)を取り上げます。なお本記事で文中に注意書きがない場合はどちらの製品についても、みなさんがお持ちのサーバにインストールする形式のオンプレミス版を指します。

BitbucketとJIRAは、アプリケーションサーバとデータベースで構成されるWebアプリケーションなので、特別な専用のソフトウェアを必要とせず、Webブラウザがあれば利用できます。

追跡する

ソースコードのバージョン管理に専用のシステムを利用したほうがよい最大の理由は、いつ(When⁠⁠、誰が(Who⁠⁠、何を(What⁠⁠、なぜ(Why⁠⁠、ソースコードを変更したのかを記録するためです。ソースコードの変更点をこまめに記録しておくことで、チームのメンバーが変更点を確認できますし、数日後、場合によっては数年後の自分自身のためにもなります。たいていのプログラマは、ソースコードの変更点をすべて覚えておくことはできません。細かいデータの記録はコンピュータに任せて、私たちの頭の中は常に整理整とんしておきたいものです。

ソースコードの変更点を保存する際にJIRAの課題キー(バグやストーリーのひとつひとつを識別するための番号をJIRAでは課題キーと呼びます)をコミットログ図1に含めておけば、自動的にリンクが設定され、JIRAとBitbucketのどちらからも相互に参照できるようになります図2⁠。

図1 SourceTreeでコミット
図1 SourceTreeでコミット
図2 JIRAの開発パネル
図2 JIRAの開発パネル

気軽に見る

BitbucketはWebアプリケーションなので、ソースコードのコミット履歴やブランチ間の差分をWebブラウザで確認できます。ソースコードを手元のパソコンにダウンロードしてIDEやテキストエディタで開くといっためんどうな操作は必要ありません。

ファイルの内容が表示される画面では、特定の行を指定して表示させることもできるので、チャットなどでチームメンバーとURLを共有するといった使い方もできます図3⁠。

図3 ファイルの行を指定
図3 ファイルの行を指定

また、タイプミスなどのちょっとした修正であれば、Webブラウザだけでも済ませられるので、たいへん便利です図4⁠。

図4 ブラウザ編集
図4 ブラウザ編集

続いてBitbucketをお勧めする理由の1つである、プルリクエスト機能(コードレビュー)の話をしようと思いますが、そのお話は後編で。

米国Atlassianから、2年連続で
「Top new business APAC」を受賞。
Atlassianセールスパートナーとして
アジアパシフィックで1位の証
米国Atlassianから、2年連続で「Top new business APAC」を受賞。Atlassianセールスパートナーとしてアジアパシフィックで1位の証

日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!

リックソフトJIRAデモ環境
https://www.ricksoft.jp/demo/

本連載の過去記事はページ下のバックナンバーよりご覧になれます。

Software Design

本誌最新号をチェック!
Software Design 2022年9月号

2022年8月18日発売
B5判/192ページ
定価1,342円
(本体1,220円+税10%)

  • 第1特集
    MySQL アプリ開発者の必修5科目
    不意なトラブルに困らないためのRDB基礎知識
  • 第2特集
    「知りたい」「使いたい」「発信したい」をかなえる
    OSSソースコードリーディングのススメ
  • 特別企画
    企業のシステムを支えるOSとエコシステムの全貌
    [特別企画]Red Hat Enterprise Linux 9最新ガイド
  • 短期連載
    今さら聞けないSSH
    [前編]リモートログインとコマンドの実行
  • 短期連載
    MySQLで学ぶ文字コード
    [最終回]文字コードのハマりどころTips集
  • 短期連載
    新生「Ansible」徹底解説
    [4]Playbookの実行環境(基礎編)

おすすめ記事

記事・ニュース一覧