プロフェッショナルユーザー向けの開発
「最良の開発は開発をしないこと」
“The best code is no code at all." - Jeff Altwood
私たちが普段使うウェブサービスはとても使い勝手がよく、それで持って画一的である。Twitterの画面には10個程度のボタンしかなく、そのうちユーザーがよく使うのは5個程度。画面の構成も全世界1.8億人のユーザーで全く同じだ。「最良の開発は開発をしないこと」と言われるようにモダンな開発チームは極力機能を削り、贅肉を落とし、持ってコードをシンプルに保つことを志向する。開発コストを下げることで固定費を落とし、爆発的なスケールを可能にする。そのためにはあらゆるユーザーに共通する深いニーズを探り、全てかほとんど全てのユーザーが使うであろう精錬された機能に絞って開発をすることが善とされる。「極力開発しない」は数千万や億のユーザーを対象とする時は素晴らしい北極星となってくれる。それだけでなく「極力開発しない」はB2B SaaSなど業務向けソフトウェアでも有効な考え方とされる。顧客の要望に従って開発する伝統的なSIerと一線を画し、統一されたソフトウェアパッケージをウェブを通じて多くの顧客にスケールすることを目指すSaaSでも開発コストを減らしスケーリングを目指すのは良い方針と言える。
プロフェッショナルユーザーの特殊性
しかし「極力開発しない」がコンパスとして機能しないケースが存在する、それが”プロフェッショナルユーザー”を対象に開発する場合である。プロフェッショナルユーザーの定義は決められたワークフローに従う従属的なユーザーではなく、高いオートノミー(autonomy,自律性)と専門知識を持って自らのワークフローや業務スタイルを確立できるユーザーを指す。アマゾンの梱包係やスーパーマケットのレジ係は従属的ユーザーの典型例であり、決められた画一的なワークフローに従うユーザーである。対して典型的なプロフェッショナルユーザーはエンジニア、研究者、医師、経営者、マネージャー、など業務遂行の上で高いオートノミーを与えられているユーザーである。これらのユーザーは決まった業務ではなく不確実な業務を遂行するユーザーであり、往々にして様々な情報を統合し意思決定をする職種である。プロフェッショナルユーザーは職種領域の制約を持ちつつもその領域内では不確実性と多様性に対処し、クリエイティブに職務を遂行することが求められる。例え同じB2B SaaSであってもプロフェッショナルユーザー向けの開発なのか、従属的ユーザー向けの開発なのかでかなり考え方が変わるのではないだろうか。
なぜ”極力開発しない”はプロフェッショナル向けプロダクトで失敗するのか
プロフェッショナルはシンプルさより機能充実・customizationを求める
なぜ「極力開発しない」はプロフェッショナルユーザーを対象とするプロダクトでは失敗するのか。それはプロフェッショナルユーザーは全ユーザーが共通して使う機能が少なく、画一的なプロダクト開発が難しい為である。例えばエンジニア向けのIDE(統合開発環境)を例にとればコードを書く以上、全てのユーザーがエディターを使うのは確実である。しかし全ゆーざーが使う共通機能は極少数で、各々のエンジニアがエディターに求める使い勝手は人それぞれである。使用する言語ライブラリから文字の色合い、フォントに至るまで、全く同じ機能を要求するエンジニアは2人としていないかもしれない。
プロフェッショナル向けプロダクトでは全ユーザーが使う理想的な「極力開発しない」機能を探してしまうと徒労に終わる可能性が高い。プロフェッショナルは不確実性や多様性と対処する業務に従事しており、仕事の度に自らの職域の中で繊細な調整を行う。二つとして全く同じ業務は存在しない。全員に全く同じ機能を使ってもらうにはあまりにも無理がある。
「たった1人のマーケット」にPMFさせるには?
モダンな開発チームは「極力開発しない」原則に則り、なるべく多くのユーザーが使うであろう機能を探り、それを実装し多数のユーザーに提供するいわゆる”Product Market Fit”を目指す。これは多くの開発では役に立つ方針だが、飽くまでも同じニーズを持った均質なユーザーを対象とする場合である。対してプロフェショナルにはそれぞれのワークフロー、業務スタイルがあり、一つの機能で”PMF”を探し求めることが極めて困難である。全員が同じように使う機能は非常に限られており、プロフェッショナルはそれぞれの業務に最適化されたプロダクトを求める。極論すればプロフェッショナルを対象とする場合は”プロフェッショナルの一人一人が一つのマーケットである”と考える必要がある。
故にプロ向けの開発にはコペルニクス的転回が必要になる:
開発チームがプロダクトをユーザーにPMFさせるのではなく、各々のユーザーがプロダクトを調整し自分自身のワークフローに最適な状態に仕上げ、たった1人のマーケットにPMFできるようにする
一人一人のプロフェッショナルは要求が違う。であれば画一的な製品を提供するのを諦め、プロフェッショナルが自ら製品を調整して自分の要求に適合させられるものを作る方が筋が良い。この場合、開発する機能は多くなり必ずしも多くのユーザーに使われるとは限らない。しかし、それらの機能の積み上げとcustomizabilityによってプロフェッショナルユースに耐えるようになり、終いには多くのプロに支持されるPMFを達成するのではないだろうか。
とはいえ極力開発しないことは大事
今までの話を覆すかもしれないが、ここでこそ「極力開発しない」考えが大切になる。1人のユーザーが要求したからといって開発するのではなく、少なくとも数%以上のユーザーが求めている機能であることを確認し、提供する機能を無尽蔵に増やしてはいけない。プロフェッショナル向けサービスは必要機能が他よりかなり多くなる、それに恐れをなしてはいけないが、同時に増やしすぎてもいけない。ここのバランスの取り方がプロフェッショナル向けサービスの成功を左右するのではなかろうか。
この記事が気に入ったらサポートをしてみませんか?