Prof.Fjordの脳内散歩。

大学生が日頃考えていることを文章にするだけの、自己満足ブログ。

enPiTに1年間取り組んだことあれこれ

106本目。とても大変でしたがよい経験になりました。

 

情報メディア創成学類の必修科目「情報メディア実験A・B」のテーマ「PBL形式によるネットワークサービス開発A・B」(通称enPiT)を受講しました。

最終レポートがブログ形式とのことで、ブログのネタついでにここに書いていこうと思います。レポートブログを公開するかしないかは個人の自由らしいですが、僕自身enPiTを受講するか悩んだときに諸先輩方が公開していたレポートブログを参考にして決めたので、僕も見える形で置いておこうと思います。「enPiTのことを知らない人でも分かるように」意識して書こうと思います。多分とんでもなく長くなるので、見たいところだけかいつまんで見て頂けたらと思います。

enPiTとは?

education network for practical information technologiesの略で、実践的なIT教育という意味みたいです。この文言はあまり意識していませんでしたが、この授業が何なのかを端的に説明すると、チームでのスタートアップ開発を実践的に学べる授業です。チーム内で話し合いを何度も行いながら、プロダクトを少しずつ改善し育てていきます。

授業は1年を通して行われます。春に自己学習期間があってそこである程度プログラミングを勉強して、夏合宿でプロダクトの開発を短期間で行い、秋学期で実践的な開発をじっくりと行います。途中途中開発の手助けとなるゲスト講義があります。

開発したシステム

「走れ三日坊主」という名前のWebアプリケーションを制作しました。

アプリケーションのURL(スマホ推奨)→ https://musclepowerapp.pythonanywhere.com/

QRコード

GitHubhttps://github.com/enpitut2022/MusclePowerAki

EVP

EVP(エレベーターピッチ)です。作ったプロダクトを簡潔に説明したものになります。

[走れ三日坊主]は、

[運動の三日坊主]を解決したい

[運動の三日坊主を自覚している人]向けの

[運動用SNS]です。

これは[同じ時間帯で毎日運動したい人たちのグループの中で運動状況を共有、把握]することによって、

[LIBRARY(運動共有アプリ)や継続する技術(習慣化アプリ)]とは違って、

[同じ時間帯で毎日運動したい人たちが相互に支え合いながら無理なく運動できる環境の構築]を実現できます。

対象ユーザー

運動をたまにするけどなかなか続かない、三日坊主になってしまう人向けのアプリケーションです。運動を全くしない人、運動が習慣化している人はこのアプリケーションの対象ではありません。やらなきゃいけないのにと感じている人に使ってもらいたいものです。

目的

運動の三日坊主を解消するための補助として、一人で運動するのではなく、複数人で同じ時間に一緒に運動できる環境を作ることを目指しました。毎日一緒に運動してくれる他人はなかなかいません。しかし、毎日一緒に運動してくれる人がいれば、相互に監視し合い、コミュニケーションを取る関係性を保ちながら、習慣的な運動を促すことができるのではないかと考え、それができるようなアプリケーションを作りました。

競合

既存の運動関連のアプリケーションとしてLIBRARYというものがあります。運動に関するSNSで、行った運動を投稿し、リアクション、コメントができるものです。このアプリケーションは比較的運動をする人が用いていて(アプリの説明には幅広い人に使ってもらう想定らしいが、実質的に運動意識が高い人しか使わなくなっている)、僕らのアプリケーションの対象ユーザーとは異なります。また、継続する技術という、何かを継続するためのアプリケーションがあります。しかしこのアプリケーションは1人で決まった時刻に毎日何かをすることを促すもので、複数人で一緒に運動するという僕らのコンセプトと異なります。「毎日同時刻に行う」という継続のアプローチはこのアプリを参考にしたという経緯が実はあります。

使い方

