enPiT2022_個人レポート

この記事は、2022年度の筑波大学のenPiTという授業でチーム開発をした時の個人レポートです。

以下の内容を中心に書いていきます。
* 作成したプロダクトの紹介
* 期間中の自分の主な役割
* チームメンバーについて
* 期間を通した個人的振り返り


# enPiTとは？

enPiTの詳細については、[公式ページ](https://enpit.coins.tsukuba.ac.jp/)から引用します。

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

　ユーザに新たな価値を提案することを意識しながら、アジャイル的にチームで開発していく内容になっています。

# 作成したプロダクトの紹介

自分達が作ったものは、[Gadgeter](http://yoyoi.pythonanywhere.com/)というWebアプリです。

## エレベーターピッチ(簡易説明)

**Gadgeter**は、自分が持っているガジェットをどのようにすれば最適な配置にできるかを解決したい自分の理想のデスクトップを知りたい人向けのデスクトップ共有SNSです。
もっているガジェットのジャンル検索によって、**デスクトップガジェットYoutuber**の視聴、**Pinterest**とは違って自分の持っているガジェットから、別のレイアウトを提案してくれるプロダクトです。

## プロダクト作成の経緯

元々、自分達のチームは違うプロダクトを作成しようとしていたのですが、そちらがうまくいきませんでした。

その際、他の人のデスク環境を見ることがあったのですが、「他の人のデスク環境を見るのは面白い！」という意見がありました。

そして、他の人のデスク環境を参考にしたら、自分のデスク環境を一新するのに助かるということで、このプロダクト作成に至りました。



### 顧客
コロナ禍になり、オンライン講義で頻繁にデスクト向き合っている、大学2年生の後藤くん

### 問題
デスク環境を進化させたいが、何のガジェットを変えばいいかわからない。また、ガジェットの配置で悩んでいる

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/412dbfda-6cb7-3992-12ab-7d0e47810f5d.png">

### ソリューション

**ネットでデスクのデザイン画像を調べる**ことが、具体的な解決先になります。
しかし、これだけだと、画像内に写っているガジェットがなんなのかわからないことが多いです。
そのため、ガジェットの配置を知れる画像とともに、画像に写っている**商品のURL**も知れるようなアプリにすることにしました。

### 独自の価値提案
以下の3点です。

* 自分の**机のサイズ**で検索ができる
* ガジェットの**ジャンル**から様々な配置がわかる
* 気になった**商品のURL**がわかる

## 使い方

プロダクトはこちらになります。
ぜひ、使ってみてください！

[Gadgeter](http://yoyoi.pythonanywhere.com/)

1.ガジェットのジャンルを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/81a94cd4-99bb-de09-8551-8e01a83d96fb.png)


2.デスクサイズを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/94ab3f58-edad-a2c2-c7b5-e94d615365d9.png)


3.検索ボタンを押す

4.該当するデスク画像と商品URLが出てくる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/b870e2f3-12ee-851e-7bee-ecad3f2b7cd6.png

## プロダクト完成までの道のり

### 第1段階(価値検証)
オズ法を用いて、タグ付きのデザイン画像を表示することで、ユーザーがどのように感じるかをMiro上で価値検証しました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/c582f3a5-c2a7-d574-591c-96e389edd84b.png)


### 第2段階(デプロイ)
デプロイしてユーザーに使ってもらえるようになりました。
画像の一覧とガジェットのタグが見られるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/7b98a9a3-4f84-0625-8ff6-03ebf46a1f44.png)


### 第3段階(ジャンル検索)
ガジェットのジャンル検索ができるようになりました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/fc9868a2-6cb3-57c3-8772-16f01632fb72.png)

### 第4段階(ガジェットのリンク)
デスク画像のガジェットのURLをリストで知れるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/7a363325-6d97-8a99-38b3-62d7c46370f9.png)

### 第5段階(机のサイズ)
机のサイズから検索できるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708632/fcb5dbef-c816-039c-7f9e-998250b2ceea.png)


# チーム開発について

## 期間中の自分の主な役割

主にデプロイ周りを中心に行いました。
しかし、このチームでは明確な役割分担はせずに開発を行なっていたので、自分が積極的に意見出しを行ったり、実際にバックエンドの記述をすることもしました。

## チームメンバーについて

チームメンバーは院生が3人、学部生が3人でした。
院生の3人はあまり参加することできていなかったので、学部生にはとても負担をかけてしまったと思います。

