見出し画像

enPiT2023を終えて! -加筆修正板-

この記事は、2023年4月から2024年2月に実施されたenPiTというチーム開発をやる授業の感想について、2024年2月にまとめたものです。今まで限定公開にしていたのですが、
#火曜日のこしむブログ
で一般公開してみようと思います。

執筆した2024年2月から現在(2024年8月)まで、外部発表や就活やらなんやら色々ありました。ので、最後にちょっとだけ、今の気持ちも追加しました。
では、どうぞ!


こんにちは〜こしむです。

今日は大学のenPiTという授業に対する感想を書いていきます。

例によってギリギリ生活を送っているので旅行先のシンガポールからお送りします。内容は至って真面目です。(当社比)

コナン映画で破壊されていた建物とチラーミィ

筑波大enPiTとは?

enPiTやenPiTのようなものは様々な大学で展開されているのですが、ここでは私が受講した筑波大enPiTのプログラム概要を見ていきます。

プロジェクト型学習(Project Based Learning, PBL)を基軸に、学生がチームを組んで自律的に自分達のテーマの具現化を目指します。チームでのプロダクト開発を通じて、チーム運営や、ユーザが本当に必要としているものを掘り下げる技術を体験します。

https://enpit.coins.tsukuba.ac.jp

ということで、チームでのプロダクト開発を行う授業です。講義よりも実際に手を動かして開発を行う時間の方が圧倒的に長いです。そんな授業が週4コマ春AB秋ABC+6日間の夏合宿(春C)で展開されていました。

春学期

春ABでは、自学自習の時間が2コマ、チーム開発のレクチャーが2コマ、全てオンラインで進んでいきました。
そして夏合宿は通いで6日間、うろ覚えですが1限から6限までぶっ通しです。ただお昼休憩か結構長かった気がします。

春AB

春ABは夏合宿の開発に備えて自学自習を行う時間です。私はメンターさんが配布してくれた教材や、ProgateでJavaScriptを勉強するなどしました。
個人的にここでもっともっとJSを勉強しておくべきだったと反省しています…ただProgateで勉強するのではなく、自ら何か1つアプリを作る経験を春ABのうちに出来ていたら大分見える世界が違っただろうなと思います。

あとは先輩とハッカソンに出ましたね。1次で落ちましたが♡

その時に感じた私なりのチーム開発のあり方、開発に限らずチームで作業する上でのあり方などなどはこちらにまとめています。お時間ある方は併せてどうぞ。

新人的ソフトウェアサバイバルガイド:荒野に向かい、瓦礫にぶつかり、迷子になり、広野に赴く - Speaker Deck

(2023年8月実施のスクラムフェス仙台での登壇資料です。)


夏合宿

6日間‼️長い‼️暑い‼️
熱中症になりながら通ったはじめての3学にウキウキしながらひたすらアプリ開発に打ち込む夏合宿でした。

ここからはいよいよチーム開発ということで、「雨の日の登校がしんどい」という困り事に共感してくれたメンバー5人によるチーム
「ポワルンペリッパルンパッパ」
が誕生しました。

我々が作ったプロダクトは、「お天気コンパス」です。

設定した時間にアラームでお知らせすると同時に、

  • 今日傘を持っていったほうが良いか

  • 現在の天気

  • 今日の最高気温

  • 12時、18時、21時の天気

  • 登録している電車の運行情報


を表示することで、忙しいお出かけ前に必要な情報をまとめて入手し、雨に降られた!や駅ついたけど電車止まってるやんけー!という事故を減らすことができるプロダクトです。

デモ画面

夏合宿は6日間というものの実開発時間は4日間。今思い返すと短い時間でここまでの機能を詰め込んでユーザーが触れる形に出来たのは素晴らしいことだと思います。

課題としては、スマホアプリである都合上、6日間では完全なデプロイが出来なかったことです。

ユーザーの困り事が最優先であるものの、技術的な問題を完全に無視することはできないな…と思いながら、秋学期に突入することとなります。

メンターさんからは技術的なことは気にせずに困り事を突き詰めて!とアドバイス頂いてましたが、一定以上の質を持ったプロダクトを求められる以上、メンバーの技術力は考慮しないとね〜ということです。

(個人的なつぶやき)

夏合宿、筑波人生で圧倒的に1番辛かったです…。

なぜキツかったか。毎日貰うフィードバックが私にはマサカリの嵐にしか見えず、心を抉られたからです。
教員・メンターさんが至極真っ当なことを言っているのを頭で理解してはいたものの、心が耐えられませんでした。

指導やアドバイスを学生に大してどうするか、人によって全く違う答えを持っていると思います。

ただ筆者は今まで、アドバイスは「エンパワーメントをする」ことであるという文化圏で生きてきたので、enPiTの文化と合わなかったのかなと思います。
でも意見がふわふわしていて指導すべきことが伝わらないのは本末転倒ですし、優しいだけが優しさじゃないことに気がつけた夏合宿は非常に価値あるものであったなと思います。