画像を用いて使い方を詳細に説明します。このアプリケーションはスマートフォンに最適化されているので、スマートフォンで使用することを前提としています。また、可能であればChromeSafariなどのWebブラウザを使用することを推奨しています(QRコードアプリの簡易ブラウザなどは非推奨)。プライベートブラウザも非推奨です。

トップページです。まず、名前を入力します。

初めてこのアプリケーションを使用する人は、参加する時間帯のグループを1つ選択します。現状、グループの変更はできません。

グループを決定したら、STARTを押して運動を開始します。

運動を開始すると、グループの画面に遷移します。グループの画面では、アクティブ(今運動している、今日運動した)ユーザーの人数とアクティブユーザーのリスト(アイコン)が表示されていて、今誰が運動しているかが分かります。この画面は15秒おきに自動でページリロードする仕組みになっていて、この画面で放置しているとユーザーが運動を開始するたびに人数とリストが更新されます。

アイコンをタップすると、ユーザープロフィール画面に遷移します。プロフィール画面では、現在の継続日数と最大継続日数、目標と運動内容が表示されます。自分のアイコンをタップすると、これらの項目の下に目標と運動内容の編集フォームが表示されます(他人のプロフィール画面にこのフォームは表示されません)。初期値はNoneなので、適宜編集していただければと思います。

グループページの右上にはグループリストを表示するためのボタンがあり、これを押すと画面右側に、アクティブな人もそうでない人も全て含んだリストが表示されます。アクティブな人は緑、アクティブでない人は黒で表示されます。このリストの名前部分は、先程のアイコンと同じように、ユーザープロフィールにリンクするようになっています。現在の継続日数も表示されていて、継続日数順にソートされています。

グループ画面下部では新着コメントが表示されます。具体的には、今日投稿されたコメントが表示されます。コメントは、かんたんコメントボタンを使うことで、定型文を1タップで投稿できます。新着コメントの表示もアクティブユーザー人数などと同様に、自動で更新されるようになっています。

前の画面で「全てのコメント、コメント入力フォームはこちら」というリンクを押すと、コメントに関する機能が集約されたページに飛びます。ここではコメント入力フォームから定型文でないコメントを投稿できる他、過去に投稿されたコメントを全て閲覧することができます。

グループの設定された活動時間(設定された時刻の前後1時間)ではない時間帯にSTARTボタンを押しても、運動を開始したことにはなりません。上のように警告メッセージが表示されます。習慣化を目的としているので、決まった時刻に行いましょう。

2日目以降、アプリケーションのサイトを開くと、既に名前が入力されているはずです。ブラウザに名前が保存されており、名前入力の煩わしさを解消するものとなっています。また、2日目以降はグループ選択画面は省略され、直接グループ画面に遷移します。

毎日決まった時刻に集まって運動状況を共有し、コミュニケーションを取りながら一緒に運動を続けていくことを目指しましょう。

各スプリントの個人的解釈&振り返り

enPiTではスプリントという期間の単位で開発を行っていきます。

僕らは夏合宿から大きな方針変更なく秋学期まで完走したので、夏合宿から振り返ってみます。

夏合宿

夏合宿では1日目にゲスト講義、2〜5日目に開発を行います。

運動の三日坊主解消をテーマに6人のチームを結成しましたが、僕たちは開発初心者チームだったので、わからないことだらけでスタートしました。Pythonならチーム全員が読めるらしいのでとりあえずPythonで作ることにしましたが、自己学習期間でバックエンドをちゃんと触っていた人がいなかったので、デプロイの方法もいまいちよく分からない状況でした。かろうじて僕がPythonフレームワークのFlaskを授業でかじっていたので、僕主体で進めていきました。慣れないgitを扱いつつデプロイに大苦戦していましたが、デプロイの方法が確立されてから、開発スピードが徐々に上がっていきました。

また、夏合宿の序盤は完成形を夢見て走り出してしまいましたが、enPiTでは「プロダクトが提供する独自の価値」が大正義で、そこをおざなりにすると絶対にレビューで指摘されます。最初はその辺りの意識も低く踏んだり蹴ったりの時間が大半でしたが、そこを意識し始めてから良いレビューがもらえるようになってきました。

