プロジェクトマネジメントを学ぶ意義
FabAcademyの一番最初に学ぶ講義は、通例ではプロジェクトマネジメントだ。FabAcademyの受講者は、彼らの作品の制作過程をweb上で発表することが求められている。それは、単純にこの講座の進捗を評価するためのものではないように僕は思う。 というのも、FabLabという組織は基本的にオープンソースであることを旨としていることに関係があると思うからだ。オープンソースであるためには、オンライン上で世界とつながっている必要がある。そして、世界中に自らの活動を知らしめること、これが重要な要素であることは疑いようがない。 つまり、彼らはオープンソースプロジェクトの進め方を、はじめに習得する必要がある、ということなのだ。そして、プロジェクトマネジメントの最初に学ぶことは、バージョン管理だ。 ファイル同期ソフトとバージョン管理ソフト まず、講義ではファイル同期ソフトが紹介される。rysyncとunisonだ。でも、ファイルが最新に保たれているだけでは不十分だ。ファイルが最新になるようにシステムを構築し、さらに、そのバージョン履歴が保存されていることが望ましい。ガーシェンフィールド教授もバージョン管理はとても大事だと述べている。開発に関わる全ての履歴、それはどのような試行錯誤を行い、どのような案をボツにしたのかが残ることが重要なのだ。(これはトヨタの棚入れという仕組みに似ていると
勝手に僕は思っている。いわゆるセットベース開発を行うことが重要なのだと思う。)
この講義では、バージョン管理ソフトとして、RCSやCVS、Subversionなどが紹介されている。色々あるのだが、かつて、この講座においてメインで使われていたのはMercurialだった。これには技術的な理由があったし、それは好ましいものだった。 しかし、現在一般的に主流なのはGitだ。そして、これは現在この講座でメインで使われるツールでもある。これは別途、説明がある。Gitを使えば、プロジェクトの履歴を丸まま残すことができる。そして、この講座の受講者は皆、自分の作品をGitで皆に共有するのだ。 あとは、Dropbox にも言及している。Dropbox は、割とメジャーだから、みんな使っているだろうけれども、これはクラウドでバージョン管理するのに適している。Dropboxは意識せずに使うだけで、自動的に同期したりバージョン管理してくれる。Dropboxは商用だが、ownCloudはそのオープンソース版だ。ちょっとしたファイルであれば、Dropboxを使うのが気楽で良い。
(つづく)
講義の目次は【和訳版】FabAcademy 2016からご覧ください。
※この記事はFabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。