見出し画像

転職活動で1Day モブプロ開発をやることになったけど、とてつもなくおもしろくてタメになった話

なぜ1Day モブプロ開発をやることになったのか?

都内でECサイトつくるWebアプリケーションエンジニアとして働いています。ぶるーです。

最近、「EC以外のことやりたいなー、保守よりPoCとか新規開発をアジャイルでやりたいなー」と転職活動しています。

そんなことをよく入り浸っているエンジニアと人生コミュニティ で言っていたら、仲良くさせていただいているより「PoC興味あるならウチ受けてみる?」とお声がけいただきました。

最初はカジュアル面談でスクラムマスターとプロダクトオーナーの方とお話をさせていただいたのですが、「もうちょっとぶるーさんのスキル感とかカルチャーマッチ度を確認したいので、1Day開発体験をさせてもらえないか?」となりました。

さらにいうと、先方では基本的にモブプロで開発を進める体制なので、「1Day モブプロ開発」をやることになりました。(以下、1Day開発とさせてください)

結論からいうと、残念ながら今回、採用は見送りとなってしまいました。しかし、これまでのキャリアで1番楽しい開発体験で、なおかつ学びもおおく得ることができたので感想を書いておきます。

何を学んだのか

先に今回の1Day開発で私が感じたこと、学んだことを書いておきます。

  • 自分たちがつくるプロダクトについて、それは本当にユーザーに価値を届けられるのか?を徹底的に考えるプロセスは非常に楽しい

  • アイデアは必要があれば大胆にピボットしてしまっていい

  • ゴールから逆算して「ここまでやる」を決める

  • モブプロ楽しい!

    • リアルタイムで人がコードを書くのを見られるので学びが濃い

    • 「ここどうする?」ってなったときに、メンバーとすぐに相談できる

    • 「わからない」というフィードバックをすぐに伝えやすい

  • 1Dayで、最低限の価値を検証するだけの実装ができる

  • 自分の強みと弱みを認識できた(後述)

当日の流れ

以下のようなスケジュールでがっつり1日開発をしました。

お題が1Day用のものという違いがあるだけで、実際の業務でもほぼ同じフローとのことです。また、普段からフルリモートということで今回の1Day開発もリモートで行いました。

  1. 自己紹介

  2. お題発表(エレベーターピッチ)

  3. お題についてディスカッション

  4. バックログ作成

  5. お昼休憩

  6. 開発(モブプロ)

  7. レビュー

  8. ふりかえり

自己紹介

一緒に開発をするメンバーの方を紹介していただきました。個人名は伏せますが、プロダクトオーナー×1、開発者×2、デザイナー×1でこれに自分を加えた5名でのチームです。

また、2名ほど見学メインの方もいらっしゃったのですが、うち1人は私に今回の機会を紹介してくれた方だったので、ちょっと緊張が解けました。

お題発表(エレベーターピッチ)

まず、プロダクトオーナーの方から1Dayで開発するお題がエレベーターピッチで提示され、口頭で説明を受けました。

※お題については毎回違うもののようですが、念の為伏せておきます。

アジャイルサムライ達人-開発者への道 より

お題についてディスカッション

次にエレベーターピッチについて、メンバー全員で深堀りをしていきました。ここでのディスカッションがかなりおもしろくて、最終的に当初の発表されたアイデアからかなり大きくピボットしたんです。

どのくらい大きく変わったかというと、詳細は伏せますが

「個人向けアプリ」から「 カップル向けアプリ」

に大きく方向転換したんですよ。「なんのこっちゃ?」となる方がほとんどだと思いますが、この転換がきっかけで議論が進み、実際にユーザーが使う場面もリアルに思い浮かぶようになりました。

もちろん、こんなにうまくいく場合ばかりではないでしょうが、ユーザーにとっての価値はなんなのか?というレベルから議論し、時には最初のアイデアから大きくピボットすることで全然違う光景が開けるというのは、非常にいい体験ができました。

バックログ作成

エレベーターピッチが固まったあと、ユーザーストーリーと合わせてバックログを作成していきました。GitHubのProjectでBasic Kanbanを使い、1つのユーザーストーリに対して「受け入れ条件」、「タスク」を設定していきます。

1日という期限が決まっているので、価値を検証するためにもっとも重要な機能を優先し、「ここまでやる」というのを明確に設定していったのが印象的でした。

蛇足ですが、この「ここまでやる」を明確に記載するというのをさっそく自身のタスク管理に活用しています。

開発(モブプロ)

バックログ作成後、お昼休憩を挟んで遂にモブプロでの開発スタートです。
これがもう抜群に楽しくて、楽しくて・・・しかも、きっちり動くアプリを成果物として作れたというのが衝撃的でした。

モブプロの流れ

ここでは、モブプロについての説明は割愛させていただきますが、ドライバーとナビゲータを10分交代・30分ごとに5分休憩というルーティーンで進んでいきました。

このへんの進行はプロダクトオーナーがやってくれており、さらには私以外の方はモブプロに慣れていて、流れに乗るだけで良かったのはとても楽でした。

どこが楽しかったのか

普段の業務だと、レビューなどで他のメンバーが書いたコードを読むことはあっても、コードを書いていく瞬間を見ることはあまりありません。でも、モブプロはそれを見ることができて、しかも言語化までしてくれるわけです。

