チーム開発3週間目終了(プログラミングスクール)
現在、某プログラミングスクールに通っています。卒業予定は10月4日。あと1週間になりました。いまは最終課題のチーム開発を進めています。そこで3週間経って気付いたことや感じたことを残せていけたらと思いこの記事を書き始めました。簡単ですが、これからここに通い始める未来の誰かの参考になれば良いな。
チーム開発1週間目に感じたことは前回の記事を参照ください。
今回は2,3週を通じて感じたことを書いていきます。この2週間を一言で表すと
「チームプレーと目的意識は大切」
ということ。細分化して、大切だと感じたことは主に下記。
メンバーに頼る
仕事をやる上…生きていくうえでも当たり前のことですね。わからないことがあれば自分で解決したい。それを乗り越えてこそ成長していくものだ。そう考え行動して繰り返すことで人間は成長できるんだと信じています。しかし、仕事を始めとする物事には基本的に納期、期限があります。それは最低限しっかり守れるような仕事をしたい(もちろん守れなかった時の対策も練る)。タスクが割り振られた時、自分で諸々試行錯誤して成功したら次に進む。しかしいまの自分の理解の範疇を超えてしまったりしたものについては悩みすぎないほうが良い。
今回、僕は一つの機能実装について約3日ほど悩んでしまった。牛歩並のスピードでしか進まず、抱えていたタスクを終えないと次のタスクに着手できない、そんなタスクに対してここまで時間をかけることはチーム全体の進捗に関わる。従って僕は今回、得意なメンバーにヘルプを要請した。結果、メンバーが上手に動いてくれて期限内に終わらせることができた。本当に感謝だ。つまり何を学んだかって言うと「わからないことはできそうな人に協力要請を出そう」という至ってシンプルなこと。こういう危機管理能力は前職の一人海外出張等で鍛えられた気がする。
必要最低限のタスクを考え、優先する
これも仕事をやる上でアタリマエのこと。メンバー全員がそれなりに機能を実装する力があったため「クローンサイトと同じものをつくる」ということにこだわりすぎた。というのも、この最終課題には予めタスクが割り振られている。しかしその完了定義がとても曖昧な為、どこまでの機能を実装するか、完成度にするかは開発している本人たちに任される。とはいえ「Done is better than Perfect.」まさにこの言葉通り、「完璧」なものより未完成でも「とりあえず一通りできた」ものが評価される。なぜなら完璧でも一通り終わってなかったら「何もできていない」状態と同じだから。一通りできてからこだわった機能を追加した方がリスクと比べて完成度が高いものが速く出来上がるのではないかな。
つまり、僕らはタスク外の機能まで実装しすぎたのだ。結果的に期限である4週間の内の3週間目で終了したから良いものの、さらにあのままこだわり続けていたら3周目で終わることはできなかったであろう。それを2周目のスプリントレビューで気付き、3周目に反映させた結果…必須機能を含めた+@の実装を終わらせることができた。この学びは大きかった。これはきっと実際の開発現場でもきっと活きることだと信じている。
ハードウェアのエンジニアをしていたころも、もっとこれを意識したかったな。切羽詰まりすぎてもこだわっていた時期があったことを思い出した。その失敗経験が今にこうやって活かされているのは、とてもありがたい。貴重な経験をさせてくれた前職の環境に感謝。
個人的な学び
チーム開発で感じたのは上記になります。そして2,3週目で僕個人が担当したのは
・商品出品ページのマークアップ
・商品出品のサーバーサイドの機能(フォームからDBへの登録)を実装
・商品の削除機能、詳細表示機能のサーバーサイドを実装
・4500項目以上のカテゴリのシードデータ作成、商品に紐付けて登録
・ajaxを用いてカテゴリ表示機能を実装。
・jqueryを用いたトップページのカテゴリ、プルダウン機能を実装。
個人的にあまり得意意識が高くなかったajax周りを触れられたのは理解が深まり、自信になった。タスクを自分から率先して挑んで正解だった。しかも自信どころか楽しく感じたのはとても嬉しくて楽しくてajax、jqueryが好きになった。笑
2,3週間の毎日の積み上げ
ということで前回から載せていなかった毎日の積み上げツイートを最後に紹介、振り返って終わります。「毎日」に穴があるのはご愛嬌。
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月16日
★チーム開発10日目終了
★商品出品ページのサーバーサイド…ドラッグ&ドロップで画像を登録できそう、なところで今日はストップ
これからサーバーサイド!というところで少し手こずってしまった。明日はぽぽぽぽーんと進められそう!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月17日
★チーム開発11日目終了
★ビューのJavaScript使用部分実装
★DB構成これで行こう!ってなったところで終了。
今日はさくさくっといけるかと思いきやそうでもなくて残念…orz…明日以降、データベースへ登録できたらスイスイ終わるはず!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月18日
★チーム開発11日目終了
★商品周りのDBを再設計
★約1500件のシードデータをDBに取り入れる
はいキター!手間やけど明日には全カテゴリをシードデータに取り込める〜!めっちゃ嬉しい〜!サーバーサイドも楽しい〜!
おやすみ〜!#プログラミング学習#テックエキスパート pic.twitter.com/hVtSDngbnR
チーム開発12日目でした
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月19日
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月19日
★チーム開発13日目終了
★全シードデータ作成完了
★出品登録フォーム3割完成
後はデータの登録。画像の受け取りがうまくできない…orz…それ以外はちゃんと飛んでるみたいだから少し安心。#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月22日
★チーム開発16日目終了
★商品出品機能の実装
金曜日の夜から今朝まで少しお休みをもらってました。しかし商品出品のサーバーサイド…進捗遅かったのでメンバーに協力要請。でもあと少しのところまで来た気がするから、残りを頑張る!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月23日
★チーム開発17日目終了
★商品出品機能LGTM
★シードデータ作成
今日は高知の受講生とお話ししたり、59期に軽くGitを教えたり、シードデータつくったりした1日。
本番環境でシード作ったらメモリ足りずユニコーン起動せず。拡張する!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月24日
★チーム開発18日目終了
★必須機能が現在チームで取り組んでいるタスクで終わりそう
今日はシードデータを本番環境につくったり、環境変数を本番環境に設置したり、削除機能実装。予定通り3回目のレビューで必須機能は終わりそう!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月25日
★チーム開発19日目終了
★カテゴリ機能実装開始
あんまり得意じゃなかったajax!使えば使うほど楽しくなってくる領域に入ってきて嬉しい!明日はトップページのカテゴリプルダウンを実装するぞ〜!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月26日
★チーム開発20日目終了
★必須機能の実装終了
★細かいcssなどを整理
今日はリファクタリング、必要なシードデータ作り直し、後回しにしていた部分を整えたり、交通整理を優先した1日でした。明日こそトップページのカテゴリ作りたい!#プログラミング学習#テックエキスパート
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@showgogogo1989) 2019年9月28日
★チーム開発22日目終了
★第三回スプリントレビュー終了
メンバーの協力もあり、3回目のスプリントレビューで必須機能+αの実装完了。来週は最終課題調整、整理を終わらせて就活関係のコミットも増やしていきたい!#テックエキスパート#プログラミング学習
いやはや、 実践現場に比べたらまだまだ未熟なのだろうけど…この2週間でチームメンバー全体や個人的にもとても成長を実感している。もちろんスランプもあったけど、この調子で成長し続けたい!
この記事が何かしら、誰かの参考になることを祈って…
ありがとうございました!