しかし、メンバー全員が意見を出し、雰囲気が悪くなることはありませんでした。
みんな、enPiTに真剣に向き合っていたと思います。


# 期間を通した個人的振り返り

自分は、一度学部生の際にenPiT準拠組として参加したことがありました。
その時は、チームメンバーがあまり活動していなかったので、とても辛かったです。
また、その時はユーザーに提供できる価値について、全く考えることができていませんでした。

今回は、そこの反省を生かして再挑戦！をしたわけですが、チームメンバーには恵まれて、開発自体は楽しく行うことができました。
そして、新たに気づいたことがあったので、それについて記述していきます。

## 最短でできる価値提供の難しさ

今回は、最初に作ろうとしたプロダクトから乗り換えて、このプロダクトを作成しました。
というのも、最初のプロダクトでは、Webカメラ+物体検出を使う予定だったのですが、アジャイル開発で細かに価値を提供しなくてはいけない場面においては、時間が圧倒的に足りませんでした。
そのときに、「これはウォーターフォール開発っぽくない？」と言われてしまっとこともあり、enPiTの主題からはずれてしまっていました。

新しくプロダクトを作るとなった時も、最初の理想が大きすぎて、毎回のスプリントで、ユーザーに提供できる価値がほとんどありませんでした。
いつも、完成系の理想しか頭の中になく、１００分間で生み出せる価値についてあまり考えることができていなかったと思います。

結局、中途半端な機能になってしまい、自分が当初求めていたプロダクトとは異なる形になってしまいました。

## 自分がenPiTに向いていないこと

この１年間を通して、自分がenPiTに向いていないことがわかりました。
その理由を書いていきます。

(後々思ったが、自分が研究に向いていない理由と似ている気がする)

### 課題について向き合うことができない

enPiTの最初で、自分が解決したい悩み事を出すフェーズがあるのですが、自分は、あまりそこで意見を出すことができませんでした。
自分が解決したいと思う課題はあるはずなのに、なぜか意見を出す場面になると、何も思いつかなくなってしまいます。
また、思いついたとしても、理想が大きすぎたり、本質を掴めていなかったりします。

例えば、
* 洗濯を勝手に干して欲しい
* 自分が何をしようとしていたのかを忘れないようにしたい
* 研究を勝手に進めてほしい

こういった課題感があるのですが、これらのソリューションについて考えたときに、現実的に不可能だなぁとなって諦めてしまいます。

そして、この課題を考える時間もとても苦痛に感じてしまいます。
そのため、自分の課題を考えて、それをプロダクトにしていくenPiTにはあまり向いてないと感じました。

### 解決策を実装する方に注力を置いてしまう

enPiTでは、ユーザーの価値を考えて、どのような解決策が良いかを模索することがとても大切になってきます。
しかし、僕自身は、ソースコードを書いて機能を実装することが楽しいと思ってしまうので、解決策の妥当性についてあまり考えることができていませんでした。

学校から提示された課題を解いていくことは楽しいと感じるのですが、自分で課題を決めてそれに取り組むことがとても苦手です。

そのため、enPiTでも、機能をどうやったら実装できるかについて考える時間の方が多くなってしまい、ユーザのことを考える時間があまりありませんでした。

### コアな機能がわからない

enPiTでは最小限で価値提供をすることが求められます。
しかし、今回の自分の理想では、プロダクトに欲しい機能がたくさんありました。
結局それが全部実装できず、中途半端なものになってしまったと思っています。

それは、本当に価値のある機能や解決策に目を向けることができていないからだと思います。
複数の機能が合わさって、ようやく価値が提供できるという思考から抜け出せないので、100分間のスプリントでは、価値提供ができないことが多かったです。


## これからどうしていくか

自分に向いていないと感じるとはいえ、とても良い経験をすることができたと思います。
enPiTで学んだ考え方は、今後のエンジニア人生でとても大切なことになっていくはずです。

自分で課題を見つけて、価値を提供できるかを考えう**ビジネス的な見方**に関しては、あまり向いていないと思います。
しかし、チームメンバーと**コミュニケーション**を取ったり、**解決策の実現のためにどうすれば良いか**を考えたりすることは、割と得意なのではないかと感じました。

これらの自分の特徴をしっかりと把握してきた気がするので、活用して、この後の人生の指針にしていこうと思います。

最後まで、読んでいただきありがとうございました。