📅 note公開日:2025-09-22 11:44
🔁 この記事はnoteで公開していた内容をQiitaへ移行・再掲したものです。(必要に応じて加筆修正しています)
アプレンティスシップ10期生第1回目のチーム開発についての総評を記録いたします。
- プロジェクト概要
- 苦労したこと
- 良かったこと
- 次のチーム開発で実行したいこと
プロジェクト概要
開発期間:1週間
プロジェクト名:献立提案アプリ
開発者:4名
タスク4分割の内訳:
html,css,JavaScript 1名(自分)
JavaScript,環境構築 1名
PHP,DB,環境構築 2名
ターゲット:20代男性
開発背景:
仕事や学業が忙しく献立を考える暇はないが、健康や外見を気に掛けた食事を取りたい。しかし知識もない。何かを始めてもモチベーションが続かない。
という人に向けて、お手軽に目標の体型を目標に栄養管理までしてくれた献立を提案してくれるアプリを制作しようと考えました。
ターゲットを20代男性にした理由はチームメンバーに20代男性が2人おり、まさしく2人が求めていることであったため。
同じフィールドに向けたアプリを開発することでよりニーズを満たしやすい制作物ができるのではないか?ということです。
苦労したこと
-自分以外PHPだった-
私が学んでいる言語はRuby。
残念ながらRuby以外に理解している言語はまだありません。
しかし他のチームメンバーはPHP。
私の逆で彼らはRubyがわからない為、必然とバックエンドをPHPで開発することになりました。
環境構築もPHPで行われた為、GitCloneしてDocker Composeして目に入ってきたコード達は全く見覚えのない世界でした。(まさか環境構築にPHPが入ってくるとも思ってませんでした。。アサハカアサハカ。。。)
しかし、自分が書いたページがちゃんと他のページにリンクされて→サーバー側で認識されて→適切なファイルを実行させないといけない。
初日、このことに気づきPHPを読むことから始まりました。
開発そっちのけで1日5時間、「とりあえず書いてあるPHPだけでも全部読み込まないと何が必要で何が不要かも分からない状態。」という状況から抜け出すために調べまくりました。
このことで得たことは、
分からない事があっても諦めずに取り組み続ければ、
必ず到達する場所がある。
ということです。
5時間調べ続ける中では、分かった様な気がしてやっぱり分からない。の繰り返しでしたが、図にしたり真似て書いたりしてみる中で言語の問題というよりも、ルーティングの設定を把握する事がポイントである。という事が見えてきました。
PHPという目の前の未知のものに惑わされて、PHPを理解する事に必死になっていましたが、自分が理解すべきものはただのMVCのつながりだったんです。
ポイントがわかってからはPHPを理解するというよりも、ファイル同士がどう繋がっているか?失敗したらどこに飛ばされるか?を理解すれば済む事が分かったので、その後は自分の開発に進む事ができました。
良かったこと
-メンバーが優秀すぎた-
初っ端でつまづいて遅れをとっていた私とは対照的に、DB組はどんどん開発を進めてルーティングの編集を行ったり、一番難航しそうなJavaScriptを進んで制作してくれたり、大変助かりました。
私のコケっぷりをカバーできたのは他の3人が驚くほどスムーズに開発を進めてくれていた事以外には何もないと思います。。。
-要件定義でターゲットと目的を詰めた事-
最終的には要件定義の詰めが甘く、いざ発表!という場面で
人によっては軸が2本あることが判明し、当初の内容から発表内容がズレる。という事件が起こったのですが、
唯一要件定義で自画自賛できる部分は①ターゲットと②目的を詰めたことでした。
ターゲット:20代男性
開発背景:
仕事や学業が忙しく献立を考える暇はないが、健康や外見を気に掛けた食事を取りたい。しかし知識もない。何かを始めてもモチベーションが続かない。
という人に向けて、お手軽に目標の体型を目標に栄養管理までしてくれた献立を提案してくれるアプリを制作しようと考えました。
ターゲットを20代男性にした理由はチームメンバーに20代男性が2人おり、まさしく2人が求めていることであったため。
同じフィールドに向けたアプリを開発することでよりニーズを満たしやすい制作物ができるのではないか?ということです。
①「20代男性、自炊、体型を気にかけている」というターゲットを出す前はただの献立アプリでした。しかし、それでは世の中に存在するアプリの模倣にしかすぎずオリジナリティがない。
だったら、自分たちを題材にしてよりコアなニーズを探してみよう。ということでターゲットが限定的になりました。
②ターゲットの目的は「献立を代わりに考えてくれて、体型管理もできる」ということ。目標体型と現実の差分を埋めるようなアプリしたらいいのでは?ということで、提案する献立を「現状±理想」したものにしよう!となりました。
この2つのお陰でユニークなアプリを定義する事ができ、メンターからもこのユニークさについて評価をいただく事ができました。
因みに理想の体型を選ばせるという画面はこれです。
画像を選んで数値を入力すれば新規登録で次ページへ
次のチーム開発で実行したいこと
-時間配分の見直し-
今回は「作成する」という点にしか着目していませんでしたが、
次回からは「振り返る」時間をタイムテーブルに追加したい。
-適切な優先順位-
この学習が自分のゴールに合わせて「今」必要なのか?を見極められなかったせいで、実装の時間が取れず数回無駄な時間を使ってしまった日がありました。
次回からは取り掛かろうとしている目の前の学習がゴールに対してどれほど重要で必要なものなのか?まで加味し、適切な優先順位を立てたい。
-綿密な要件定義-
メンバーの認識のずれによって軸が2本のまま動いてしまっていたことを踏まえ、DBの正規形を作るぐらい「これ以上分岐できません!!」というとこまで追い込みます。
次回のチーム開発は1月12日〜。こちらもおそらく1週間かな?
どれだけ成長した姿でチーム開発に臨めるか今から楽しみです!
Conclusion
第1回目のチーム開発は、未知の技術(PHP)に直面しながらも「MVCのつながり」に立ち返って整理できたことが自分にとって大きな収穫でした。次回は、振り返りの時間確保・優先順位付け・要件定義の精度を上げて、よりスムーズに価値ある成果物へつなげたいです。
