#最初に
当時情報系の専門学校に通っていた時の話。
もう卒業してだいぶたっているので、時効かなと思って備忘録を作成しました。
社会人の皆様から見たら当たり前のことばかり書いてありますが、未熟な学生時代の話ということでご容赦ください。
#目次
- 卒業制作概要
- 発生イベント(ほぼ時系列順)
- 1.チームメンバーの知識不足への対応
- 2.ルールの策定
- 3.そのほかの対応
- 4.早期出社により1名が離脱、そして機能縮小
- 5.勉強会
- 6.システム結合
- 7.そして成果外部発表、優秀賞へ
- 全体を通して
- 最後に
#卒業制作概要
チームメンバーは自分含めて7人。メンバー分けは先生が行った。
メンバー全員が3年課程の同じカリキュラムを学ぶクラスに所属。
Java以外ほとんど授業で触ることはなく、実習ではWebアプリケーションを中心に作成していたため、卒業制作でもWebアプリの作成を行った。
リーダ決めは秒で私以外の全員一致して私に。
前期は他の授業と並行して要件定義や基本設計書などの作成を行い、後期からコーディングに入った。
#発生イベント(ほぼ時系列順)
###1.チームメンバーの知識不足への対応
卒業制作に入る前の授業で発覚したのだが、チームメンバーのうち3人は基礎知識から抜けていた。
最初のころは他の授業も並行で進んでいたため、放課後の時間を利用して先生方から授業資料をパクって頂戴してチームメンバーに授業を行った。
###2.ルールの策定
そんな状態だったので、コーディングに入っても、自分が一体何がわかっていてわかっていないかわからない状態。
質問しようにも、どう質問したらいいかわからないということで、いくつかのルールを最初に策定した。
- 10分自分でググってわからなければ誰かに質問をする
- 質問の際はエラーコードとソースコード必須。
- エラーに対して自分が何を調べて何を実施したかを必ずいう。
- 作業終了時刻五分前に終礼の実施
- 内容は進捗状況報告や伝達事項など
- 朝の時点で全員への連絡事項や問題提起があれば朝礼の実施
- 1週間に1回、ゼミ担当の先生を含めた会議または勉強会の実施
- 勉強会はあまり中身は問わない、息抜き的なもの
結果的に知識不足のメンバーは他メンバーと同じレベルまで成長した。
###3.そのほかの対応
状況に応じていくつかの対応を行った。中でも効果の上がったことを書く。
- 開発に消極的なメンバーのデスクをリーダ(私の隣)に配置
- ペアプログラミング(もどき)の実施
- その日の進捗状況や作業状態に対してのフィードバックを終礼で行い、記録しておく
- 必要に応じてメンバーとゼミ担当の先生を含めた個別面談
特にペアプログラミングの実施は、各メンバーにとってとてもいい影響を与え、結果的にチーム全体の能力向上につながった。
隣にすぐコードについて聞ける、一緒に調べてくれる人がいるという状況がよかった模様。
私にとっても、リーダ業務に専念することができ、また質問自体の質が向上したためとても良い取り組みになったと思う。
また終礼で必ずフィードバックを行っていたため、チーム全体のコミュニケーションが活発化。風通しの良い雰囲気を作ることができた。
###4.早期出社により1名が離脱、そして機能縮小
かなり頼りがいのあるメンバーだったこともあり、作業予定を見直したところ、機能の縮小は避けられない結果となった。
この品質と納期、メンバーへの仕事を割り振るバランスなどが難しかった。
###5.勉強会
上のほうでも息抜きがてらの勉強会を週1で行ったことを書いたが、これが非常にメンバーからの評判が良かった。
特に評判がよかったのは、一人一つお題をランダムに決め、それについて調べてパワーポイントにまとめ、次回の勉強会で発表を行うというものであった。
お題も技術関係ではなく、「メガネの歴史」「バナナについて」など、息抜きになるものを出し合って決めた。
実は卒業制作の合間に進捗状況など他チームや先生方に対して発表を行うイベントが存在していたため、発表やパワーポイント作りの良い練習になったようだった。
これにより最終的に成果発表時に緊張が薄れたという効果もあったとのこと。
###6.システム結合
何が一番大変だったかというと、システム結合が大変だった。
特に初期の知識不足だった時のコードがコード設計などを無視したものになっており、結合したときにエラーをはきまくったり、コメントがほとんどなかったりしたため、コードを読むにも一苦労だった。
そして他人のコードを解読して結合できるスキルと時間があるのは私のみだったため、この結合作業をほとんど私が行い、結合終了したところからテストを他メンバーにしてもらった。
こればっかりはしょうがないが、今思えば初期の時点でコードレビューを実施しておけばコードが難読化することはなかったと思っている。
また、ここで次があればぜひ参考にさせていただきたいと思ったコードレビューの投稿を共有させてほしい。
###7.そして成果外部発表、優秀賞へ
成果発表は内部で行われるものと、内部で先生方や学生のアンケートで評判がよかったものがいける外部発表があった。
そのなかで私たちは認められ外部発表へ行くことができ、優秀賞を受賞することができた。
#全体を通して
知識不足は努力次第で何とかなるが、コミュニケーションが不足するとどうにもならないことがよく分かった。
他チームがコミュニケーション不足でボロボロになっていくところを間近に見ていたので、これから初めてチームで一つの作品を作る人や、卒業制作をする人は特にコミュニケーションを重視してほしい。
また、チームメンバーが私(リーダ)に対して協力的であったことも助かった。
そうでなければ対応策も取れなかったと思う。
また、いろいろなトラブル対応をしていくうえで、致命傷ではないたいていのことは「おもしろくなってきた」と軽く流せるようになった。
正直社会人になってからはこれが一番役に立っていることかもしれない。
#最後に
結果としてはとてもいい状態で終わることができ、良かった。
初めてほかの人と大きなプロジェクトを行うことで、いろいろな経験をし、スキルアップできたと思う。
あとは、初めてチームで一つの作品を作る人や、卒業制作をする人の参考になれば幸いです。