レビューで他の人のコードから学べることも多いですが、リアルタイムで「同じものをつくる」というコンテキストを共有するモブプロだと学べることも多く、吸収率も段違いでした。
モブプロのメリットとして、よく挙げられるメンバー全体のスキルアップというのがありますが、肌で体感すると納得です。

あと、実際の業務でもよくあるのですが、設計や実装をするときに「あー、ここどうするかな・・・」って悩むことがあると思います。それについて相談するときって、どうしてもコストがかかるんですよね。
でも、モブプロの場合は一緒にやっていくので、ノータイムで「これどうします?」って相談できるのが良かったです。

また、デザイナーの方も同席していたのが新鮮でした。必要に応じてデザインについて相談したり、アプリを一緒につくっていくのいいですね・・・。基本的にデザイナーの方はモブプロ自体には参加せず、ロゴや画面に必要なGIFを作成してくれていました。Figmaでデザインがあがってきたものをアプリに組み込むと見た目が一気に良くなるのでテンション上がりますね。

難しかった点

初めてのモブプロで難しいと感じたのが「ナビゲーター」の役です。普段1人で開発していると気づきにくいのですが、やりたいことを指示しようとすると曖昧に覚えている部分がどうしても目立ってきちゃうんですね。

たとえば、この1Day開発ではFlutterを使ったのですが、業務で使っていないとはいえ、テキストを修飾したいときにどうするのかがパッと出てこなかったり、ここはググらずに書けたほうがいいなと思う場面が何度かありました。

このあたりはみんな難しいと感じるらしく、ナビゲーターへの慣れが必要とおっしゃっていただいたのですが、スピード感持って開発進めるにはある程度はググることなく書ける部分を増やしていく必要がありそうです。

一方、他のメンバーと一緒にやっているので、不明点があった場合はすぐに「分からないので調べます!」とはっきり伝えることができました。(あとのふりかえりでも良かった点として挙げていただきました。)

レビュー

16時まで開発し、そのあとアプリを実機に入れてレビューを行いました。
プロダクトオーナーのAndroid端末を使い、エレベーターピッチ等で炙りだした価値を検証していきます。

例によって詳細は伏せるものの、思っていた以上の良い結果を得ることができました。加えてもっと発展できそうな発見もあり、チームでわいわいしながらレビューできました。

ちなみに、このレビューのためにプロダクトオーナーにはお肉を買ってきていただきまして、非常に美味しそうでした。
いや、ほんとに「なんのこっちゃ」だと思われてもしかたないのですが、価値を検証するのに必須だったんです。本当に。
※お肉はこのあとプロダクトオーナーが美味しくいただきました。

ふりかえり

1Day開発はこれで終わりではありません。ふりかえりをするまでが遠足です。ふりかえりにはFun/Done/Learnというフレームワークを使いました。

Fun/Done/Learn自体は実は以前に体験したことがあり、自分でも職場で導入してみたりしていたのでやり方は分かっていたのでスムーズに入れました。

そしてFun/Done/Learnをするのにふりかえりの中で、私についてもいくつかフィードバックをもらえました。
実際の文言そのままではありませんが、おおむねこんな感じです。

  • チームにめちゃくちゃ馴染んでいた

  • ナビゲーターをしてるときに「分からないので調べます」などをちゃんと伝えることができていた

  • もっと自分の意見を言ってほしかった

最近は増えてきたようですが、転職の選考でしっかりフィードバックをもらえるのってめちゃくちゃありがたいですよね・・・。自分の成長に繋げられるし、客観的な評価を知ることは今後のキャリアを考えるための貴重な手がかりです。

冒頭でもお伝えしたとおり、今回は見送りとなりました。しかし、ふりかえりを通して改めて認識できた自分の強みと弱みがあります。

  • 強み

    • 場に溶けこむのが速い(適応力が比較的高い)

  • 弱み

    • 自分の考えの主張が弱い

強みである「場に溶けこむ」能力は「空気を読む力」と「傾聴力」に由来していて、一方これらが弱みの「自分の考えの主張が弱い」にも繋がっているのかなと分析しています。

これについては、実は前から認識はしていて昨年から改善しようと取り組んでいるのですが、まだまだ弱いのが分かったのは収穫でした。

最後に

たった1日ではありますが、アジャイル開発を経験し、アプリをつくって価値を検証までできたというのは本当に衝撃です。

これまでずっとECをウォータフォールで開発してきましたが、エンドユーザーとの距離が遠く、またリリースまでの期間も長いため、自分がやっていることがエンドユーザーに価値を届けられているのかあまり実感が持てていませんでした・・・。

1Day開発でPoCを体験して、自分はもっとエンドユーザーに近いところで開発をしたいという思いが強くなりました。

そして、ユーザーに価値を届けられているか、提供しようとしているものは本当に価値があるのかを検証し、フィードバックループを回すにはウォータフォールでは遅すぎるというのが確信に変わりました笑

まだ転職活動は続きますが、1Day開発を受けて心からよかったなと想います。

年末にお時間をとっていただいたメンバーの方々、本当にありがとうございました!


この記事が気に入ったらサポートをしてみませんか?