びーまかの活動記

これまでの大会の感想や気になったことを地道に投稿していきます。

リーダーが働かないとプロジェクトは炎上する

はじめに

こんにちは。プロコンを昨日に終え、さみしさを感じているびーまかです。

あんなにプロジェクトが辛くて辛くて「はやく終われ」「リーダーやめたい」「チーム解散したい」とか愚痴っていたはずなのに、実際の大会や宮崎でのイベントが楽しすぎて「やっぱりもう1回プロコン出たい」とか言ってる。喉元過ぎて熱さを忘れたような気持ち。みんなで限界お泊り開発したり、観光したりするのがめちゃくちゃめちゃくちゃ楽しかった!!!

とはいえ、うちのチームの大会結果は散々だった。元々机上の空論に近い完成度のシステムだった上、当日それさえ動かなかったのでオワオワリした。
で、なんでうちのチームがこんなに炎上したかを、チームリーダーの観点から書いていこうと思う。自分自身やこれからのチームの反面教師になってほしい。

なんで炎上したか

私が考えた理由をいくつか書き出してみる。

元々のテーマが専門外過ぎて難しかった

/ 公開してもよいのなら、ここにうちのチームの企画書.pdfを貼りたい /

私たちのシステムは、「水中音響通信の実現」「水深5mでも水没しない箱」「海流を検知するプロペラの作成」など、ハードウェアやアナログ面での課題が多い作品だった。ソフトウェア部分は開発できそう(簡単に言うなとか思ってたらごめんなさい)、でも頑丈で防水な部品はどう設計してどう制作したらいい、通信の際に入るノイズをどう解消したらいい、そもそも水中音響通信ってなんだ???メディア情報工学科の学生にはナニモワカリマセンという気持ちだった。徹夜でどうにかなる学校の課題とかとは全然違う。

教授には企画書出した段階で「この企画は難しいから、何回も実証実験を重ねて問題を発見して実験して…を繰り返さないとやばいよ。早く作って実験をしろ。」って忠告されてたし、水中音響に詳しい先生もいたのに全然生かせなかった。

リスク管理できてない

ハードウェアは脆弱だったけど、一応審査のある大会2日目までにはシステムが完成した。しかし、当日朝。
じゃば「あれ…サーバが動かない

システムの基幹であるサーバが動かないと、警報ポールも鳴らないしスマホアプリもWebアプリも動かない。ユーザが直接触ることになる部分が死んでしまったのは痛く、特にマニュアル審査がオワオワリした。

大会が終わり、教授に「リスク管理が足りてない」と苦言を呈された。確かにローカルサーバで運営したり、サーバが停止してもポールやアプリが動いているように見せかけるための準備をしておいたりするなど、防止策はあった。

しかしその原因の根幹は、当日朝にしか統合テスト成功しなかったことにある。そんなぎりぎりに完成したのに、リスク管理をする余裕がある訳ない。

リーダーのプロジェクトマネジメントが下手すぎる

では、なぜ当日朝にしか完成しなかったのか?それは、
リーダーが全く進捗管理できてなかったせい

うちのチームが炎上した原因の8割くらいはこれ。このチームが破綻したのは、本当に私のせいだと思っている。企画書の段階での審査員の評価はすごく良かったし、きちんと作っていたら最優秀賞狙えたかもしれないのに…せっかくがんばってくれたチームメンバーには、本当に申し訳ない。

という訳で私のリーダーとしての反省を、失敗談を見ながら書いていく。

リーダーとしての反省

メンバーの仕事内容を詳細に把握し、明確な期限を設けること

技術的な知識のない私は、各々の仕事内容がよくわからなかったので「まあとりあえず仕事をお願いしておけば、後は個人で勝手に進捗生やしてくれるかな」と思い仕事を振って放置した。

勝手に作業が進むわけないだろ!!

私が仕事内容を把握していない状況だと、それがどういう難易度で、どれくらい進捗が進んでいて、今いい調子なのか行き詰っているのかも分からない。結果、行き詰っていることにも気付かないし、進捗が遅れていると思っても「まあ時間かかる作業なのかもしれないし…」と口を出すことができない。

