Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

開発系の勉強会でインタビューさせていただきました:プログラミングする前にやっておくと良いこと(仮説検証)

UnsplashLinkedIn Sales Solutionsが撮影した写真

今日のCenterCLR(名古屋を中心とする小さい開発コミュニティ)のオンライン勉強会(もくもく会)で、私のアプリ開発のために、参加者の方々にインタビューさせていただきました。みなさんとても親身にいろいろ教えていただき、大変学びになりました。誠にありがとうございました。その感謝も兼ねて、今日の成果を共有したいと思います。

対象読者

新しい製品やサービスを開発したい/しようとしている方(ソフトウェア業界に限らず)。

ご提案

プログラミングのような時間のかかる作業を始める前に、まわりの人にお願いしてインタビューをさせてもらいましょう!

私の場合

これまでの経緯

前回のCenterCLRもくもく会では、Difyを活用して、プログラミングに関連する珍事件ストーリーを生成するAIアプリを開発しました。参加者の皆さんに少し喜んでいただけたことが、とても嬉しかったです。

そして4月9日には、Replitを使用して新たなAIアプリを作成し、Xでの共有機能も実装。ただ、この作業に6時間くらいかかってしまい、しかもデータベースの永続化が不十分でリセットされてしまうという課題も見つかりました。

さらに、そもそもですが、このまま実装を続けてもうまく利用者の心をつかまえることができるか心配になってきました。そこで、基本に立ち返ることにしました。

3つの問い

アプリ(製品・サービス)を作るときは以下の3つの問いが重要と言われています(だいぶ簡略化していますが、アッシュ・マウリャのリーナーキャンバス):

1 誰が使うか?

  • 説明:どんな人が、どんな場面でアプリを使うのかを考えます。
  • 不明確だと?:友達全員向けに作りはじめると、誰の要求も完全に満たせないアプリになる。

2 頭痛の種は何か?

  • 説明:使う人が今困っていることは何かを明らかにします。
  • 不明確だと?:リリース後に「面白いけど使わない」と言われ、コードもストーリーも総張り替え。

3 このアプリにしかない価値は何か?

  • 説明:そのアプリならではの「いいところ」をはっきりさせます。
  • 不明確だと?SNSのタイムラインで1秒でスルーされる。

これらについて、本日のCenterCLRもくもく会で3人の方々(本当はもっとインタビューした方がいいですが、これはサイドプロジェクトなので)にインタビューをさせていただき、貴重な示唆を得ることができました。できあがったリーナーキャンバスはこちら:

インタビュー結果

1 誰が使うか?

  • 主役:長時間の実装を一人で進める在宅フリーランス
  • 利用シーン:深夜コーディング・ビルド待ち

2 頭痛の種は何か?

  • P1 生産性低下
    • 単調作業で注意散漫
    • 気晴らしすると復帰に時間がかかる(例えば10分以上)
  • P2 コミュニケーション障壁
    • 感性が近い仲間と “技術者あるある” で盛り上がりたい
    • 自虐ネタに「わかるw」と即リアクションをくれる仲間が欲しい
  • P3 ネタ枯渇
    • “笑える技術ネタ”のストックがなく、SNS投稿がマンネリ化
    • 自分の言語・状況にドンピシャなネタが見つからない
  • 他の方法の課題
    • Twitter / YouTube / スマホゲーム:戻るまでに 10分以上ロス
    • 飲み会:対面コミュニケーションは苦手
    • 診断メーカー等:汎用で技術ネタが薄い

3 このアプリにしかない価値は何か?

  • V1 生成から共有まで30秒
    • キャラ × 名前 × 言語のパーソナライズで “自分ごと” 化したコメディを即生成
    • 項目数はいったん3つで始める
  • V2 技術者が 1 秒で “刺さる” ネタ
    • 言語別「あるあるミス」+ストーリー仕立て

次のステップ

以上の結果を踏まえると、問題は「V1とV2を実現できるのか?」ということになります。でもV1はほぼできています。だから、あとはV2にトライすればいい。

すなわち、Xに共有するテキストをいろいろ書いてみて「技術者が 1 秒で “刺さる” ネタ」がもし書けたら、V2も実現できたことになります。

そんなことできるの?と思われるかも知れませんが、そこはほら、とても言語に詳しい生成AIさんが手伝ってくれそうです。100個くらいバリエーションを作ってみることくらい朝飯前ですよね。ひどいものばかりになるかも知れませんが・・・やってみる価値はありそうです。

今後の展望

もし「V1とV2の両方とも実現できる」ことが検証されたら、問題は次のステップ、すなわち「用意した時間内に達成できるような目標を立てることができるのか?」にシフトします。

もちろん基本的には、やってみないとわかりません。しかし自分の時間をかけるのだから、それに見合う目標を立てて、そして進めてみて、「どうも無理そうだ」となれば早めに撤退して別のことを始めるべきです。つまり、継続条件(撤退条件)を先に設定するということです。例えば今月中に5回共有される、来月中に50回、再来月に500回、のように立てます。

それから始めれば、苦しくても頑張れるし、あきらめるときはスパッとあきらめられる。まあ、そんなことをマウリャさんは『Running Lean第3版』という著作の中で述べています。優しいアドバイスですよね。

この記事が皆さんの何かのご参考になりましたら幸いです。私も試行錯誤しながら少しずつ試しているところなので、情報交換やディスカッションも大歓迎です。ぜひ個人的にご連絡ください。そして重ねてインタビューさせてくださった方々に感謝です!