なんとか4日間でプロダクトが形にはなりましたが、5日間ぶっ通しとはいえ僕の負担がかなり大きく終わる頃は親が買ってきたケンタッキーが全く喉を通らないくらいヘトヘトでした。僕自身体力は無い方なのですが、それでも自分のキャパを軽く超えていたので秋学期は自分の負担を減らす努力をしようと誓いました。

夏→秋の変更点

秋学期に入って一区切り、チームメンバーは2人抜けて1人新たに入りました。プロダクトそのものは最初から作り直したものの根本の方針(運動の三日坊主解消)は変えずに始めました。

夏合宿ではプロダクトをHerokuにデプロイしていたのですが、夏合宿終了後にHerokuの無償枠が廃止されてしまったので、あれだけ苦労したデプロイ先をまた新しく探す羽目になりました。PythonAnywhereというサイトをなんとか見つけて、秋学期はそこにデプロイしました。GUIが整備されていてHerokuよりも扱いやすかったです。

プロダクトそのものの大きな変更点は、グルーピングの仕方です。夏時点では運動内容別にグループを分けていて、1人が複数のグループに入ることができて、行いたい運動内容がない場合は適宜ユーザーがグループを追加できるようにしていましたが、グループがあまりにも増えすぎて1つのグループにいる人が少なくなりすぎてしまったため、運動時間別でグループを分け、ユーザーがグループを追加する機能を消し、1人1グループしか入れないようにしました。

夏はプログラムを考える他に時間管理も自分がやっていましたが、秋から時間管理は他のメンバーに任せました。チームにプログラムを考えられる人がほとんどいなかったので、僕は開発者としてプログラムを考えることに専念しました。適宜他のメンバーにプログラムの仕組みを説明して、自分が欠けてもプログラムを書けるようになればベストだと考えていました。

Sprint1~4

新たにメンバーが1人入ったので環境構築から行いました。夏の時点でプログラムを動かせる環境がローカルに出来ていたのが僕含め2人だけだったのですが、実際にメンバーが触って動かせるほうがプロダクトの理解につながると考えていたので、環境構築はメンバー全員がローカルで動かせるまで丁寧に行いました。

夏のプロダクトから不要な部分を削りつつ新方針に従って新しく作り始めました。最序盤はあまり考えることは多くなかったので比較的スムーズに進んだと記憶しています。

メンバーがかなりログイン機能を推していたので、ログイン機能によって何ができるようになるかを考えるように促しました(機能だけあってもユーザーには響かないから)。できること自体はかなり多そうなのでロングレビュー時に必要か聞いたところ現時点では不要という意見が多数で、ログインは一旦後回しにし、PBL(プロダクトバックログ)を再考することになりました。

Sprint5〜8

スプリント冒頭にロングレビューの指摘事項を踏まえて話し合う時間を長く設け、チームでしっかりと話し合ってから開発を再開しました。機能が増えるにつれてもらえるフィードバックも増えていきました。

開発が一本道になってきて手が空く人ができ、その人にどのようにタスクを振るかで悩んでいました。これで合っていたかは分かりませんが、手が空いた人には今後やることを考えてもらったり、必要そうな知識を調べてもらったりしていました。ここで調べてもらった知識が開発に大きく役に立ちました。

ロングレビューではもっと色々な人に実際に触ってもらって意見をもらうべきという話になりました。最序盤から実際に触って動かせる状況を維持していたので、次のスプリントでは、何人かにお声がけをして、実際に触ってもらいアンケートに答えてもらうことにしました。

Sprint9〜12

機能追加だけでなく、ユーザーからもらった意見やドッグフーディングなどで感じた細かい違和感を修正するタスクも増えたスプリントでした。