リーダーが進捗を把握しておけば、何かあったときの対処が迅速にできる。例えば私たちのチームでは、kishimon先輩のプロペラ作成が難航したためJavaが手伝ってくれていたのだが、これを数週間早く始めていればハードの完成も統合テストももっと早かったはずだ。大会本番で起こったトラブルも予期できたかもしれない。

進捗管理を各々に任せすぎないことが大切だと思った。リーダーに技術的な知識がないなら、メンバーにこれから行う作業をこと細かく説明してもらい、それがどれくらい時間がかかるのか、1人でできそうなのかなどの確認をとる。そうしないと、チームの進捗が危機的な状況に遭っても直前まで動けない。

仕様は共有して相談する

マニュアル操作提出2日前、それはJavaの一言で始まった。
Java「なあこのアプリの仕様考えたのびーまかだろ?ここがこうなら、こういう機能も必要になるんじゃね?」>
びーまか「…確かに!!」

そこから始まった、怒涛の開発&仕様変更。Javaに指揮を執ってもらい、メンバー全員に徹夜を強いて夜まで働いてもらいながら、一晩で1つの機能を完成させた。きちんと期限を守って仕事をしていたはずの開発組につらい作業をさせたことが…ひたすら心苦しい。

実は私は、Javaスマホアプリの機能について意見をしてくるとは思ってもいなかったのだ。これまで私が行ってきた授業の演習やPCKでのチーム開発では、ある仕様に対して、直接担当でない人が意見してくるという機会がほぼ無かった。(私の知らないところで、他メンバーと教授が仕様について話していたことはあったようだが)
だからアプリの仕様は私一人で決めたし、それについて誰かが意見するとは思っていなかったので相談もしなかった。
結果、直前の仕様変更で全員に迷惑をかけたのだ。

誰か1人に仕様を決めさせないこと。仕様を決めたり変更したりする際は、担当でないメンバーにも確認と了承をとること。そのタイミングが遅くなればなるほど、メンバーへの負担が大きくなってしまう。

ふんどがプレゼンターをやろうか悩んでいた時も、私やウエハラなど周りの友人には相談していたのだが、チームメンバーには相談していなかった。そりゃ、自チームの事情を他チームから聞かさせるなんておかしいよな…
プレゼンのことだから他メンバーには関係ないと思って話すの忘れてたくせに、ふんどの仕事の一部をJavaが請け負うことになってしまった…書けば書くほど申し訳ない気持ちになる。

進捗報告会≠誰かサボってないか見張り合う会

Javaに「リーダーちゃんとリーダーの仕事をしてください。なんで週3で進捗報告会してるのに、誰もお互いの進捗を把握してないの?」と言われた。

私は進捗報告会を、進捗の共有ではなく「定期的に進捗報告させることで夏休みのサボりを防ぐ」手段として用いていた。進捗管理を各々に任せている節があったため、今後の予定や期限といった進捗の詳細を聞こうとせず「きっとそろそろ完成するんじゃないかな~」という甘い気持ちでやっていた。

夏休み明けで再会したJavaに「モジュールの進捗がそこまでやばいと思っていなかった」と言われる程に、各々の進捗が共有できていない。進捗報告会がきちんと機能していれば、もっと上手く仕事を割り振ったりヘルプに入ったりすることができたんじゃないかな。

誰かに甘いと他のメンバーに負担がかかる

プロペラの進捗が遅れて申し訳なさそうなkishimon先輩に「まあ…でもちゃんとがんばろうとしてるみたいだし…もうちょっと様子見るか…」と遠慮したり、プレゼンやりたいと言ったふんどに「ふんどは今後も大会に出るから、後輩のやりたいことを尊重してこれからに生かしてほしい」と考えたりしたこと。
結果として、それが進捗の遅延やJavaへのタスク増加につながってしまった。私はJavaに頼めば何とかなると思っていた節があり、甘えていたのだと思う。私が甘やかしたツケは、私でなくJavaにくる。

