Engineeringをしている里山です。BLOGも、新卒社員に研修での体験などを紹介してもらいたいとおもいます。前回に引き続き、今回もプロジェクトフォーカスラーニング研修の続編を新卒の仲間から紹介してもらいたいとおもいます。プロジェクトフォーカスラーニング(チーム開発編)こんにちは。19新卒入社の岡本です。前回の「個人開発編」に続き、今回は「チーム開発編」と題して私が経験した事を話します。私は情報系の大学を卒業していますが、学生時代は個人開発しかやってきておらず、チーム開発は初めての挑戦でした。本記事では、その経験から得た知識を元に、私が考える「理想のチーム開発とは何なのか」についてご紹介できたらと思います。自分の開発スピードを常に把握しておくまとめチーム開発とは今回のチーム開発(以下、開発)では、「仮想クライアントからの要望を受け、チームでソリューションを作る」事を目指しました。意識するのは勿論の事、以下の3点を実践・経験する事が目的です。個人開発で培った、ゴール設定や作業タスクの洗い出し、優先度付けなどの知識の活用クライアントの要望に応えながら、新規機能を追加し、バージョンアップを行うまた、演習における開発は以下のスケジュールに沿って進められました。研修では全部で10チーム程あり、他チームが仮想クライアントとして私たちに依頼をしてきました。今回、私たちのチームに依頼したクライアントの概要・要件は以下の表になります。蔵書の一元管理化の2点を考慮したシステムの開発をしました。次に開発をする上での重要な点について説明します。開発プロセス前述にある通り、今回の開発手法はウォーターフォールです。ウォーターフォールでの最大のメリットは、全体的な計画を立てやすい点が挙げられます。開始時に要件を定義し詳細に落とし込む為、最初にやるべき事が何なのかを明確にでき、スケジュールを立て易くします。このモデルでは、以下のプロセスからなります。内部設計:開発者目線でのシステム開発コーディング:モジュールをプログラミング言語で記述し単体テストテスト:動作検証リリース・保守・運用:システムを動作させ業務を遂行また、「コーディング」プロセスの折り返しとして、左側に設計、右側にテストを配置した下記の"V字モデル"が特徴です。6人編成、役割は講師による指名でしたが、一般的にはプロジェクトを成功に導けるメンバーを選定します。その中でも重要な1人は、プロジェクトマネージャー(以下、PM)と呼ばれるプロジェクトの管理者です。自分がコーディングをするのでは無く、進捗管理や工数管理などプロジェクトが円滑に進むように管理をする役割です。クライアントとのやり取りやプロダクト変更に対する見積もり作成など、チームの表に立って外部とのコミュニケーションを取ります。PMは、チームのメンバーが動きやすいような環境を作る事が役割と言っても過言ではありません。その他にも役割は様々あり、開発規模によって大きく異なります。日々、作成されるドキュメントや納品物を管理するその他のメンバーはPM・TL・DLの作業負担が上らないように設計や開発を進めサポートします。役割が無くても自分の持ち場に責任を持って行動することが大切です。役割を担い、チームを技術面から支える事に注力しましたが、チーム全員がコミュニケーションを取る事で円滑に開発を進める事ができました。今回の開発では前提条件として、以下の4点があります。Webアプリケーション開発で最も使用されているフレームワークです。