初めに
新卒として入った会社にて、受けさせて頂いた二か月のJava研修のラスト9日で行った、グループ開発についてまとめた記事です。
成果物
グループについて
6人のグループでした、簡単に私の主観を交えて役割(グループリーダー、サブリーダー、テクニカルリーダー[フロント]、テクニカルリーダー[バック]、DB管理、品質管理)と共に紹介します。
Wさん(グループリーダー)
・研修中、プログラムの演習で後述する神に次いで優秀な成績を残していた方、コーディングはもちろん、リーダー適性もとてもあったため、グループ最初のミーティングで満場一致でリーダーに。
Kさん(サブリーダー)
・自頭と顔が良い、言語化が上手いためメンバー間の認識を合わせるために、全体の方針、意見の統一をしてくださいました。
神(テクニカルリーダー[フロント])
・研修中、全てにおいてトップの成績を残していた神。
・今回のグループ開発において、この方が居てくださったおかげで成果物が二回りほど良い物となりました。
私(テクニカルリーダー[バック])
・コードを書くのが好きなため立候補。
・後述しますが、2日目でgitを壊す無能。
Sさん(DB管理)
・自信家、DB管理の仕事を後述の品質管理の方がついでに終わらせてしまい、ほぼコーディングをしていた方。
Tさん(品質管理)
・自頭と顔が良い、言語化が上手くミーティングで率先して話をしてくれるため、とてもありがたかった方。
・面倒な内容の仕事も、率先してくださったり、既に終わらせてしまっていた方。
開発の流れ
主要言語: Java
フロント: JSP、Bootstrap
RDBMS: MySQL
APPサーバー: Tomcat
開発環境: Eclipse
要件定義(1日目)
・最初、マッチングアプリ
を作ってみたいとなったのですが、仮にも企業に成果物として提出するものがマッチングアプリ
はまずいのでは、となり少しずらした家庭教師と学生のマッチングを行うシステム
となりました。
・機能の洗い出し、画面遷移、スケジュールの作成等を行いました。
基本設計、DB設計、実装準備(2日目)
・基本設計からDBの設計、DBマスターデータの作成を行ったのですが、私がER図を作成するタイミングでミスを犯してしまいました、これが原因でDBレビューと言う物を一度で通過することが出来ませんでした。
・また、3日目の実装準備の際gitのマージをミスしてしまい、masterが壊れる事態になりました。
・以上、2日目は主に私の第一印象を最低にする事にしか成功しませんでした。
一次開発実装、テスト(3~6日目)
・基本設計時に決めたシステムに最低限必要を一次開発として実装しました。
・私は下の画像の赤い四角で囲んである、家庭教師と学生で共通の新規登録、ログイン機能を担当しました。
・実装に関しては特に問題が起こることは無く、神のおかげもあり、かなりスムーズに終わらせる事が出来ました。
二次開発実装(6~8日目)
・一次開発実装の完了の見通しがついたため、二次開発に取り組む事が出来ました。
・私は下の画像の赤い四角で囲んである、家庭教師と学生の間で連絡するためのチャットの実装をしました。
・一人でチャット機能を作り切ったことで、2日目で私の落ち切っていた印象を改善できたと思います(とても嬉しかった)。
・二次開発では家庭教師評価機能でフロントとバックでの連携で若干手間取ってしまいましたが、最終的には問題なく実装する事が出来ました。
単体、結合テスト(9日目)
・一次開発分はほぼ単体、結合テスト共に終わっていたのですが、それに加えて二次開発分のテストを行いました。
・テストに割く日数が少なくなってしまい若干不安が残りましたが、問題なくシステムを作り上げることが出来ました。
感想
具体例や理由なしに、否定は行わない。
ポジティブな意見(すごいと思った事、感謝を伝える等)は積極的に言葉にし、相手に伝える。
など、意見を交わしやすい環境を作る事で、状況の共有や正確な意見の交換をすることが出来ると感じました。
また、それらはグループで開発をする上でとても重要だと感じたので、今後は行動に移していきます。