第2回目から2日後の2019年11月22日、山梨大学さまにおきまして弊社CTO清水が「GitHubを使ったチーム開発」をテーマとした第3回目の講義をさせていただきました。工学部コンピュータ理工学科のITシステム開発実習の授業を受講する60名ほどの学生に向けたこの講義は、11月中の全4回を予定しています。早いもので折り返し地点を過ぎ、今回から後半となります。
前回は講義内容の改善にも努め、学生たちがチーム開発してきたアプリケーションへの機能追加についての本題に入りました。講義終了後2時間以上も熱心に作業をしたり質問をしたりと作業を進める学生たち。その様子に、さらによい講義を行いたいという思いで身が引き締まります。
本日の山梨県甲府市は雨が降ってだいぶ冷え込み、秋の終わりを強く感じさせられるような天気でした。この短期間でも回を越すごとに寒さが増すのが身をもって分かり、構内の学生の服装もマフラーやコートを身につけるなど変化が見受けられます。
「Git 活用」へとテーマを変更
引き続きアプリケーションへの機能追加に向けて、第3回目は「アプリケーションのデプロイ」をテーマに展開する予定でした。しかし、学生たちの進捗や全体のつながりを考え、カリキュラムを変更。講師にとっても改めての勉強や資料の改稿が必要となり容易ではありませんが、より実用的な講義内容にする為にも不可欠と考え決断に至りました。
「Git 活用」というテーマに今回変更したのは、Gitが開発の効率性をさらに良くする為の要となってくるからです。弊社での開発においても、変更履歴を記録・追跡するバージョン管理システムであるGitは欠かせません。Gitの様々なテクニックを駆使すれば、チームでの開発をよりスムーズに運べるようになります。
ヒストリー上の重要なポイントに付けることが出来る“印”としてのタグの付け方から説明していきます。タグは、提出課題にも対応完了の明示の為につけるように指示しました。
弊社ではGitKraken, Sourcetree, Forkなどメンバーがそれぞれ使いやすいGitクライアントアプリケーションを使っていますが、この講義で使うのは、学生たちが使っている統合開発環境の「Eclipse」に「EGit」というGitプラグインを導入したもの。タグの付け方についても画像を入れて分かりやすく、また参照しながら作業できるようにしました。
加えて、Gitのテクニックについても学生たちにいくつか紹介します。まだコミットしていない変更を一時退避する「スタッシュ」、取り消したいコミットを打ち消す為のコミットを作成する「リバート」など、ふとした瞬間に直面する「こういう時にどうすればいいの?」という場面で使えるようなヒントを挙げました。学生たちがGitを使ってスムーズな開発ができるよう、このような細かい部分も意識しながら資料を作って講義に活かすようにしています。
講義の演習時間、よく質問をするチーム・メンバーで議論を深めているチーム・静かなチームと、進め方にも色があると気づきました。GitHub上では各チームの活動が分かるため、静かなチームもGitHub上でしっかり作業が進んでいることが見て取れます。このような部分も含めて、改めてGitHubの便利さを感じました。
最終回の第4回目へ向けて
今回、最終課題の提出方法を発表しました。評価しやすいように提出方法を工夫したことで、各チームでゴールに向かってどのように進めていけば良いかを計画しやすいようにしました。それに向けて学生たちも真剣に取り組んでくれています。また、講義外においても作業している学生チームからのGitHubの通知が来るので、それにも興味深く目を通している毎日です。次回はついに最終回となる、11月27日の第4回目。課題提出に向けて、それぞれのチームの開発・改善をよりフォローできる内容となるよう努めていきたいと思います。