開発の傍ら手が空いている人に、二の次にしていたUIや画面遷移のイメージをmiro(オンラインホワイトボード)に描いてもらいました。画面のイメージを図にすることでプロダクトの認識の不一致が減ったのでこれはやってよかったです。また、機能追加を行いつつ見た目をCSSで整えるなど、タスクを分担することが増えて作業効率が上がっていきました。分業している際は進捗報告をするよう心がけました。

Sprint13〜15

前のロングレビューでモチベーションを上げる因子がもっと欲しいということを指摘され、これを残り3回でできるよう取り組もうとしていましたが、このスプリントの序盤で先生に「あなたたちが一番大事にしていた価値によって得られるものがあまり大きくない」という指摘をもらって、モチベーションの因子となる機能追加を最小限にとどめ、もう一度自分たちが提供する価値について考え直し、それが高まるように最後のスプリントを使いました。最後のスプリントで実装した部分がそれなりにユーザーの感触が良く、自分たちが目指していたレールの上に戻ってきたような感触がありました。この指摘をしてくださった先生には本当に感謝です。

チームメンバーについて

メンバーの役回りと貢献を簡潔に記します。

  • やなーん(PO)…就活や卒論でかなり忙しい中で1年フル参加してくれて本当に感謝。僕が持ってない技術を調べて実装まで持っていってくれて、Pythonのコードの理解も早くて、とても頼りにしていました。
  • キム(開発者)…夏に僕がデプロイで苦戦しているときにあっさりデプロイしてくれたり、Sprint13で今後の方針が定まるようなアプリのデザイン案を示してくれたり、躓いたときに助けてくれました。もっとキムさんに役割を与えられたなあと思っています(それだけ色々出来る人だと思っているので)。
  • Jun(開発者)…常に自分ができることを考えてくれていました。モブプロで積極的にドライバーをやってくれたり、レビューでは積極的に発表してくれました。ユーザーに直接働きかけてレビューをもらったのも感謝。
  • 亮太sixteen(ScM)…秋からの加入で、Macの扱いも慣れず難しい期間だったと思います。プログラムの理解も大変だった中で積極的に発言して議論を前に進めてくれました。言語化が上手。
  • Mahi(開発者)…僕です。Pythonのプログラムを考えていました。DBのテーブルの構造も考えました。デプロイもやりました。チームの中では比較的周りが見えていた(と思っている)ので、なるべく客観的な視点を持つことを意識していました。こう見るとすごく出来そうな感じしますけど、プログラミングは授業でやったくらいでしたし、開発についての知識もほとんどありませんでした。

誰かが技術や開発プロセスにものすごく精通しているとかはなくて、初心者が集まったチームでした。慣れない言葉、慣れない技術を使うのに皆苦心していました。

ちなみに、「走れ三日坊主」というプロダクトの名前を考えたのはこの中にはいません。春学期のみ参加してくれた方が考えました。結局最後までこの名前を使い続けました。

僕個人が学んだこと

enPiTの期間で学んだ大事なこと、今後も覚えておきたいことを記します。

動くものを常に用意する

enPiTでレビューをもらうときは、実際にプロダクトを触ってもらい、フィードバックをもらうという流れが基本です。どれだけ簡素なものでも、実際に触れることが重要です。実際にユーザーに触ってもらったフィードバックは自分たちにない視点があり貴重です。プロダクトのコンセプトを丁寧に説明するより、「触ってみて、ここどうですか?」と聞いた方が良い意見がもらえます。これに気づいてから、なるべくいつでもプロダクトを触れる状況を維持していました。

チーム内のプロダクトの解釈の一致

僕は開発期間はほとんどオンラインで参加していたのですが、オンラインで作業を進めていると、会話、コード、miroなどで伝わりきらない部分が出てくることがあります。2グループに分かれて分担しながら作業をしていて、進捗報告のときにメンバーに「思っていたのと違った」と言われたことがありました。チーム内で解釈が異なると向かう方向がズレてきて無駄な時間を過ごす可能性があります。実装のイメージ、プログラムの動作の仕組み(方針)などは実際に作る前になるべく共有し、チーム内でプロダクトの解釈を一致させることで違和感のない一貫性のある開発になると思います。