そういう意味で全てのタスクを押し付けてしまったJavaや、1年生なのにスマホアプリの全ての開発を任せることになってしまった2tf…もちろん他のメンバーもがんばっていたけれど、特にこの2人には本当に頭が上がりません。ありがとう。

先輩や後輩だからと贔屓せず、強く質問したりきちんと話し合えばよかったなと思う。
私の性格上、それが1番難しいんだけど。

他の人の忠告はちゃんと聞け、早く頼れ

散々「今から注文しないと間に合わない」「教授にちゃんと話した?」など忠告されていたのに、リーダーが何も忠告を聞かなかった!!
人に聞きに行くのって怖くて勇気が無くて…「まだ作ってる(考えてる)途中だから教授に聞きに行けない…」という言い訳をして、締め切り直前にようやく聞きに行った挙句まさかりで死ぬ、という過ちを繰り返した。ほんとによくない。

どうせいつか見せなきゃいけないんだから、行き詰ったらとっとと相談に行くこと。
あと、聞きに行くのが怖いのならもっと早めに買い物リストやマニュアルなどを完成させること。
それならまさかりくらっても、まだ期限に余裕があるからダメージが少なくて済む。あとは自分のサボり癖を、直していくこと。

リーダーが何もできてないと、自分もチームも鬱になる

私が思ったのは、これくらい。

ブログ書くために思い出していると、とてもつらい気持ちになる。自分が仕事できなさ過ぎてつらかった。でも、そもそもチーム全員がつらい気持ちになってるのは私のせいだし、私のせいで士気を下げたくなかったから、愚痴とか泣きたい気持ちは全部ウエハラや13thの友達にこぼしていた。ありがとう、君たちがいなかったら私は心が壊れてたよ。ほんとにありがとう。

リーダーが仕事しない=チームの進捗が滞るので、テンションががくんと下がるし、自分もつらくなる。
だから、自分の身近にリーダー業してないやつがいたら早めに叱ってほしいし、自分がリーダーになったらちゃんと他の人やメンバーに相談しながらでもいいから、進捗管理がんばろうね。

チームメンバーに向けて(ここからは読まなくてもいい)

大会前まであんなにつらかったのに、今思い返すと限界開発した楽しい記憶しか出てこなくて、もう1回さやえんどうで大会やり直したいという気持ちが出ています。完全に燃え尽き症候群です。

スマホアプリ、Webアプリ、サーバー、警報ポール、モジュール。これまで辛い思いをして徹夜して、がんばって作ってきたのに。せっかく全員であそこまで作り上げたのに、それが動くところをちゃんと見せられなかったことが、本当に悔しい。特にスマホアプリは、2tfがずっと前から頑張ってくれてたお陰で完成度高かったし、1年生でここまでいいもの作ってくれたんだから!!紹介して自慢したかった!!!

あと、ふんどが…めちゃくちゃプレゼンがんばってくれたことが心から嬉しい。前日全然寝られてないし、練習時間も少なかったし、プレゼン初挑戦だし…
ふんどがプレゼン前に心が折れてしまわないか、本番で何を話すか忘れてしまわないか、厳しい質問をされて言葉に詰まってしまわないか、私のクソ雑魚パワポが大画面で映ってしまってつらい…とかすごく心配してたんだけど、
ふんどがプレゼンも質問も堂々と受け答えをしてるのを見て、すごく安心できた。ふんどがいなかったら、私シナリオもプレゼンもやることになって辛かったよ。一緒に頑張ってくれてありがとう。

Javaとkishimon先輩には、大変で難しいタスクを全て背負わせてしまった…ほんとうにごめんなさい。もっとリーダーがちゃんと進捗管理して、早めにヘルプ出したりみんなで相談したりしていれば、ちゃんと完成したんじゃないかな…つらい。
リーダーの無茶ぶりに文句を言いながらも、全部、それ以上の仕事をやり遂げてくれたJava、そして辛い仕事だったろうに文句もいわずがんばり続けてくれたkishimon先輩、2人がいなかったらこのチームは成り立ちませんでした。

あとがき書いてたら寂しい気持ちになってきたな。おわる。
これの次は、ちゃんとプロコンネタ用記事を書きます。