はじめに
アプレンティスで経験した初のチーム開発を振り返ります。
開始時に結成したチームは、メンバーの離脱でなくなってしまいましたが、
新たに別チームに加えてもらい、チーム開発を続けることができました。
途中参加は実際のプロジェクトでもよくあることであり、学びの多い経験となりました。
目次
- 成果物
- 課題の要約
- チーム開発の進め方
- 衝突した課題
- 成果物のイメージを共有することの難しさ
- 短い時間で意見をまとめる
- 役割分担の難しさ
- チーム開発をするための技術
- まとめ
成果物
成果物は、以下の特徴を持った学習管理アプリです。
-
科目ごとの学習履歴管理
- 日々の学習を科目ごとに記録でき、どの科目にどれだけ時間をかけたかが一目でわかります
-
本棚へ本が追加されていく
- 学習時間に応じて、本棚に追加される本の厚みが変わり、進捗を視覚的に表示します
-
偉人からのコメント
- 一日の学習終了後に偉人から励ましのコメントが届きモチベーションを向上させます
チーム開発の進め方
チーム開発期間は1か月で、以下のようなスケジュールでした。
-
最初の3週間
要件定義、設計、環境構築を実施
この期間で制作物を決めて、開発を始める準備を行いました -
最後の1週間
実装フェーズに突中
実装の初日にはタスクの割り振りを行い、各メンバーがそれぞれの役割を担当
毎日22時に進捗報告や課題の共有
衝突した課題
チーム開発は、お互いの考えを共有し、1人では欠けてしまう部分を補完しながら
進めることによって真価を発揮すると考えています。
その真価を発揮させるために、直面した課題について後述します。
①成果物のイメージを共有することの難しさ
最後の1週間で実装開始した後でも、メンバーそれぞれで成果物のイメージが違うということが多々ありました。打開策としては以下を考え、とりあえず動くものを作る(1)の選択をしました。Figmaを使いプロトタイプを作成する方法(2)と迷いましたが、結果1を選んでよかったと振り返っています。Figmaに比べ、挙動だけではなく、言語の技術的な問題点にも気づけたことが大きな理由です。
- とりあえず素早く動くものを作り、それを元に議論する
- Figmaを使ってインタラクティブに動作を確認できるプロトタイプを作成する
- パワーポイントで細かい画面遷移をドキュメント化する
②短い時間で意見をまとめる
チーム開発では限られた時間で意見を出し合い、方針を決定をする必要があります。ここは独学時とは大きな違いでした。短い時間で意見をまとめるために、打合せまでに自分の中で結論を出し持っていくようにしました。正直わからないことだらけだったので、間違いを自覚しながら提案することもありました。ただ、自分の結論さえ持っていけば、議論が活性化し、自然と話が前に進んでいくということを実感しました。間違っていてもとにかく自分の結論を持っていくことが大切だと実感しました。
③役割分担の難しさ
みんなが手探りの状態で、何が必要で、何にどのくらい時間がかかって、誰がそのタスクに適任でということを判断する必要がありました。その際、時間があるメンバーに負担が集中してしまい、そのメンバーも悩んだだろうなと感じています。その解決に向けて、やりたい部分を積極的に主張するようにしました。また、最後の1週間は、仕事で夏休みを取ってチーム開発に集中できる時間を確保しました。結果、主張した部分を任せてもらえ、役割を全うすることができました。周りからも頼みやすいと感じてもらえたなら、自分が望んでいた形に持って行けたかなと思います。
ただ、設計時に誰がどの機能を担当するといったことを決めることができていなかったことが原因で、この課題が出てきたと思うので、次のチーム開発では設計スキルも身に着けた上で取り組みたいです。
まとめ
独学からチーム開発に挑戦することで、「自分が学んだことを他人にアウトプットする重要性」を実感しました。これからは、一人での開発でも他人に伝える前提で理解を深めていきたいと考えています。
この学びを得られたのは、途中から温かくチームに迎えてくれた2人のメンバーのおかげです。次回のチーム開発でも協力し合いながら、誰かの役に立つプロダクトを作りたいです。