提供する価値と求められる価値

レビューを通してユーザーの求める機能、修正を反映させていくごとにプロダクトが良くなっていった一方で、自分たちが提供する価値に対する意識が薄らいでいくときがありました。ユーザーの声を聞きすぎるとこういうことが起こります。enPiTにおいて自分たちの軸となる価値とユーザーの求める価値は必ずしも一致するとは限りませんし、どちらも前書きなく「価値」と表現されるので、ユーザーの求める価値を追求し価値のあるものを作っていると思っていたらなんか思っていたのと違うものができてしまった、ということが起きかねないということを理解しました。自分たちの軸となるものを常に意識して、そこからズレていないかを確認しつつ、仮にズレていたときに、自分たちの軸の方向に戻すべきか、自分たちの軸自体を変えるかをすぐ議論できるようなマインドであることがとても重要だと思いました。実は期間中に先生が講義とかで「あまりフィードバックでの意見を受け入れすぎるな」と言ってくれているんですけど、開発初心者視点では先生やメンター、他チームの方の意見が全て的を射たもののように見えてしまうんですよね。どれが真っ先にやらなきゃいけないことなんて分かるわけないので、わからないうちは最初から意識するんじゃなくて失敗して気づいていけば良いんじゃないかなと思います。

反省点

長期間に渡るチーム開発を経験し、反省したことを素直に書いていきます。

属人化の解消を途中から諦めていた

僕がある程度PythonフレームワークのFlaskを触ったことがあることからFlaskで書き始め、途中途中コードを丁寧に説明したりコメントアウトで何をしているかを書いたりして、最終的に僕以外のチームメンバーでPythonのコードを書けるようになってくれたら良いなと思っていたんですけど、なかなかうまく行かず、最後の方は僕とやなーんの2人でPythonのコードを書いていました。レビューの発表メンバーも固定され、デプロイも僕だけが行えるというような到底良いとは言えない状況でした。1日も休まなかったですけど、仮に僕が休んだらチームの進捗がかなり悪くなっていたと思います。せめてデプロイの方法と権限だけでもメンバーに共有すべきでした。この状況を解消するのを途中から完全に諦めていたことも含めて反省。

授業外の時間に必要そうな知識を調べた

enPiTでは授業時間外に作業をすること(いわゆる残業)を非推奨としています。僕たちも授業時間外にチームで集まることは基本的にしていません(成果発表会の準備で数時間使ったくらい)。また、コードも授業時間外にはほとんど手を付けていません。常にプロダクトを使えるように維持していた都合上、致命的なバグが見つかったときは時間外に少し触って直していたんですけど、新しい機能を授業時間外に付けたことは、Sprint15以降の期間も含めて一切行っていません。しかし、次のスプリントで必要そうな知識の調査は行っていました。開発初心者にとって作業工数を見積もるのが本当に難しいからです。どのタスクがどれだけ時間がかかるかが見えない中で作業をするのが嫌だったので、授業後に少し時間を使ってFlaskでのSQLの書き方などを調べていました。それをやったおかげでスプリント開始時の開発工数の見積もりがほぼ完璧に出来たんですけど、本来ならその知識調査も開発時間中に行うべきことなのでここに書いておきます。

自分が背負い込もうとしすぎた

技術的バックグラウンド、開発経験が無いチームで、開発を進めていて自分がチームの中では比較的プログラムをテキパキと考えられるなと思ってから、自分がチームを引っ張っていかなきゃという責任の意識がかなり芽生えていました。色々背負い込んだ結果夏ではヘトヘトになってしまったり、秋もデプロイが自分依存になってしまったりしていました。技術的にハードルがやや高いことを「次回までにこれできるようにしておいて」とメンバーに言うのは無茶だなあと思って避けていたのですが、折角のチーム開発ですし、自分の作業量を落とさずに全体の作業量を上げるならメンバーに開発時間の一部を費やしてでも知識をインプットさせるということをすべきだったかなあと思いました。

