見出し画像

開発経験ゼロからでも、チームでアプリ を生み出せた ~enPiT個人レポート~

こんにちは。noteの投稿自体は久しぶりですね。(というかほったらかして存在すら忘れていた・・)

今回は、私が1年間受講したenPiTが無事修了したので、全体を振り返ろう!という意味も兼ねて、文章にまとめました。
(ただし、内容としては、秋学期に活動した部分が主です)
(今回はブログでレポートを書く、といったおもしろい形式ですので、割とフランクな語り調でお伝えしていきたいと考えています。)

enPiTについての説明は以下をご覧ください。(ちなみに私が参加したのはビジネスシステムデザイン分野でした)
enPiT2 成長分野を支える情報技術人材の育成拠点の形成

開発したプロダクト

(enPiTでは、開発したアプリのことをプロダクトと呼んでいます)

プロダクト名:鬼電こあら
想定ユーザ:
アラームごときでは朝起きられなくて困っている方
or 朝から人と話すのを楽しみたい方
内容:
LINEと連携した鬼電アプリです。
起きたい時間に他の人から電話がかかり、起こしてもらうことができます。
独自の価値:
起こしてもらう側も起きる側も経験することになる
→朝から人とのコミュニケーションがとれて、目が覚めやすくなる
→お互いに起こし合うコミュニティが形成される

主な使い方

以下のリンクから、LINEアカウント「鬼電こあら」を友だち追加してください。(これだけでアプリを使うことができます!)
https://page.line.me/?accountId=549vwjxe

トップページには、「鬼電希望」の一覧と、現在持っているチケットの枚数が表示されます。(友だち追加した段階では3枚所持しています!)


①(起こしてほしい側)起きたい時間を「鬼電希望」という形で投稿する  *この際、手持ちのチケットを1枚消費します。

②掲示板に鬼電希望の一覧が並ぶ

③(起こす側)起こす人の時間に合わせて、アプリ内から電話をかける


④起こし、起こされた人でトーク

⑤鬼電終了時点で、起こした人には、報酬としてチケット3枚が付与されます。

その他サブ機能

  • 鬼電の際のお題(トークテーマ)の提供

鬼電中に話す話題がない、という状況を防ぐために、電話をかける直前の画面で、おすすめのお題をランダムに表示するようにしました。

  • 起こす予約

あらかじめ「この人を起こすつもり」という意思を相手に知らせる「起こす予約」を導入しました。起こそうとする人がいてくれる、とわかると、起こしてもらう側も安心ですね。

また、それだけでなく、起こす側にも事前にリマインドがLINEのメッセージとして届きます。これで起こし忘れの減少が期待できます。

プロダクトについてはこんなところです。


さて、ここからは、開発における過程(プロセス)の話をしていきます。

開発チームと主な自分の役割

チーム名は「ずぼらこあら」で、朝起きられない人の集まり、ということと、語感の良さで決まりました(笑)
(プロダクト名の「こあら」も、ここから来ています!)

そんな私たちのチームは、6人編成だったのですが、私はPO(プロダクトオーナー)を担当しました。
開発するプロダクトの指針・方向性を決めたり、各スプリントのゴール(実装する内容など)を最終的に決めたりする役割です。

また、開発していくなかで、「○○分になったら休憩しよう」「(モブプロのにおいて)時間終わった?次の人は~」なんて発言を多くしていたので、
気付けばSM(スクラムマスター)的役割も担っていたのかもしれません。
(SMをはっきり決めないからこうなったのですが・・)

プロダクトのチームの成長過程

Sprint 1~5

まず、最初の壁として、プロダクトの形態をどうするか、という問いがありました。ここの話し合いにかなり時間をかけましたが、
実際に電話を掛けられるようにしたい、実装上難しすぎない、という観点からLINE上で動作するアプリとして開発することにしました。
結果、スマートフォン上で簡単にプロダクトを立ち上げ、使うことができるという利点が生まれました。

Sprint 6~10

お題のランダム表示や「起こす予約」が新たに加わりました。

このあたりから、デプロイも毎回時間がかかるようになるので、
スプリントレビュー前の10分間は開発を止めて準備の時間にし、
そこでどんなフィードバックがほしいかを再度確認しました。

また、中盤でDBなど操作が増えて、
「ソースコードの内容が一部の人しかわからない!」
というトラブルが発生。
そこで、ソースコードの説明をなるべくコメントアウトするように。
さらに、6人全員で一つのモブプロをしました。しかも、ドライバーは「よくわからない」と言っていた人たちで回しました。
その結果、プログラムに対する理解度の差がなくなりました。

Sprint 11~15

起こしてほしい人(需要)に対して起こす人(供給)が少ない、
起こそう、というインセンティブが生まれにくい、
という大きな課題を解決するのが、この期間の目標でした。

「起こした人の数で競い合うようにすればいいのでは!」
と、当初考えていましたが、レビューで
「で、それは何の役にたつの??」
と撃沈。

