- コラボレーター
- 加留部 有哉
【第1回】非エンジニア向けGitHub入門 〜そもそもGitHubって何?〜
SELECKでは開発系のソリューションの取材を数多く行っていますが、その中でも「GitHub(ギットハブ)」の人気の高さは随一です。そして驚くことに、その取材内容のほとんどが「非エンジニアによるGitHubの使い方」なのです。
エンジニアにとっては無くてはならないサービスである、GitHub。それを非エンジニアが使うとは、どういうことなのでしょうか?
今回は非エンジニア向けに、GitHubとは何なのか、なぜ非エンジニアにも使われ始めているのかを解説します。
- 【第1回】そもそもGitHubって?
- 【第2回】Issueを使ってディスカッションをしよう
- 【第3回】ファイルを管理しよう
- 【第4回】Pull Requstを使ってみよう
▼エンジニアにも対応したGithub入門の連載記事は以下をご覧ください
そもそも「バージョン管理ツール・GitHub」って何?
GitHubとは、もともとは「ソースコード(プログラム)のバージョン管理ツール」です。みなさん、WordやExcelで作った資料を更新したいとき、どのように過去の資料を保存していますか?
「old」というフォルダに移動する、ファイル名に日付を付ける…などの工夫をされている事だと思います。しかし、結局は人の手によるところなので「どれが最新版か分からなくなった」ことは少なからずあるでしょう。
▼上書きを重ねた結果、どれが最新なのかわからない…
そういった問題を解決するのが「バージョン管理ツール」で、その代表が「Git」です。バージョン管理ツールを使えば、ファイルが更新された日時が分かるだけでなく、その時にファイルにどんな差分があったのかが一目で分かります。さらに、いつでもファイルを過去の内容に戻すこともできるのです。
▼更新箇所が赤(前)と緑(後)でハイライトされるので明覚
ソフトウェア開発にはバージョン管理ツールが付きものです。バグが発生したときに怪しいファイルの差分を見たり、複数人で開発するときに、誰がどんなプログラムを書いたのかを可視化するために活用されます。
なぜGitHubが、非エンジニアに使われているのか?
GitHubはソースコードのバージョン管理をするサービスです。では、なぜ非エンジニアに活用されているのでしょうか。実は、GitHubにはバージョン管理ツールという側面だけでなく、議論の場としてのGitHubという側面もあるのです。どういう事でしょうか?
GitHubはOSS(オープンソース・ソフトウェア)の開発に積極的に活用されます。OSSの開発では、見知らぬ人と一緒に開発をしたり、そのOSSを使っているユーザーからのフィードバックを受け取ることがあります。
そういったやり取りをスムーズにするため、GitHubには「Issues(イシュー)」という掲示板のような機能があります。
▼GitHubの「Issues」ではユーザー同士がやりとりできます。
OSS開発で、Issuesは次のような流れで使われます。
- 「このようなバグがあります」や「こういった機能を追加して欲しいです」といった要望・問題(Issue)を上げる
- そのIssueに対して、関係者が情報を出し合い、どのような方向性で解決するかをチャットに近い形式でディスカッションをする
- バグの修正・機能追加が終わりリリースされた時点でIssueをクローズする
この流れ、よく考えるとエンジニアに限らず、普段チームで繰り広げられているものと同じですね。そうです。OSS開発のために作られたGitHub Issuesという機能ですが、そのまま自分たちのプロジェクトに活かすことが出来るのです。
非エンジニアがGitHubを使うメリットとは?
それでは、実際に非エンジニアも含めてGitHubを使うメリットとは何でしょうか?それを知るにはSELECKに蓄積された事例が参考になります。
例えば株式会社ookamiの事例です。議論をすべてGitHub上に集約することにより、メンバーの情報格差を無くすことに成功しています。
使い方としては、プロダクトへの意見などをGitHubのIssues(イシュー)にどんどんあげていきます。例えば、ビジネスサイドのメンバーがイベントでユーザーにもらった意見なども上がってきますね。
ユーザーや外部の人の意見に触れるのはビジネスサイドが多いと思いますが、そこで得た情報を自分達で完結せず、エンジニアやデザイナーにもGitHub上でしっかりと共有しています。結果的に情報格差がなくなり、プロダクトをピボットする理由や方向性への納得感が増し、変化をポジティブに捉えられるようになりました。
他にも、株式会社FiNCではIssueが可視化されることで、「課題を放置せずに最後までやり切ること」を徹底しています。
GitHubでタスク管理を始めて、各プロジェクトのオーナーが以前と比べて自分の責任でプロジェクトを進めるようになりました。Issueがクローズされずに残っていると、そのタスクが進んでいないことが明確に分かるので良いですね。
議論が止まっているIssueに「クローズしますよ」と書き込むだけで、そこから思い出したように意見が出てくることもあります。「最後までやり切る」ことが仕事なので、それを徹底出来るようになったのは良いポイントですね。
次回は実際に「Issues」の使い方を解説します!
非エンジニアには理解が難しいGitHubというサービスですが、使えそうな気がしてきませんか? 次回は実際にIssuesを使って議論を進めていくまでを解説したいと思います。
▼エンジニアにも対応したGithub入門の連載記事は以下をご覧ください