enPiTを受講するかどうかで悩む人が気になるであろう点

enPiTを受講する前に気になりそうなところを実際に経験して思ったことと並べて書いていきます。

プログラミングはどのくらい出来なきゃいけない?

授業で触ったくらいで十分です。enPiTでのチーム開発は様々な技術的バックグラウンドの人が集まって開発を行います。開発経験者も開発初心者も一緒のチームになります。なのでできる人じゃなきゃいけないということはありません。もちろんできるに越したことは無いですけど、出来ないからと言ってめっちゃ肩身が狭いかというと、そんなことも無いと思います。この期間で初めて学ぶ言語もあるはずです。言語を学びながら開発すれば良いと思います。言語を知っているかどうかよりも、やりたいことをどのようにプログラムにしていくか考えられることの方がよっぽど重要です。

この授業を通してプログラミングができるようになる?

人によりますが触った言語に対する知識がちょっと増えるくらいでしょう。劇的にプログラミングができるようになるかというと、そんなことはないです。人によっては全然プログラミングの知識が増えなかったという人もいると思います。この授業で特に学ぶのは開発の「過程」であって「手段」ではありません。ただ、この開発の「過程」は、十分に学ぶ意義のあるものだと僕は思います。

プログラミング以外に必要なスキルは?

ひたすらチームで会話をするのでコミュニケーションの能力があるとけっこう活きると思います。意見をまとめたり、発表したりするのが上手いとチームとして戦力になります。積極的な発言が大事ですが、もちろんそれが苦手な人もいますし、そういう人も気兼ねなく話せる雰囲気作りの方が大切ですね。

あと、チーム開発に対する意欲はあったほうがいいかなと思います。開発はチームで主体的に取り組むので、意欲が欠けるとチームに迷惑をかけてしまいます。なので、チームで開発をやってみたいと思う人が受講してほしいですね。

ブログに書いてある言葉の意味が分からないんだけど?

全然大丈夫です。他の方が書いたレポートブログに「アジャイル」「スクラム」「PBL」「モブプロ」「ドライバー」「スクラムマスター」だのよく分からない単語がいっぱい書いてあると思いますし、この記事にもたくさん出てきます。ただこれらは授業中に全部学ぶので、受講前は知らなくて大丈夫です。僕は「デプロイ」すら知らなかったので。あ、これも知らなくて大丈夫ですよ。

オンラインでも支障はない?

僕は開発のほとんどをオンラインで行いましたが、特別困ったことはありませんでした。むしろオンラインなら自宅にある複数枚のモニターを使えるので環境的には良いこともありました。まあ意思疎通の速さと正確さは対面のほうがあると思うので一長一短ですね。遠隔でもmiroやdiscordの画面共有などでなんとかなりました。直接会うとチームメンバーと親しくなれるので、オンライン中心でもメンバーと会う機会は適宜設けたほうが良いかなと思います。

希望が多く抽選になる可能性は?

あります。年度によると思いますが、僕の年度は定員枠に対し希望者がオーバーし、抽選になりました。春学期と秋学期で分かれていますが、通年で(春秋両方enPiTテーマで)希望すると通りやすいと思います。僕の年度でenPiTに参加したmast生はみんな通年でした。

担当教員や学生メンターは厳しい?

めちゃめちゃ優しいです。分からないことがあったらすごく親切に教えてくれますし、優しい言葉をかけてくださいます。授業の雰囲気もかなり緩いというか、授業という意識があまり無い中でチーム開発を進めていくという感覚です。まあ受けたら分かります。

授業は大変?