⬆️
夏合宿終わったあとに書き溜めていた下書きの放出・終わり

メンバー紹介

さて、ここで私が半年間共に開発をしたチームメンバーの紹介をします。夏合宿、秋学期のみのメンバーもいますが、まとめて紹介させてください。

  • かずし(夏のみ):
    夏合宿でテックリードしてくれた開発者。メンター・講師との意見交換も積極的にしてくれ、夏のみの参加となったがチームの雰囲気に大きく貢献した。

  • りのもと(秋のみ):
    秋学期でテックリードしてくれた。秋の半分くらいSMも兼任してくれたスーパーマン。チームがあさっての方向に進みそうな時に真っ先に声を上げてくれたメンバー。

  • まつだ:
    秋の途中からSMに就任。彼がリニューアルしたカンバンが使いやすすぎたので、何かしらの賞を貰った方がいい。
    停滞気味だったチームの雰囲気を一気に変え最終発表会に持って行ってくれた立役者。

  • たいやきさん:
    春秋通期で開発をガシガシ進めてくれた。enPiT2週目組ということで、経験者ならではの助言をしてくれた。
    めちゃくちゃ忙しいのに気がついたらタスクが片付いている。

  • みっきー:
    開発者。初めて触る言語でも翌日(次の授業)では何かしらの知見をチームに提供してくれる。
    とんでもない努力家でありめちゃくちゃ粘り強いメンバー。

  • こしむ:
    PO。意思が弱い。方向性をビシッと決められないことに悩んだが、チームメンバーに介護されかなり成長できたなと思っている。

秋学期

enPiTのメインディッシュです。夏合宿が魚で秋学期は肉とご飯ものというところです。

ここからは1sprint=2コマ×4回を4回繰り返します。
1sprint終わる事にロングレビュー(1チーム20分でレビューをして貰う時間)が挟まり、4sprintの終了後は最終成果発表会がありました。


さて、私のチームは「雑談推奨審議会」 に名前を変えて、プロダクトも1から作り始めました。

プロダクトの紹介

私たちは「雑談が苦手」という課題を解消するために、「e-talk support」というWebアプリを開発しました。

EVP
[e-talk support]は
[雑談が苦手だという課題]を解決したい
[オンラインで会話する人]向けのWebアプリ です。
これは
[事前に話題の種を共有すること]によって、
[ネタ切れすることなく安心して会話に望めます]。

プロダクトは公開中です。ぜひ触ってみてください!
↓ここから実際に触れます(トップベージ)

↓メンバールームからこのnoteにアクセスして書き込んでいってくれた誰かのプロフィールを閲覧出来ます。
もちろん、あなたも書き込みできますよ!

オンラインのグルーブワークや懇親会など初対面の人が集まるタイミングで、事前にプロフィール情報を確認できる&「気になる」ボタンによってどんな情報に注目が集まっているのか一目瞭然‼️これで雑談が大盛り上がり!なプロダクトです。

秋学期にあったこと3選

最終発表会までにチーム内で起こったことを3つにまとめて紹介します。

1.新規テーマでの開発なので、とにかく時間が足りない

時間が足りないのは他のチームも同じでしたが、夏合宿の内容は引き継がず、秋学期に1から新しくプロダクトを作ることにしたので、価値検証、技術選定、UI等などやることがとにかく山積みでした。

授業の時間をほぼ議論に使ってしまい、作業は残業で…ということもしばしば。
秋学期中盤は残業こそパワーで乗り切っていましたが、後述するSMの交代によりチームでの進め方を再考したことで、メンバーそれぞれの考えを明確化した上で素早く議論を進めることが出来るようになりました。

結果、授業時間の多くを開発に割くことができ毎授業毎にしっかり進捗を産むことが出来ました。

2.SMの交代

SMがテックリードをしている状態が続いており、開発とスクラムマスターの両立が難しいことが課題として上がってきました。

そこで思い切ってSMを交代しました。前SMは得意な開発に専念してもらい、新SMは元々サポートや取りまとめが得意なタイプのメンバーにお願いしました。

結果的に作業効率がアップしたほか、スクラムにおける役割をメンバー全員で意識しながら進めていけました。
それぞれの得意を生かした布陣に変えた、よい転換だと思います。

3.レビューの設計に時間をかける

SMを交代あたりのタイミングで、毎回授業終了時にあるレビュー担当をPOの私に固定することにしました。

開発時間の後ろ15分はレビューに専念し、最後5分でチームメンバーに今日のレビュー内容を確認してもらう時間を取りました。

開発にはあまりコミット出来ませんでしたが、自分がレビューに集中した分他のメンバーは開発に集中出来ていたので、これもやって良かったなと思っています。

個人的ふりかえり

最後にenPiTで得たこれからもどっかで使えそうだな〜という知見をまとめて締めます。

1.レビューは貰いに行くもの

これどうですか?と聞いてもレビューは返ってきません。
日常的に使う大手サービス(Amazonや食べログなど)でも、レビューをする人はほんの僅かです。

