未経験エンジニア含めたチームでの開発&リリースする際の留意点
こんにちは。GAOGAOに所属している T Tsubasa と申します。
今回は私がメンターを勤めております、GAOGAOゲート(プログラミング研修事業)の卒業生とチーム開発をしました。
開発期間は約3ヶ月で、完成したアプリケーションはPotfy.meです。
開発について
1. はじめに
オリジナルアプリケーションをGAOGAOゲートで作成したことがある3名の方にご参加いただき、その他私がPM、もう1名のエンジニアの方に全体デザインや構想等、このような開発体制で行いました。
GAOGAOゲートでサポートさせていただいたメンバーにご参加いただいたため、開発がスタートする以前から顔見知りのチームで開発はスタートしました。
2. 施策
メンバーは個人開発はしたことがあるが、集団開発は初めてという方々(未経験エンジニア)であったため開発する環境づくりは少々工夫をしました。
・Discord
Discordで社内オンラインコワーキングスペースを作りチームの生産性が高まった話 のように、GAOGAOでは普段からDiscordを使い、オンラインでのコミュニケーションの機会を増やしています。
今回は、開発者専用のVoiceチャンネル、Textチャンネルを作成し、コミュニケーションを取りながら作業できるような場所を確保しました。
・週一の定例MTG
定例MTGは毎週日曜の夕方に行い、今週やったこと、来週やること、今詰まっていることの3点を各自共有していきました。 実案件に沿った開発を体験していただくために、報連相を無意識にできるような環境を目指しました。
週に一回は最低共有する機会を設けることで、予想外に詰まっているところを発見できることもあります。 その際には会議参加者でエラーを見ていき勉強会のようなムードで解決していきました。
・GitHubApps等を用いた効率化
今回メンバーにGitHubAppsを導入していただき、効率的な開発を行うことができました。 一例ですが、以下のような自動化がされました
- issueを立てると自動的にbranchが作られる
- PRがマージされると自動的に紐づくissueがcloseされる
- PRを出すと、自動的に私(PM)がPRレビュワーに設定される
3. 施策の結果
Discordや週一回の定例MTGを設けることで、メンバーとのコミュニケーションが増え開発しやすい環境を提供できたのではないかと考えております。
未経験の方はまだいつ質問をすれば良いのかが分からず、何日もハマってしまうこと往々にしてあります。私自身もそうでした(こうした経験も後に生きるとも思う)。
なので、初めのうちは質問しやすい環境を提供し、調べて解決できる物を指摘することが重要であると思います。このサイクルが未経験エンジニアにとって成長しやすい環境であるのではないでしょうか。
4. 学びと反省
メンバーには集団開発の経験をしていただき、非常に勉強になった、楽しかったとのお声をいただきました。 そして、私自身も初のPM経験をしたことでかなりの学びを得ることができました。
・プログラミングの楽しさ
メンバーには、1つのプロダクトを作成することを通してものつくりの楽しさを再確認できた。との声をいただきました。
・GitHubの実案件での使い方
上述の通り、メンバーは集団開発の経験がありませんでした。 Potfy.meの開発を通して、GitHubの集団開発における役割から、実際の操作(コンフリクト修正等含む)を学んでいただきました。
・コードレビュー
メンバーにPRを上げていただき、レビューをさせていただきました。 レビューでは、変数の命名規則や、同じコードは切り出すなどの視点でコメントをさせていただきました。
レビュワーとしての気付きも多く、私自身の普段の業務で改善できる点にも多く気づかされました。
・反省
開発期間が間延びしてしまったことです。次回は明確な期限を決めてそこに向けて頑張れるような仕組みにしていきたいと思います。
Potfy.me について
ここからは簡単にPotfy.meがどんなアプリケーションなのか、今後どのような展望があるのかについてご紹介できればと思います。
1. Potfy.me
「アプリ、アイデア、ここに集まれ」 “ポートフォリオ” と一緒に “ストーリー” や “自己紹介” も共有しよう
ユーザーが開発するアプリのアイデアを投稿し、かつ開発過程を記録することができるアプリになっています。
現在は、作成したポートフォリオを投稿 + 共有できる機能がベースとなっております。
2. 今後の展望
開発者の募集機能をつけ、開発アイデアに賛同する他ユーザーと一緒に開発を始められるマッチング機能等もつけていきたいと思います。
Potfy.me は今後も継続して開発を続け、機能を拡張していきますので乞うご期待ください。
GAOGAOゲート
GAOGAOゲートはオリジナルアプリケーションを作成するプログラミング研修事業です。
もしご興味ある方は是非GAOGAOゲートHP、公式Twitterにご連絡ください。