でもそのおかげで、プロダクトの価値を見直すきっかけとなり、
最終的にはチケットを導入しよう、という方向に話がまとまりました。
これにより、普段起こしてもらっている側にも、たまには起こす側に回ろう、と思うようになることが期待されます。したがって、お互いに起こし合う、という新たな価値が見えてきました。

ちなみにこの頃には、チームで開発する、ということにはメンバー皆が慣れていました。開発が効率よくいった分、レビューがうまくいかなかった日もありました。しかし、レビューに関しても、話す内容を見直し、次第に改善されていきました。

Sprint 16~18 (成果発表前最終)

UIなどの使いやすさの改善や、成果発表に向けて、プレゼンの準備を行いました。プロダクトのPVを作成してくれる人がいて(天才的)、とても助かりました・・!

成果発表当日は私が発表しましたが、これまでで一番良い発表ができた、
達成感を強く感じました。

期間全体を通した振り返り

オンライン上でのコミュニケーション

とあるパンデミックの影響で、今回の開発はほぼすべてオンラインで完結していました。そのため、話し合いなどもDiscordを用いたものでした。

しかーし!音声(言葉)だけでは、自分の思っていることって全然伝わらないです!(自分が思っているよりも、です)
話し合う中で気づけば認識がずれていた、ということもあるあるでした。

そのため、言葉で表現しきれない部分は、MiroやFigmaといったツールを使って可視化することを大切にしました。このいわゆる「見える化」に重きを置いたことが、より円滑な開発につながった1つの要因だと考えています。
むしろこういったツールをうまく使えるようになった、という点は、オンラインで開発したことのメリットではないでしょうか。

Miroボードの一部(プロトタイプ)
Miroボードの一部(DBの構造について)

今思えば、カメラをオンにする、という選択肢もあったな~、とは思っています。(どのチームもやっていませんでしたが。でもやっぱりリアルで集まってやりたかったですね!)

アイデアは言葉にしてまとめておこう

「このプロダクトのエンドユーザーはこんな人!」とか
「スプリントレビューでこういうこと話そう!」とか
漠然した考えはあるけど、いざ人に伝えよう、ってなったときに、
その場しのぎではうまく伝わらないことが多いです。(私の経験上)

なので、言いたいことを文章にしてまとめておくって、とても大事なことだな、と感じました。その際にも、Miroはとても役に立ちました。

モブプロはいいぞ

開発工程のほとんどがモブプログラミングでした。6人チームなので、3人ずつ、二手に分かれてタスクに取り組むことが多かったです。モブプロそのものは、皆で話しながらわいわいできるのでとても良かったです。
しかし、二手に分かれると、お互い何をしていたかの情報共有がとても大事になります。
開発の中盤で、トラブルは発生しました。

こういった点でも、モブプロはとても助かっています。

ためになるゲスト講義

たびたびゲスト講師をお招きして、アジャイル開発に関わる大事なことを講義してくださります。秋学期は、ビジネスモデルの回と、プレゼンテーションの回がありました。

こういった外部講師のお話からも、たくさんの学びを得ることができました。特に、プレゼンテーションの回は、人に「伝える」だけでなく、「納得してもらう」ためのスキルなども教えて頂き、成果発表会で実践できました。個人的に永久保存版な内容でした。

チームでなら、できることがある

私たちのチームは、開発経験がほとんどない人たちの集まりでした。
しかし、開発を進める中で、
「DBの操作に強い人」
「UIなどのデザインに向いている人」
「レビューでの発表が得意な人」
「縁の下の力持ちで作業を進めてくれる人」
といった、お互いの長所が見えてきました。

おかげで、チーム内でわからないことが出てきても、すぐに確認したり、教えてくれたりできたから、無事最後まで開発を終え、発表することができたのだと思います。

もちろん、半年(あるいは1年)続ける中で、DB、javascriptの理解など、個人のスキルも向上しているとは思います。それでも自分一人では絶対完成できなかったですし、チームで取り組む、という経験ができたのは本当に貴重だなと感じます。

あと、チーム開発は純粋に楽しかったです。インクリメントができたときの達成感もそうですし、普通にチーム内で仲が良いです(笑) 学類を超えたつながりができた、のもenPiTだからこそ、と考えます。

おわりに

enPiTという一大プロジェクトに飛び込んでみて、本当に良かったです!
1年間、ときどき困難には出くわしましたが、チームで何か動くものを作り上げる楽しみを、大学生の間に経験出来てよかった、と改めて感じました。

教員、メンター、ゲスト講師、そしてロングレビューや成果発表会に来てくれた皆様、そして、チームメンバーや他の受講生!、本当にありがとうございました。

という感謝をもって、本レポートを終えたいと思います。
途轍もなく長くなってしまいましたが、
最後までお読みいただき、ありがとうございました!!

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