実際に毎授業後にあるレビューの反応がイマイチ、何をレビューすればいいの?と言われてしまうのはenPiTあるあるなんだと思います。(先輩方の過去記事を漁りながら)

相手からのリアクションを待つのではなく、とにかく自分からレビューしてもらいたい事項をあげて聞きに行くのが重要です。

上記と併せて、相手がレビューしやすいように準備するのも大切で、オープンクエスチョンではなくクローズドクエスチョンにする、デモの手順書をつくる、などがやり方として挙げられると思います。

2.得手不得手を上手く利用する

開発が得意な人、1人でもくもく進めたい人、ペアプロの方が進みが早い人、議論が得意な人苦手な人、、、メンバーそれぞれに得手不得手があって、苦手があることは悪いことではありません。(悪いって言われたら泣く)

長い時間をかけてメンバーの得意不得意を知り、それを生かしたチーム編成にでき、良かったです。

3.開発以外の部分が実は大変

enPiTを一言で表すなら、これに尽きます。この苦しさを知るのがenPiTだと思います。

新しいアプリを生み出す以上、渡された設計図通りに組み立てれば完成、ということはありません。

特に私は開発にあまり関われなかった&POを務めたので、価値検証、方向性の議論、レビューの設計、実際にインタビューに行く…等など開発以外の部分でめちゃくちゃ頭を使いました。
今回開発者だったメンバーのリソースも食ってしまい、POとしてSMを上手く頼りながらもっと色々やれたかな…など反省点ばかりです。

メンバー全員での議論ももちろん大切ですが、議論の前にPOが方向性を示すことが必要不可欠です。

これが最初は上手く出来なかったので、時間がかかってしまって残業することになったり、よく分からない結論に辿り着いてしまったりなどしていました。

議論の前にプロダクトに対する考えがある人はある程度まとめておく。(特にPO)
シンプルですがメンバーの時間を使う上で常に心掛けたいことです。

おわりに

今後チーム開発をやることがあるのか、POの立場になることがあるのか、現時点ではわかりませんが、enPiTで得た知見は、IT系に限らずチームで進めるもの全てに活用できると思います。

そしてブログという形で1度自分の中で半年間を言語化できたのも良かったです。

あと最終発表会で優秀賞を頂き、はこだて未来大学で発表させて頂けることとなったので楽しみです!とりあえずそこまで走りきろうと思います!

担当教員・ゲスト講師の皆様、メンターさん、お世話になりました、ありがとうございました!

そして、ここまで読んで頂きありがとうございました〜!

2024年8月にこの記事を読んで思うこと(追記部分)

お楽しみの(?)加筆部分です。
当時の自分が書いていたこと、社会人になってからも読み直したいなと思います。あとメンタル強くなったなと思いました。(笑)

半年経って今enPiTで得たものの中で一番生きているのは、上手くレビューを貰うことだと思います。レビューは貰うものではなく貰いに行くもの、は本当に金言だと思います。これからもレビューの場を恐れずに積極的に求める姿勢を忘れずにやっていきたいです。

また、MVP(Minimum Viable Product)を常に意識して素早くアウトプットしてレビューをもらう、というのも大きな学びだったと思います。
プロダクトに一番求められている価値は何か?を検証しながら進めていくのは、どの仕事でも必要とされる能力だなと感じます。

だからこしむさん、ブログ毎週書こうね!!

あとはenPiTを終えたあとの学習について、やっぱり技術面で足を引っ張ってしまった自分が苦しくて、外部発表で出会った面々がつよつよでもっと頑張らないとと思い、enPiTを修了してからは初学者向けのプログラミング教材でJavaScriptをさらったり、GoやRailsを勉強して開発案件を貰えるように修行していたりしています。

で、めちゃくちゃタイムリーなのですが、今日CA tech Loungeに入会しました。
やっぱり独学で進めるのに限界を感じていたので、入会できたのはとても嬉しいです。初日にして、1時間以上会員の方と話し込んでいました。ゴイスー。

ここではバックエンドを重点的にやっていく予定なので、卒業まであと半年、エンジニアデビューまであと半年、頑張っていこうと思います。

あとは、就活ですかね・・・
enPiTを経てエンジニアになりたいな!と思い、就職活動をしていました。
編入生活とenPiTで3年夏がバタバタで就活の開始が遅くなってしまったのもあり、最近までオンオン泣きながら就活してました。最終的に20社落ちて決まりました。

人生でダントツの苦行だった就職活動について、いつか頑張って書いてみようと思います。いつか・・・。

2週目からクソ長記事になってしまいましたが、きっと来週は短いです。

ここまで読んでくださりありがとうございました!

日刊デジタル部の面々が揃いました!ぜひ読んでみてね

月曜日の人:https://note.com/white_light___9/
火曜日の人:わたし
水曜日の人:https://note.com/su9446
木曜日の人:https://note.com/sochaso
金曜日の人:https://note.com/long_dunlin7827

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