こんにちは!こんばんは デジタリオ リテールDX事業の @akkiihs (あっきー)です
本日は、先月おこなわれた「プロ筋Conf ~ プロダクトマネージャーカンファレンス2022の非公式な非採択セッションイベント」*1 で発表した内容を、技術寄りにしたものを書こうかなと思います
スライドはSpeaker Deckにアップしてます。 speakerdeck.com
プロダクトマネージャーカンファレンスに公募していながら、
これを言うのもなんですが「自分はプロダクトマネージャーだ」と思ってやっていません。
あくまで、エンジニアの延長で、事業やプロダクトが成長すると思うことをやっていて、それが結果として、マネージャーっぽい動きも含まれているという感じです。
実際、プロダクトマネージャーに求められるスキルや領域は幅広いため、兼務やもともとプレイヤーで得意な領域を活かしてやってる方が多いんじゃないかと思っています。
私は、今から1年半前くらいに、全社的に未開拓だった「リテール領域」の新規事業に、1人目のエンジニアとしてジョインしました。
リテール領域といっても業態は様々で、クライアントからたくさんの課題や要望をいただきます。そういった状況の中で、どのようにしてプロダクト開発し、何を意識していたのかをイベントでは話しました。
プロダクト開発する上で意識していること『資産化すること』
自分たちのプロダクトで、自分たちがコントロールしていく
選択と集中: あれもこれもやろうとしない
小さく試す: 最初から完璧なもの作ろうとしない
汎用化: 他案件への横展を意識する
と、ここまではスライドにも書いてある内容なんですが、テックブログなので、技術的な話に触れておこうと思います。
「1. 選択と集中」「2. 小さく試す」あたりは、耳にタコができるくらい、いろんなところで話されている内容だと思うんですが、個人的には 「3. 汎用化」 は技術寄りで腕の見せ所かなと。
特に、新規事業で様々な業態のクライアントがいて、要件が定まりきっていない状況では。
例えば、リテール業界だと以下のような要件があったりします
整理券を配りたい
来店予約がしたい
抽選をして商品引換券を配りたい
先着順で商品引換券を配りたい
値引きなどのクーポン券を配りたい
など
ある機能を考えるときに、どこまで考慮して設計するのかというのが、肝になってきます。
”早すぎる最適化” と言われているように、ましてや新規のフェーズかつ、業界知識が十分ではないので時間をかけすぎないというのが基本スタンスになってきます。
いろんなプラクティスがあるのかなと思うんですが、自分の場合は
抽象化と具体化を繰り返し『ユースケース』と『データ構造』の両面から考えます。
『ユースケース』: お客さんや、店員がいつ何をする・本部での運用はどうする・その時の画面・画面遷移はどういうものか
『データ構造』:必要な概念(リソース・イベント)は何か、その概念に付随する情報は何か
上記のようなことを洗い出し、共通なものとして扱えたり、抽象化した概念として捉えることができそうであれば、同じ仕組みとして進めます。
無理に同じものとして取り扱おうとすると、歪な構造ができあがり、データやコードに影響を及ぼすので、これは避けたいです。
では、どういうときに汎用化せず、どういうときに汎用化するのか、例を出してみます。
◆ 汎用化しない例
「整理券」と「来店予約」を一緒にできないか?考えます。
「来店予約」では、店舗やメニュー、スタッフ、来店時間を指定するのに対して、「整理券」は、店舗のみの指定となります。 「来店予約」の運用で、事前に店舗が取り扱っているメニュー管理や、スタッフの勤怠管理が必要になってきそうで、 メニューの内容によっては、来店時間からの施術時間を算出し、予約枠という概念で管理するかもしれません。
「整理券」では、メニューやスタッフの指定はないものとすれば、同じ取り扱いはできそうですが、混ぜると危険な香りがします。
◆ 汎用化する例
「抽選」と「先着」を一緒にできないか?考えます。
「抽選」では、ユーザから応募があった時に抽選券を払い出し、抽選処理を実行することで、当選か落選か決定するのに対して、 「先着」では、ユーザから応募があった時に在庫がある限り、商品引換券などを払い出します。
抽選という処理があるだけで、他のフローは同じように見えます。「先着」の場合は、在庫があれば当選としてしまえばよく、 当選済みの抽選券を商品引換券などとして扱うことができそうです。
あくまで個人的な感覚ですが、こんな感じです。
クライアントあってのプロダクトではあるんですが、自分たちのプロダクトとしてコントロールし育てていきたいので、 「言われるがままにしないこと」が大事 で、お互いによりよいものにしていきましょう、というイメージです。作って終わりではなく、クライアントのカスタマーサクセスに繋げていきたいので、クライアントが運用しやすく、自分たちも保守しやすいプロダクトにしていきたいですね。
というわけで、今回は、非採択セッションイベントで話した内容の中で技術寄りな部分をピックアップして書いてみました。 明日もお楽しみに!
*1:「プロダクトマネージャーカンファレンス2022」のセッション公募に応募したものに惜しくも採択されなかったセッションを供養するための非公式イベント