初めてのチーム開発

# はじめに
私はアプレンティスというエンジニア実習サービスに参加させていただいてます。そのカリキュラムの一つとしてチーム開発というものがありました。
そこで得られた経験と学んだことをまとめます。
# チーム開発詳細
* テーマ：「自分たちの役に立つものを開発せよ」
* 使用技術 HTML/CSS/JavaScript/MySQL/Ruby or PHP (RailsやLaravelなどのフレームワークは使用禁止)
* ローカルで動くようにすること
* 最終日に各チーム、制作物を5分間でプレゼン
* プレゼン後、メンターさんからのフィードバック
* 全チームのプレゼン後、メンター及び受講生全員で投票を行う
* 票数の多かったチームには Award を授与する。受講生からの「Best Student Award」、メンターさんからの「Best Award」がある。
#### 評価の観点
1. 問題着眼点
 着想した問題が明確か
 着想した問題が新しいか
2. 解決策の妥当性
 実際に使えるものになっているか
 このままサービスになる可能性があるか
3. 完成度
 デモで実際に動作しているか
 コンセプトで提示された機能が充分に実装されているか
# チーム開発の流れ
* アイデア決め
* 要件定義
* 設計、タスク出し、環境構築
* 実装、プレゼン準備(一週間)
# 目標
積極的にチームに貢献していきたい！！！
# 何を作ったか
私たちのグループはエンジニア初学者のための学習記録アプリ「 **Study Record** 」を作りました！
### 背景
アプレンティスでは日報の投稿をDiscordで行っており、毎日学習時間、学習内容、振り返りなどの項目を毎回打ち込んでいました。
Discordでは、改行したいだけなのに投稿してしまったり、上の項目を毎回入力するのが面倒だったり、というような小さい不満がありました。そこでできたのが日報の投稿をしやすくする **Study Record** です。
## 特徴
### シンプルな機能とシンプルなデザイン
操作性抜群になりました。
### 項目を共通化
何を書けばいいのか分かりやすいのと同時に、項目を入力する手間がなくなりました。
### デザインの統一
全員が同じ書きかたで書くので見やすくなりました。
### マイページの搭載
自分の過去の投稿を簡単に見返せるようになりました
# 使用した技術
### フロントエンド
* HTML
* CSS
* JavaScript
* (Ajax)
### バックエンド
* Ruby
* (WEBrick)
:::note warn
フレームワーク禁止
:::
### データベース管理
* MySQL
### クッキー管理
* cookie
# 担当した箇所
フロントエンドを担当しました！
* ログインページ
* 新規登録ページ
* 日報投稿ページ
* 日報編集ページ

一部のプロジェクトマネージャー
* チーム開発における環境構築(GitHub)
* タスクバラシ
* 見積り
# 結果
受賞はかないませんでした。ですがメンターさんからログイン機能やチームの雰囲気についてお褒めいただきました！自分たちは完全に未経験で、力を合わせてゼロから作り上げたアプリだったので作り上げたものに満足しています！
### 評価の観点について
#### 問題着眼点
目の付け所がいいとの評価いただきました！
#### 解決策の妥当性
項目の体系化をすれば実際にアプレンティスで使えるだろうとの評価をいただきました！うれしい！
#### 完成度
プレゼンでは機能が十分に動作しました！
# チームの反省
### 良かった点
* チームの雰囲気が良かった
　雑談ができて、話しやすい雰囲気を作れました。

* 最後の週には毎日集まって通話しながら勉強していた
　質問もしやすいし、集中しやすい環境を作れた
### 悪かった点
* タスクバラシがうまくできなかった
　フレームワークのない環境でのアプリの制作におけるビジョンがわかず、どこをどうタスク分解すればわからないまま進めてしまった。それにより、予定よりも大幅に遅れてしまった。
:::note info
途中で気づけて予定を立て直しました。
:::
# 個人の反省
### 良かった点
* 積極的に発言、質問することができた。
* デザインをよくする努力ができた
　今日の日付の初期設定、上下左右の幅をそろえるなど。
### 悪かった点
* 自分だけ本番環境に追いつけなかった
　mysql2をインストールすることができず、それの解消に時間を取られたためにフロントエンドの仕事しかできなかった。
 　自分の仕事はこなすことができたものの、フロントからバックまで協力してくれていたメンバーもいたので、力不足を実感した。
  
* もう少しデザインをよくすることができた
　ほかのチームの作品を見てみるとデザインを凝っているものが多く、自分のイメージ力がほかのチームに追いついていなかった。
# メンバーからの評価
### ここがすごいと思った点
* 自分が見落としてるサラッとピンポイントで指摘してくださり助かりました！
* チーム会の中でわからないことや疑問点があるとすぐに聞いてくれるのがすごくよかったです。自分だったらわからないことでも後で調べればいいやとなるので、わからないことがあったら迷わず質問していけるのはすごいと思います。
* ・質問の鋭さ
　「ここよく分からないなあ、どうしようかなあ。」「今じゃなくて後で聞けばいいかな」と、質問するタイミングを逃しやすい私からすると、質問するタイミングや質問の角度はとても勉強になりました。「あ！自分もそこ聞きたいところだった」とか、「はっ！そこは見逃していた…（痛いところを突かれた）」みたいに、一緒にチーム開発をしていて発見が多かったです。
#### 反省
質問、指摘について褒めていただきました！言うべきこと、言うタイミングについては自分でも意識していたので、そこを褒めてくれたのは素直に嬉しいですし、これからも続けていきたいです。
### ここがもっと良くなる点
* 環境開発うまくいかなかったのは残念でした！
* このチーム開発では、フロント側しかやっていないと思うので、この先バックエンド側ができるようになればすごいエンジニアになれるだろうなと思います。
* ・周りの人を必要以上に「すごい」って思い過ぎちゃうところ
　全然違っていたらごめんなさい！！スルーしてください。
　（自分）さんとチーム開発をしていて、「すごいな…」という言葉を1番多く聞いた気がしました。もちろん私も、このメンバーで一緒に開発をしていて「あの人すごいなあ」と感じる場面はたくさんありました。
　ただ、そのことを必要以上に感じ過ぎてしまってはいないか…と、心配になってしまいました！相手を尊敬できるところは（自分）さんの良い所なので、それが「焦り」とか「自己肯定感の低下」などにつながっていなければいいなあ…というくらいです！
#### 反省
自分が皆さんの環境に追いつけなかったのと、フロントしかできなかったことで、少し自己肯定感が下がっていたので、的確なアドバイスをいただきました！これを受け止めて、自信を持ち、技術面でももコミュニケーション面でも積極的にチームを引っ張ることができるようになりたいです。
# さいごに
今回チーム開発で非常にいい経験をさせていただきました！実際に開発することで技術が身についていくのを感じます。
計画してくださったアプレンティスと協力してくれたチームメンバーには感謝しかありません。これからも仲良くなったメンバーとの交流を大切にして行きたいです！
このチーム開発で得られた反省を生かして少しずつ成長していいエンジニアを目指していきたいです！！