はじめに
こんにちは!私たちは新卒エンジニアチームでwebアプリの作成に取り組みました。結果的に、納期までに成果物を作りきることができなかったのですが、その過程で多くの学びを得ました。
この記事では、私たちが直面した課題とその解決策をシェアします。私たちの失敗談が、同じような道を歩む後輩エンジニアたちの参考になれば幸いです!
プロジェクト概要説明
目的
- プログラミング言語の学習
- チームでの開発経験の積み重ね
背景
私たちは社内でボツになった案を引き継ぎ、新卒エンジニアメンバーが中心となってプロジェクトをスタートしました。
作成予定だったもの
- サバゲーに特化したレビューサイト ꙳⋆🔫
チーム構成
- プロジェクトマネージャー: 1名(エンジニアの先輩)
- バックエンドチーム: 5名(新卒)
- フロントエンドチーム: 5名(新卒)
- バックエンドとフロントエンドチームの中からリーダーを1人選定
技術スタック
- 言語…PHP, JavaScript, HTML, CSS
- フレームワーク…Laravel, Next.js
- ツール…GitHub, Docker, Figma
- その他…LIFF
スケジュール
2023年10月〜2024年5月の間、毎月一回集合して全員で作業しました。どうしても時間が足りなかった部分は空いた別の時間を利用して各自進めました。
開発の目標
言語学習とチーム開発の実践を通じて、プロジェクトをリリースすることを目指しました。
実装予定だった機能と実際の進捗
フロントチーム
- 画面の実装
↪︎全14画面中10画面が未完成 - 画面デザイン
↪︎全デザイン完成 - LIFFでのログイン機能
↪︎DB連携等ができておらず未完成
バックエンドチーム
- 管理画面(ユーザー管理、レビュー管理など)の実装
↪︎全16画面中10画面が未完成 - フロントへのAPI連携
↪︎画像の取得等ができておらず未完成
問題点の洗い出し
大きく分けると、以下の5点かと思います。
1. 事前計画が不明瞭
プロジェクトの初動時に、最終的な成果物のイメージや詳細なWBSが十分に明確化されていませんでした。そのため、進行中に混乱が生じ、タスクの優先順位判断や進捗管理が困難になりました。
解決策
- チーム全員で必要なルールやドキュメントを漏れなく作り込む
- 作りこんだものを、エンジニアの先輩にレビューしていただく
- 作成したドキュメントは、いつでも誰でも見やすいように管理する(notionやbacklog等を用いる)
2. 情報共有不足
情報共有の場や手法が確立されておらず、メンバー間での情報共有が少なかった。情報共有が内輪で完結し、他チームや先輩に報告されない場合も多々ありました。また、先輩PMに相談する回数が少なく、新卒だけで全部進めようとしてしまいました。
解決策
- チーム全体での進捗・情報・課題の共有を目的とした場を開催
(朝会などの定例会議、必要とあらば突発的な会議も)
3. ドキュメントの不備
環境構築資料やDB設計書などに不備(記載漏れなど)があり、認識齟齬が生まれることが多かったです。ドキュメントに記載がないものはチームリーダーに聞くことが多く、そこで両者の時間を取られることも多かったです。
解決策
- ドキュメント作成時に第三者のレビューを挟むことで、不備が無いかチェックする
- 作成したドキュメントは、いつでも誰でも見やすいように管理する(notionやbacklog等を用いる)
4. プロジェクト管理の課題
開発着手以降、タスクの進捗管理が不十分であり、チーム全体の連携が十分に行われませんでした。また、実装時に必要な機能がわかるような資料等もなく、進捗の把握が難しかったです。
解決策
- WBSの作成
- タスク一覧表(各タスクの状況が一目でわかる資料)
5. モチベーションの課題
メンバーのモチベーションが低下し、プロジェクトへのコミットメントが揺らいでいました。社内のみのプロジェクトだったため、納期までに完成させなければいけない等の焦りがありませんでした。
解決策
- チーム全員でプロジェクトへのモチベーションや温度感を揃え、プロジェクトへの意欲を高める。
そのためには、成果の評価方法や、報酬などが事前に定まっていることが望ましい。
まとめ
今回の失敗から学んだ教訓は、私たちにとって貴重な成長の機会となりました。
同じミスを繰り返さないために、事前計画の徹底、情報共有の改善、ドキュメントの充実、プロジェクト管理の強化、そしてモチベーションの維持を意識してまいります。
この記事を読んでくださった方々のプロジェクトでも、この記事が役立つことを願っています!