テックキャンプ ブログ

【失敗談を公開します】テックキャンプ 最終課題はフリマアプリのアジャイル開発(その1)

masahide

14年間務めた大手自動車会社を退職 TECH CAMP短期集中コース受講 地元の自社、受託開発企業へ就職 やればできるを発信しています。

4月20日〜6月末(76期)までテックキャンプ エンジニア転職コースを受講し、現在IT企業へ転職活動中のまさひで(@john01tgmck)です。

基礎カリキュラム

参考【事前学習の目安】テックキャンプ 転職コース基礎カリキュラムをフワッと解説

カリキュラムはどんな事をやっているのか、どのようなスピード感で学習しているのかをまとめています。

続きを見る

応用カリキュラム

参考質問力が爆上がりする【テックキャンプ 転職コース応用カリキュラム】

応用カリキュラム内容とスケジュールをまとめました。どんな技術が身につくのかわかると思います。

続きを見る

個人アプリ開発

参考質問NG!?テックキャンプ の個人アプリは孤独との戦い

期間は1週間!?ポートフォリオの必要性と作成難易度をまとめています。できるだけ早くカリキュラムを終わらせる事がオススメ

続きを見る

と進んで、ついにチーム開発に突入します。

ここまで約40日間!怒涛の1日10時間学習を行い、基礎〜応用までの土台ができました。

コロナも落ち着き、限定的ですが教室が開放されてきたので(76期は火曜と木曜使用可)

オンラインで開発しないといけない・・・。

という不安がなくなり

早くチーム開発したいな〜

と思っていました。

 

この記事で得られるもの

  • テックキャンプ エンジニア転職コースのチーム開発状況
  • オンラインでも開発ができるのか
  • 応用カリキュラムとのレベル差
  • チーム開発で得られるもの

 

チーム開発方法が本格的

実際に作ったのはこのようなサイトです。

機能一覧

  1. ユーザー登録(ウィザード形式)
  2. マイページの表示
  3. 商品出品(画像複数投稿)
  4. 商品購入(クレカ登録)
  5. 商品編集
  6. 商品削除
  7. パンくず機能
  8. カテゴリー機能

 

チーム開発の方法

まずはじめにスクラムマスターを決めます。

スクラムマスター というのはリーダーみたいなもので、仕事の振り分けを行うけれど、自分も作業するよというプレイングマネージャーのようなポジションです。

ちなみにスクラムマスター やらせていただきました!とても良い経験になったので、これから通われる方は是非立候補してみてはどうでしょうか。

進捗管理は「trello」を使います。

これは僕の個人的なTrelloですが、カードがいくつかあり、そこに書いてある作業どのメンバーいつまでに行うかを明確にできます。

そして、カードの中身はテックキャンプ 側が準備してくれているので、「この作業はこの人がいいかな」といった感じで割り振るだけです。

 

trelloカードを見ただけでは難しさが把握できない

ECサイトのデータ量は膨大です。

今までの経験からトップページのマークアップは簡単だろうと安易に決めてしまうと、負荷が一人の人に偏ってしまいます。

心がけた事

  • 進捗状況と困りごとを毎日ヒアリング
  • わからない事は皆で解決する
  • 作業負荷は均等にする

担当カードを決める時にチームで決めた事は、『フロントマークアップした人がサーバーサイドを担当する』でした。

これにより、自分で1ページ作成するようになるので、イメージがしやすく、スムーズな開発ができました。

 

Githubの本格的な運用

今までは自分でプルリクエストを出して、LGTMをもらったらマージしていましたが、チーム開発では複数人で一つのアプリを開発していくので、同じところを変更してしまいコンフリクトが起きてしまったり、予期せぬエラーが発生する事があります。

GitHubでチーム開発開始時にハマったこと

現場で作業する前にこのような経験を詰めるのは非常にありがたい事でした。

 

チームは変更する事があります

基礎、応用カリキュラムの時に3〜4人でチームを組んで『朝礼』『アウトプット』を行っていくんですが、最終課題のチーム編成はこれに限らない場合があります。

