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

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

この記事を読むのに必要な時間:およそ 2 分

ソースコードのバージョン管理システムはソフトウェア開発に欠かせないツールです。本稿では前編から引き続き,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 2017年10月号

2017年9月16日発売
B5判/192ページ
定価(本体1,220円+税)

  • 第1特集
    個人でも会社でも使える!
    これだけは知っておきたいGitのキホン
  • 第2特集
    システムのセキュリティチェックをもっと楽に
    脆弱性スキャナVuls入門
  • 一般記事
    サーバーレスで実現!
    素材集サービスを効率化した自動画像管理システムに学ぶ
  • 一般記事
    スキルアップの傾向と対策
    ネットワークエンジニア その技術の極め方
  • 一般記事
    telnetを武器にシステムの本質を理解する
    身近なメールで使われている技術をネットワークコマンドで体験してみよう

著者プロフィール

廣田隆之(ひろたたかゆき)

開発ツール好きが高じてリックソフトへ参加。

主たる業務はインフラ,開発,コンサルなど。ソフトウェア開発の明日のために幅広く手を広げている毎日。

好きな将棋の駒は「桂馬」。

コメント

コメントの記入