6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VRChat近況報告会Advent Calendar 2024

Day 14

学生ハッカソンのチーム開発で失敗した経験を振り返る

Last updated at Posted at 2024-12-13

はじめに

こんにちは。しろさんと申します。
普段参加しているVRChat近況報告会でアドベントカレンダーを作成するということで、せっかくなので参加させていただいています。

2024年も残り1ヶ月、今までの振り返りを兼ねて短期間のチーム開発をテーマに記事を作成しました。

チーム開発、沢山経験しました

直近の2年間、ハッカソンやインターン含め、合計8回ほど短期間のチーム開発を経験しました。
また、多くの失敗も経験しました。この記事では

  • ハッカソンでのチーム開発失敗談
  • 学生ハッカソンならではの難しさ
  • ハッカソンの開発をスムーズに進めるために意識していること

について書きたいと思います。
今回は、技術的な課題や開発物の完成度に関する内容は記載せず、コミュニケーション問題にフォーカスして書いていきます。
また、学生の視点で記事を書いているため、社会人ハッカソンでは事情が違うところがあるかもしれませんが、ご了承ください。

チーム開発の失敗談

失敗した経験は山ほどありますが、大きく3つのカテゴリに分けてご紹介します。

  • BE/FEの連携で停滞

初めて参加したハッカソンでは、フロントエンドとバックエンドで分担して開発を進めた結果、双方の情報共有が全く出来ておらず、APIの繋ぎこみで苦労しました。
バックエンドが作成したAPIの仕様を、フロントエンドに共有せずに実装を進めてしまったのが原因です。
また、3回目のハッカソンでもフロントエンドとバックエンド、互いの技術領域に対する理解不足により、繋ぎ込みに想定以上の時間を費やすことになりました。

  • 熱量の違いで仲間割れ

3回目のハッカソンでは、非常に熱量の高いメンバー1人が他メンバーを牽引しながら開発を進めました。
熱量の高い1人がリードして開発物の仕様を決め、UIを設計し、開発を指揮しました。
結果、開発途中でメンバー同士の認識齟齬が生じ、一部設計をやり直すことになりました。
また、熱量が高いメンバーだけが多くの作業をこなしている状況になっていたため、その不満による口論が度々発生する状態になっていました。

  • 知識不足で開発に参加できない

4回目のハッカソンでは、技術力の高いメンバーに混ざって開発を行いました。
企画から設計、実装まで、皆協力し話し合いを定期的に挟みながら開発を進めました。
しかし、私の知識不足・技術不足によって、話し合いの内容を深く理解できず、序盤は開発にも殆ど参加できませんでした。
8回目のハッカソンでは、技術力の高い1人だけが開発のほぼ全てを担当している状況に陥っているチームがありました。

なぜ学生ハッカソンが難しいのか?

失敗経験を振り返ってみると、その内容は下記の通りです。

  • 企画・開発途中の情報共有不足
  • 業務の振り分けが不適切
  • メンバーの技術力を踏まえた動きが出来ていない

具体例でいうと、「互いの業務内容や遂行状況を把握できていない」「実行すべきタスクを明確に文書化出来ていない」「メンバーの能力に応じた適切な業務を割り振れていない」といった内容が挙げられます。
自分なりに、このような問題が発生していた原因を集約したものが次の内容です。

  • 開発チームの運営(マネジメント)に割くリソースが不十分である

開発の進め方の策定や役割分担など、開発を上手く進めるために必要な要素を考え、実行する時間と意識が足りていませんでした。

企業であれば、開発をマネジメントする方がいて、メンバー全員の様子を見ながらスケジュール管理やタスク管理を行っていると思います。
学生のみのハッカソンの場合、企画・開発・プレゼンのような、本来分業して行うような作業を、短期間のうちに、チームのメンバーだけで全て行わなければなりません。チーム開発を管理してくれるマネージャもいません。
その結果、実装ばかりに気を取られて他に気が回らず失敗するパターンが多かったように感じます。

ハッカソンの開発をスムーズに進めるために

チーム開発の壁に直面した頃から、どうすれば問題を解決できるか考え、試行錯誤を続けています。
現状、私が実践(しようと)している解決策は次の通りです。

  • ハッカソンで解決したい課題とその背景、課題解決後の理想状態、解決策、ユーザー像についてドキュメントにまとめ、全員でそれを確認しながら不明点や問題点を指摘する
  • 定期的なミーティングの場を設け、それぞれが抱えているタスクと進行状況を共有する
  • 最低限必要な機能と、それを実装する期限を定め、計画を立てて実装を進める

このように、メンバー全員の考えや状況を共有する機会と、些細な問題を素早く発見し対処する環境を作ることを意識してチーム開発を進めています。
実際に、これら全てをハッカソンで実行し、チーム開発が上手くいった経験もあります。
(詰まるところ、ハッカソンにもマネージャのような立ち回りをする人が必要かもしれません)
ただ、ハッカソンの期間によっては、ほんの数日でこれら全てを十分に意識しながら開発を進めるということが難しく、まだまだ課題があると感じています。

でも結局ハッカソンは楽しい

失敗した経験ばかりを挙げてきましたが、困難を乗り越えて作品が完成した時は、何事にも代えがたい感動があります。
また、「失敗を経て解決策を考え実践していく」「チームで協力して物事を成し遂げる」「自分たちの力でこの世に無いものを生み出す」等、ハッカソンを通して得られる貴重な経験が沢山あります。
みなさんも是非!ハッカソンやりましょう!

おわりに

クリスマス感を出すために、最後にダンシングツリーの3Dモデルを作成します。
スクリーンショット 2024-12-08 205758.png
出来ました。
2025年も良い1年になりますように。Merry Christmas!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?