チーム開発の鍵は、情報格差をなくすこと!2週間のアイディアソン&ハッカソンレポート
2024年10月、福岡市が主催する学生向けエンジニアブートキャンプ「データエンジニア・カタパルト」のPhase02が開催されました!
Phase02では、選抜された28名の学生が4名のチームに分かれ、アイディアソン・ハッカソンに挑戦。約2週間にわたるチーム開発を通じて、Laravelをベースに新たな技術を取り入れながら、実際にプロダクトを制作しました。
チーム開発のスタート
キックオフでは、株式会社オルターブース代表の小島淳さんが講師を務め、アジャイル開発のスクラムの重要性やプロダクト開発に必要な心構えを学生たちに伝授しました。この学びを生かし、各チームはプロダクトの企画に取り組みました。
さらに、データエンジニア・カタパルトの修了生であり、オルターブース社でエンジニアとして正社員として働く稲岡さん(1期修了)や、インターン中の柳井さん(2期修了)も学生たちをサポート。現場でのリアルな経験をもとに技術相談に応じる場面もあり、より実践的な学びが得られる機会となりました。
チーム開発の成果と学び
最終日に行われたコードレビュー会では、学生たちが身近な課題や悩みをもとに開発したプロダクトが発表されました。すべてのチームが最後まで諦めることなく開発に取り組み、データベースを活用したプロダクトを完成させることができました。
講師を務めた小島さんからは、「全チームが誰一人として諦める(離脱する)ことなくプロダクトを作り切っただけでなく、データベースを使ったプロダクトを完成させている。たった2週間でここまでできたことは誇りに思ってほしい。チーム開発はコミュニケーションが大切。ずっと喋っていたらいいという話ではなく、チーム内の情報格差をなくすこと。この先のPhase04でも頑張ってほしい。」とエールをいただき、Phase02を締めくくりました。
学生たちの声
成功のポイント(Keep)
- zoomで毎週わからないことや新着を報告し合っているのはとてもよかったです。他のチームを見てみて毎日共有しながら行っているところもあったので情報共有は維持し続けたいです。
- 上手く動かなかった時にSlackを通して報告することで改善に繋げられました。
- 役割分担をプロジェクトを始める際に明確に振り分けることができた為自分の目標を明確に理解できた点と、エラーが出た際には解決できる人が教え、プロジェクト内容も作っていくにつれ内容を煮詰めていけたことは良かったです。
- エラーがでた際にそれを共有することで一人でやるよりも格段に効率的な開発ができたように思える。
- オンラインでのミーティングを開いて進捗確認&チーム開発をすることでモチベーションを保てた。
- GitHub上に必要な情報をまとめたため、情報の共有がスムーズだった。タスクの難しさや量を定義したため、時間があまり取れない人でも開発に参加しやすい環境を作れたと思う。
課題(Problem)
- 自信がなくても思ったこと、気づいたことはもっと言うべきだった。小さいマージでも報告すること。難しく、重要な機能を一人に任せすぎた。環境構築にもっと気を配り、確実に全員ができるようにしてから進めるべきだった。
- チャットベースのやり取りが少なかったこと。もっと気軽に投稿できるような心理的安全性を作ることができなかった。Slackに関していうと、スタンプ機能の利用が少なかった。チーム開発に慣れている人がいなかったので、初めから自己流になってしまったことが課題としてあげられるように感じた。
- エラーに関する情報共有については良かったがそれぞれの担当した機能に関する質問等や議論が少なかった為、もっと活発に行えば今より良いプロダクトを作ることが出来たと思います。
- メンバーでコード力やコミットメントの差があり、結果的にコード力のあるメンバーの負担が大きくなってしまった点。
- やる気の波が合わない時期があったので、どうにかみんなのモチベーションが高い時期に合わせたかった。
今後のアクション(Try)
- チーム開発はコミュニケーションが最も大事だと思っているので、自分の意見を素直に発言できるような心理的安全性を確保することが大事で、そこに関しては自分から意見を発信していくことが足りなかったし、重要だと思う。今回はそこまでなかったことだが、プライベートで忙しい人がいたときなどはその状況について知ることも協力するうえで大切だと思った。
- チーム全員が同じレベルの情報を持つということが出来ていなかったように感じたため、そこを改善出来れば良かったと考える。
- チーム開発では全員で開発に取り組み、お互いに疑問点を共有して影響し合えたと思います。これをさらに良くするために疑問点や提案などの箇条書きやまとめたページを作って共有することが必要だと思いました。
- とにかく情報の共有、可視化が必要だと強く感じました。また、細かいことでも相談しお互いの定期的に進捗を確認する作業を定期的に挟むことで、よりよいチーム開発になると思います。
- 頻繁なコミュニケーションを重要視し、お互いを尊重し合うこと。相手の弱点をネガティブに捉えず、むしろ自分が補っていき、チームとしてポジティブな方向に向かおうとする姿勢。
- 同じエラーが出たときに、これはあの時もミスした、このエラーを解決するにはこうしないと、と経験が生きている部分があったので、エラーを怖がらずに、経験を増やしていきたいと感じました。
Phase02を終えた学生たちは、データサイエンスを学び、最終課題制作に入ります。最終フェーズでは、さらに実践的な開発が求められ、技術力だけでなくチームワークや問題解決能力も試されることになります。
今回の学びを活かし、この先の開発でも全力で挑戦していきましょう!