オンラインプロジェクト管理・
Backlogにプルリク機能を実装した背景
- Q:今回、
BacklogのGitにプルリクエスト (pull-request、 以降プルリク) 機能が実装されました。実装に至った背景について教えてください。 中村:Git機能をより便利にしていきたいというのは常々考えており、
その中でも要望が多かった機能の1つがプルリクでした。また、 私を含め、 社内の開発者も他のGitホスティングサービスでプルリクに触れた経験から、 この機能を実装すれば便利だろうというのは推測できていました。 縣:Git機能のリリース時から、
多くのユーザの方からプルリク機能への要望をいただいていました。ソースコードに対する議論の場の必要性は認識していましたので、 プルリクの基本機能は抑えつつも、 Backlogの開発チームとしては 「Backlogらしいプルリク」 の設計に時間をかけました。 具体的には、
Backlogはもともと課題管理システムですので、 - 課題との紐付けを容易にして関連を持たせる
- 開発者のモチベーションが上がる仕組みの導入
を行いました。
2つ目の開発者のモチベーションを上げる仕組みとして実装したのが、
ソースコードの差分ビューで各行に気軽にスターを付けられる機能です。 開発の背景には弊社のエンジニアの存在があります。そのエンジニアは、
レビューで鋭く細かい指摘を行えるスキルを持っているのですが、 開発時にプルリク機能を使い倒している中で 「(ダメな部分の) 指摘事項だけはなくて、 コードの良い部分を気軽に褒めたい」 という気持ちになり、 その要望を受けて生まれたのがこのスター機能になります。 レビューを受ける側も、
指摘事項だけでは、 心が折れてしまいますので、 良い部分は良い部分として、 スターを付けてもらえればモチベーションが上がりますし、 良いコードをチームで共有する意味では有効だと思っています。
なぜGitが普及したのか?
- Q:今、
多くのWeb開発者はGitを活用しています。なぜGitがこのように使われるようになったのでしょうか? 縣:Subversionなどと比較して、
ブランチの作成が圧倒的に気軽にできる点、 どのコミットがブランチに適用されているいるか把握できる点、 またそのメリットを活かしたgit-flow、 github-flowなどのプロセスが、 現代のソフトウェア開発にマッチしているからだと思っています。 また、
手前味噌ですが、 弊社では 「サルでもわかるGit入門」 という超初心者向けのGit入門サイトを2012年より公開しています。このようなチュートリアルや初心者向けの情報が充実してきていることも、 利用率の向上に貢献しているのではないかと思います。 中村:私が思うGit普及の要因は、
GitHubとプルリクの存在がやっぱり大きいですね。OSSの多くのプロダクトがGitHub上で管理されており、 コード上でのコミュニケーションの手段としてプルリクが活用されている。そうやって、 エンジニアの間でGitやプルリクが身近なものになってきたのかなと考えています。
Git時代のプロジェクト管理・コラボレーションツール
- Q:また、
開発者だけではなくデザイナーやディレクターもGitを利用するシーンを見かけるようになりました。一方で、 まだまだエンジニア以外の職種にとってはGitの敷居が高いとも言われています。その中でBacklogが果たす役割は何でしょうか? 縣:Gitに対しての敷居を下げ、
Gitを利用する人の裾野を広げることだと思っています。Gitに対してはエンジニアでも敷居が高いと思うこともありますし、 非エンジニアの方だとなおさらだと思っています。 「理解すればGitは怖くない」 ということを伝えていきたいです。 弊社の取り組みでは、
先ほども紹介した 「サルでもわかるGit入門」 という入門サイトもその1つですし、 ほかにもGitをテーマにした初心者向けワークショップを開催するなど、 幅広いユーザに向けて訴求しています。 中村:機能だけではなく、
使い勝手の部分も大事だと考えています。たとえばUIの見せ方に工夫することで、 Git自体の敷居を下げる取り組みは積極的に進めています。 Baclogに関して言えば、
今回のプルリク機能によって、 Backlogの画面上からレビュー・ マージができるようになっています。今まで、 手元のPCでGitクライアントを操作して……という一連の操作でつまずいていた方でも、 Gitへの敷居を下げることができたのではと思っています。 エンジニア以外のユーザでもわかりやすいUIというのはBacklogの強みだと認識しているので、
その強みを今後も活かしていきたいですね。
これからのソフトウェア開発に向けて
- Q:これからのソフトウェア開発において、
ヌーラボが必要と考えていること、 また、 そのためにめざしていることについて教えてください。 縣:良いソフトウェアを作るためには、
人と人とのより良いコラボレーションが不可欠だと考えています。そのために、 チームにかかわるすべての人が、 楽しく、 気持ち良く仕事することをサポートしていくことを目指しています。 また、
ソフトウェアの開発手法や仕事のやり方は、 テクノロジの活用を中心に、 モダンで他の業種の方にも有効なものが多いと思っています。それらのソフトウェア開発の秘伝のタレや最新型の働き方を、 一般化してソフトウェア開発以外の仕事にも広げていきたいですね。 中村:現在、
ソフトウェア開発は多様化・ 高度化しています。それに伴って、 ソフトウェア開発をサポートするツールやサービスに求められる要件も、 どんどん高度化しています。ヌーラボが提供するサービスではその要件に追随し、 ヌーラボサービスのユーザが本質的な作業に注力できるように改善を続けていきたいです。 加えて
「仕事の中に楽しさを」 というヌーラボのモットーを忘れずに、 コラボレーションをサポートするサービスを提供し続けていきたいと思います。 - ――ありがとうございました。