それなりに大変です。残業がない限り授業外でやることはありませんが、授業中は頭をフル回転させるので2コマだけでもけっこう疲れます。僕はほぼ毎回必要なプログラムを制限時間内に考えて実装しデプロイまで行うということを行っていたのでなかなか消耗しました。他の実験科目と比べてどうかはわかりません(流石にCOJTはもっと大変だと思うけど)。

アドバイス

優秀な皆さんに特別教えることは無いですが、知っておくといいかもしれないことを1つだけこっそり書いておきます。

enPiTでは春学期に自己学習期間という期間があってその期間は自分でやりたい勉強を好きなようにできるのですが、その期間でもし何もやることが浮かばないなら、バックエンドをフレームワークと一緒に学んで実装するのをおすすめします。バックエンドはアプリケーションの骨子となるものでとても重要です。ここが無いとやりたいことがなかなか出来ません。もちろんJavaScriptのみで実装できるアプリケーションもありますが、一度データベースやAPIを絡めたアプリケーションを実装しデプロイまでやってみると夏以降の開発で役に立つかもしれません。デプロイが必ず最初の壁になるので、ここを軽く超えられると楽だなと思って書きました。必ず役に立つ訳じゃないので参考程度に。

思うところ

良いことばかり書いても信憑性に欠くので、個人的に思うところを書いていきます。

enPiTってけっこう独特な雰囲気があると個人的には思っています。授業のようで授業じゃないような。教員メンターさん中心に授業後にけっこう長い時間雑談していたり、実況チャネルで話題と全然関係ない話をしていたり。「enPiT」という既存のコミュニティがあって、そこにうまく入れる受講生がいたりいなかったりするんですよね。僕は結局最後までそこに入らずだったんですけど、どういう距離感で接すればよかったのか最後まで正直よく分かりませんでした。

所謂「内輪」的な雰囲気は確かにあったと思います。分からないですけど、例えばオンラインでのやりとりが距離感を縮め切るのに有効ではなかったとか、内々で定義されたよく分からない絵文字が頻用されていたとか、そういうのが色々あって入りにくくなっちゃってたのかなあと個人的には思います。僕が改善案挙げて変化するとは思えないんですけど、例えば対面で談笑するイベントを開くとか、そのイベントを授業に組み込むとかしたら受講生が溶け込みやすくなるのかなと考えました。

最後に

ここまでとんでもなく長い文章を読んでくださりありがとうございます。途中途中飛ばしながら読んでくださった方もありがとうございます。気がついたら長くなってました。見づらかったでしょうね。すみません。特別ものすごい熱量があるわけではないんですけど、1年もかけて色々学んだ授業ですから、備忘録として丁寧に書き記しました。こういう雑多な文章を書くのはけっこう好きですし、こういう文章を書くことぐらいでしか貢献できないので。

あまりにも皆が推していて胡散臭いですけど、いい授業ですよenPiT。チーム開発の方法論、考え方、スキルなど本当に色々なことが学べます。たくさん書きましたが、これを見てenPiTのことを全て知った気にならないでください。これでもほんの一部ですからね。開発初心者という立場で苦労することも多かったですが、一通り経験できて良かったです。今後にも絶対活きてくると思います。

心残りは賞が取れなかったことくらいですかね。まあ他のチームの皆さんのプロダクトと取り組みが素晴らしすぎるので、致し方なしといったところでしょう。僕の頑張りとこの文章だけでも評価して頂けたらと思います。

教員・メンターの皆さん、1年間ありがとうございました。常にこの授業を良くしようという姿勢が伝わってきました。優しく、丁寧に接してくださって、幾度となく助けられました。

ここで書いたこと以外に何か分からなくて聞きたいことがあれば僕のTwitterかなんかに遠慮なく言ってください。Twitterアカウントは @ProfessorFjord4 です。

大変でしたが本当に有意義な期間でした。説明会のときになんとなく面白そうだと思って、抽選覚悟で申し込んでよかったです。約12,000字のこの記事をもって、僕のenPiTを修了させて頂きます。ありがとうございました。