メーカー開発職の人間が考えるPFの作成手法【エンジニア未経験PF】

# はじめに
はじめまして、プログラミングスクールRUNTEQにてエンジニア転職を目指しているなおやです。
先日、ポートフォリオ（以下PF）を作成し、就職活動を開始しております。
PFでは、「なんでもいい飯メニュー」という何食べたいか聞かれた時に具体的な答えを返せない人のためのアプリを作成しました。

さて、プログラミングスクールでPFを作るとなったとき、アイデア出しに悩むという声を聞きます。

よく日常生活の悩みを形にしたらいいと聞きますが、考えても出ないし、出ても微妙なものしか出なくて迷走する、、、
もちろん、作るご本人が納得して進めればいいですが、できれば作成するモチベーションが高いものを作りたいですよね。

そこで今回は、現在メーカーで製品開発に従事している私のものづくりのフレームワークをまとめ、少しでも参考になればと思い記事を作成しました。(2023年4月現在)

https://www.anything-ok-menu.com/

# 結論
私は、メーカーの品質管理で使われるQCストーリーを活かしてPF作成に展開しておりました。
このストーリーは以下のようであります。

- テーマ決め
- 現状把握
- 原因分析
- 解決するための機能決め
- 実装
- ユーザーの声を聞く

わかっているけど難しいから悩んでいるんやという方もいると思いますので、一つずつ具体例を挙げますので参考になればと思います！

# 記事の流れ
- [QCストーリーとは](#qcストーリーとは)
- [テーマ決め](#テーマ決め)
- [現状把握](#現状把握)
- [原因分析](#原因分析)
- [解決するための機能決め](#解決するための機能決め)
- [実装](#実装)
- [ユーザーの声を聞く](#ユーザーの声を聞く)

# QCストーリーとは
ワードをググると
> 「QCストーリー」とは、品質管理における問題を解決するための進め方のことです。一般的には、「テーマ」「現状把握」「目標設定」「活動計画」「原因解析」「対策立案」「対策実施」「効果確認」「歯止め」「反省と今後の方針」という流れで問題点を明らかにし、問題を解決したり、課題を達成していきます。
（引用）　[QCストーリー](https://www.juse.or.jp/service_solution/qc_story/index.html#:~:text=%E3%80%8CQC%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E3%80%8D%E3%81%A8%E3%81%AF%E3%80%81,%E9%81%94%E6%88%90%E3%81%97%E3%81%A6%E3%81%84%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82)

と出てきます。
つまり、問題解決をストーリーに乗せて解決しましょうね〜という手段です。

この手法を使用することで、自然と目的をもとに目標値を決めたり、対処法を策定できるというメリットがあります。
逆に、このような手法を立てず、無駄な実験 (実装) を重ねたり、何のための品質（機能）という質問に答えられない開発者は信用されないことが往々にしてあります。。

特に、ストーリーの上流を手を抜くと礎がブレたストーリーとなるため注意をしてください。

# テーマ決め
テーマ決めでは、質よりも数を出すことが大事です。
私は、ふと日常生活で思ったことをスマホのメモに残しておりました。
これは、今から考えようとして思い浮かべるよりも、急にアイデアが降ってきたり、生活の中でこれアプリにできるかものような形で出てくると感じます。

そのため、RUNTEQに受講生はRails基礎編をする1ヶ月間くらい、PFに使えるアイデアないかと考えて過ごすことをお勧めします！

また出たアイデアは、notionなどにまとめてスクールのチャットツールに投げ、受講生の反応を伺うこともお勧めです！
微妙かもと思ったアイデアが案外よかったり、話すうちに面白い方向性が見えたりすることがあるためです！

# 現状把握
出たアイデアについて、良さそうなもの（これは直感でいいと思います）がどういう場面で不便に感じるかや楽しそうと感じるか具体的に整理しておきます。
これをすることで、後々機能を決める時の目標値につながるためです。

私の場合、食事メニューを聞かれたときに困ることがよくあるというアイデアに対して、

- 家族から出社前に夕飯何がいいか聞かれた時に答えられない
- 友人と遊ぶ時、とりあえず集合するけど食べたいものがなく、お店選びに迷う
- デートの時、相手から何でもいいと言われ、特別食べたいものもなく食べログサーフィンに時間を費やす

といった風に結構困る場面多くあるなと気づきました。
このように具体的に考えておくことで、機能に対して上記を解決できてるか判断の指針になります。

RUNTEQ生は、これを応用編突入後にやり始めれば十分かなと思います！

# 原因分析
続いて、原因分析をします。
先ほどの現状がなぜ起きるのか考え抜きます。

手法として、なぜなぜ分析や5W1Hの分析などを使うことをお勧めします。

私の例を挙げると、
> メニューが思い浮かばない
> → 食欲がない
> → 自分の食欲が発生する過程を考えると、
　「これ美味しそう」　⇨ 「どこで食べられるかググる」 ⇨ 「お店選定」　⇨ 「決定」
　のような流れかなと考える
→「これ美味しそう」がそもそも沸く場面が少ない
→ 食べログでは食べたいジャンルを予めある程度決めておかないといけない
　クックパッドは遠い世界の人の綺麗な料理写真のように感じる

というような形で、深掘りをしていきました。
なぜなぜ分析は何回繰り返すといいみたいな話もありますが、回数よりも課題の過程を分析して、この過程に原因があるかなと掴むことが大事を感じます。

# 解決するための機能決め
では、先ほど分析した原因を解決するための機能を決めていきます。
これが所謂MVPに向けたメイン機能になってきます。

早速、私の例に移ると、食べログやクックパッドではできない食欲を生み出すにはどうすればいいだろうと考えます。
私は、Twitterでのフォロワーから受ける飯テロに着目しました。

飯テロを受けると、「これ美味しそう」や「今度食べてみよう」という経験があったことに目をつけ、これ使えないか？と感じました。
では、なぜ飯テロが効果的か考えると、

- この人が食べてるし、私も食べてみたいという人間関係的要因
- 綺麗なお皿に盛り飾るよりも、日常生活感のある写真から自分の食べる光景をイメージできること

が大きいと分析しました。

Twitterは、飯テロ以外の投稿も多数あり忘れてしまうこともあるため、上記の機能を盛り込んだご飯の記録アプリがあれば食欲を湧き出せると思いメイン機能決めをしました。

このようにストーリーにしていることで、メイン機能を最小限に定めることができることがわかるかと思います。

# 実装
実装については省略しますが、ここまでこれば強い目的意識のもと最後まで実装できると思います。

参考として、RUNTEQの動画を貼ります。
自分のメイン機能を作って、MVPをしちゃいましょう！（1日では私は無理でした）

https://youtu.be/_2SPPh3yC6s

# ユーザーの声を聞く
MVPでも本リリースでもですが、ユーザーからいただた課題をもとにブラッシュアップしていきます。
メイン機能をより面白くする機能を入れたり、使いづらい点を対処していきます。

特に、この使いづらい点の修正では、再度「現状分析」から対処していくことで根本解決ができるためおすすめです。
（これがよく言われるPDCAを回すというやつですね）

# 最後に
以上が、私が普段から仕事でしている開発業をPFに展開した手法になります。
なんでこのアプリ作ったの？という就活でよく出る質問にも、このストーリーをそのまま使ってしまうことができます。

未経験エンジニア転職を目指している方の手助けになれば幸いです。

実例で挙げていたPFについてもリンクを貼らせてもらいますので、この開発ストーリーの元に一度使ってもらえればい嬉しく思います。

https://www.anything-ok-menu.com