参考-チームが変更する場合

  • 基礎カリキュラム中にやめた人がいる
  • 前の期から合流者がいる
  • 応用カリキュラムが終わらずに後の期にずれる

以上の理由から人が移動し、チーム人数が少なくなると変更する場合があります。

 

チームを超えた交流が大事

テックキャンプ では『朝礼』『アウトプット』など3人ほどのチームで定期的にお話ししますが、それ以外のチームメンバーとはほとんど接点がありません。

僕の期は『3人×3チーム』だったので、2人の方とはお話ししますが、残り6人の方との接点がありませんでした。

ちなみに僕はCチームに所属していました。

masahide(筆者)
他のチームの方とも交流したいな

きっかけは『週末課題』でした。

週末課題

  • カリキュラムを復習する為の問題集
  • メンターへの質問はNG
  • 週末なので、教室ではやらない

以上の理由から、土曜日に皆でワイワイできたら楽しいなーっと思い、提案しました。

また日曜日の夜はZoomで『オンライン飲み会』まぁこれは僕がやりたかっただけです。

こういった交流のおかげでチーム変更があっても柔軟に対応できました

 

チーム開発時の失敗談

チーム開発時は個人でプログラミングをしている時とは違った失敗が出てきます。

 

その1.任せっぱなしにしてしまった

少し遅れているなと感じつつも『信じて・待つ』を貫きすぎて、質問しにくい状況を作ってしまいました。

masahide(筆者)
得意分野のヒアリングを作業分担前に細かやるといいと思いました。

 

その2.全員のレベルアップを意識しすぎた

せっかくチーム開発をするので、全員がフロントとサーバーサイドを経験し、開発終了時には全員がレベルアップしていたい!そんな目標をイメージしながら、割り振りを行いました。

しかし理想をイメージしすぎて、決めていた納期をすぎてしまい、逆にプレッシャーをかける結果になってしまった事があります。

 

その3.自分で背負い込みすぎる

スクラムマスター なんだから!この意は早々に捨てた方がいいです。

スタート地点は皆同じなので、『全員で解決する』わからなければメンターさんに相談する!

商品出品機能や商品編集機能で扱う「複数枚画像投稿」が難しすぎて、理解できないのに一人で抱えてしまった事がありました。

メンターさんへの質問を全員で聞くのもありだと思います。思わぬところから解決の糸口が見つかることも!

 

失敗から学んだこと

上記の失敗を経験することにより、『信じて・待つ』と『放任』は紙一重なんだと気付きました。

学んだポイント

  • 1対1のヒアリングが大事
  • いろんなタイプの人がいる事を理解する
  • 質問が無い人は質問するのが苦手かな?と考える
  • リーダーの役目は気持ちよく作業できる環境を作る事
  • 問題発生時は皆で解決する

チーム開発中にたまたまFaceBookの知り合いが「人間関係マトリックス」についてアウトプットしていたのを聞いて、『いろんなタイプの人がいる事を理解する』というのは本当に重要だと思いました。

参考ー人間関係マトリックス

  • ポジティブ自立・・・リーダー、社長タイプ(エネルギーにあふれている)
  • ポジティブ依存・・・なごみキャラ、人の反応を気にする
  • ネガティブ自立・・・有能な管理者タイプ、細かい
  • ネガティブ依存・・・共感力が高い、悲観的

すぐに質問しないとだめ!と決めつけずに様々な価値観、性格の人がいることを理解することでチーム開発は円滑に進むとおもいます。

人間関係マトリックス 本田健


参考サイト

人間関係マトリックスについて気になる方はこちらから検索してみてください。

次回はチーム開発のレベル感と得られた知識をまとめていきます。

ここまで読んでいただき、ありがとうございました。テックキャンプ 受講検討中の方の参考になれば幸いです。

-テックキャンプ, ブログ
-, ,

© 2020 まさブログ Powered by AFFINGER5