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

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

ソースコードのバージョン管理システムはソフトウェア開発に欠かせないツールです。本稿では前編から引き続き、GitベースのBitbucket Server(以降、Bitbucket)を取り上げます。

レビューして記録する

私たちがBitbucketをお勧めする理由の1つがプルリクエスト機能です。ソフトウェアの品質を高める活動の1つにコードレビューがあります。しかし、その効果やメリットをわかっていたとしても、レビューのためのしくみが整備されていないと実行は容易ではありません。レビューのたびにソースコードを紙に印刷したり、レビューのための時間と会議室を確保したり、レビューの記録を帳票として残したりと、組織によってさまざまな工夫をしていることと思います。しかし、往々にしてプログラマはこの手の作業が苦手なものです。

そこでBitbucketの出番です。Bitbucketのコードレビューは画面上で行います。Gitを使った開発では、機能の追加や不具合の修正のたびにブランチを作り図1⁠、コードを修正したあとで分岐元にマージを行って開発を進めていきます。Bitbucketでは、マージするための承認プロセスをプルリクエストという機能で提供しています。

図1 ブランチの作成
図1 ブランチの作成

プルリクエストの画面では、ソースコードの差分やコミットの履歴を確認できます。レビュアは修正内容を確認し、問題がなければ承認を行います図2⁠。コードには1行ごとにコメントを付けることができるので、画面上でコメントを追加してエンジニアどうしで議論を重ね、コードの品質を高めていくことができます。レビューの記録はBitbucketに残るため、レビューの履歴として後日活用することも考えられるでしょう。

図2 プルリクエスト
図2 プルリクエスト

これらの活動はオンラインでできますが、人間どうしで直接会話したほうがよいと感じた場合には、チャットやフェイストゥフェイスで会話し、その内容をJIRAやBitbucketに記録として残しておくことでさらに良いコードレビューになるでしょう。筆者も、コードを読んで理解できないときにはチームのメンバーに直接話を聞いて納得したうえで承認ボタンを押すということがよくあります。

マージには前提条件を設定でき、⁠2名以上のレビュアが承認していること」「ビルドが成功していること」といった条件を指定できるので、プルリクエストのフローを厳格に規定することもできるようになっています図3⁠。

図3 プルリクエストの条件設定
図3 プルリクエストの条件設定

その他の便利な使い方

プルリクエストは必ずしもマージを目的とする必要はありません。筆者たちがよく利用している「WIP(Work In Progress)プルリクエスト」と呼ばれるプラクティスを紹介します。

「実験的なコードをメンバーに共有したい」⁠現在自分が取り組んでいる仕事についてメンバーからアドバイスをもらいたい」といったとき、⁠WIP」という名前のプルリクエストを作成します図4⁠。このプルリクエストを見たメンバーは、改善案をコメントとして付けたり、意見や感想をお互いに交わしたりします。このプラクティスは、チームの士気向上やソースコードのリファクタリングにもつながると考えています。

図4 WIPプルリクエスト
図4 WIPプルリクエスト

マージが目的ではないというよりも、むしろマージしてはいけないプルリクエストです。まれに「WIP」という名前を見落として、誤ってマージしそうになってしまうことがあるのが難点です。これを防ぐ改善点を目下検討中です。

おわりに

開発者にとって、日ごろ使い慣れた道具を変えることは大きなストレスであり、コストでもあります。しかし、GitやBitbucket、JIRAを活用することが、そのデメリットを補って余りあるパワーを与えてくれると筆者たちは考えています。

一気にすべてを変える必要はありません。新しく始まるプロジェクトのソースコードや、開発の傍らで作成するちょっとしたツール群など、気軽に始められるところから小さく始めてみてはいかがでしょうか。Bitbucketのクラウド版であれば5ユーザまではなんと0ドル、オンプレミス版であれば10ユーザ10ドルから始めることができます。

導入にあたってご不明な点や技術的サポートは、Atlassianプラチナソリューションパートナーであるリックソフトにいつでもお気軽にお問い合わせください。

米国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の実行環境(基礎編)

おすすめ記事

記事・ニュース一覧