ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

Labels:  開発よもやま 投稿者:yokoi

プロトタイプアンチパターン「愛ゆえに」

ランサーズ Advent Calendar 2016 1日目の記事です。

CTOの横井です。僕は単騎で新企画とかやるときは、とりあえずプロトタイプベースで進めていくことが多いです。

その甲斐あってなのか、プロトタイプで終わったもの、社内ツールとして使われたもの、プロダクトとしてリリースしたもの等等含めて、ランサーズ来てからの1年半で、0からつくったものが大小合わせて30本くらい自分のプロジェクトディレクトリにありました(ちょっとしたコマンドとかライブラリチックなのは除いて、画面があるもの限定です)。

前職の受託開発時代とかもプロトタイプベースでお客さんに提案していたり(週1で客先でプロトタイプノックをすることもありました)したので、そう考えるとトータルでは結構つくってきた気もします。

今回は、そんな自分がプロトタイプづくりを経て感じたアンチパターンを紹介したいと思います。
 

プロトタイプアンチパターン 愛ゆえにパターン

最大の敵はプロトタイプに愛を抱いてしまうことだと思います。実現したいこと、届けたい価値に愛を持つのは大事です。大事ですがプロトタイプそのものに愛を抱くと大抵不幸な結末を迎えることになります。まさにサウザー様が言っていたとおりです。愛ゆえに人は苦しまなければならぬのです。

以下にプロトタイプに愛を持ってしまうとどうなるかの例を書きます。

折角つくったのにみんなが見てくれない! 試してくれない! と鬱々とした気持ちを抱えながら日々を過ごすことになる

結果1年後くらいに「あのときのプロトを続けていれば……」みたいな怨霊と化す

プロトタイプを見せるプレゼンの場で、上手く動かない! となったときにみんなに見せたい気持ちから、突然その場でバグ探しとか、見せよう見せようとして結果全員に物悲しい時間が訪れることになる

仮説が成立していないことがわかっても、プロトタイプを捨てたくなくなり、ついついそれを守るための理屈を考えてしまう

「じゃあ仮説の方向性を変えて……」のときにもなんとか今のプロトタイプを変更することでどうにかならないか考えてしまう

 
……耳が痛い!

つまるところ、これって手段が目的化しちゃったって話なんですが、じゃあどうするかっていうと単純で、プロトタイプそのものには愛を持たないようにすることがコツかなと思います。
そもそも、本来的に仮説を検証するための手段としてのプロトタイプになんで執着しちゃうのかって話なんですが、これはもう手間をかけちゃったからだと思うんですね。自分のコストを投下すればするほどもったいなくなってくる。なので、愛を持たないようにするための手段としては「時間をかけない」「(作り方そのものについては)悩まない」というところかなと。

時間をかけない、って意味だと、例えばプロトタイプ開発用に必要なものが揃ったスケルトンプロジェクトみたいなのをあらかじめつくっておくとか、それに適した技術選択にしておくとかがあります(自分の場合だとフロントとサーバーサイド両方での思考のスイッチングコストを減らしたいのでサーバサイドはNode.jsでやっちゃうことが多いです)。

悩まないという点では、もうとにかく色々なパターンを知っているか、過去につくったことがあるか、がものをいうかと思います。まあ、そういう意味では一つのプロトタイプづくりは、次のプロトタイプづくりを更に早めるための経験値稼ぎでもあります。それの極北は、めんどくさいところを勘で察して、程々にごまかすなんちゃって実装の知見だったりします(これは完全にプロトタイプづくりのみのためのスキルですが)。

個人的な指針としては、午前中で一段落つくかどうか、みたいなものを置いていたりします。

丸一日かけちゃうと、それを捨てざるをえないときに「無駄な一日だった……」と悲しくなっちゃいますが、午前中だけだと仮にまるっと捨てても「午前中調子出なかったなー」くらいの軽い気持ちでいられるのです。

勿論これは僕個人の感情にのみ由来する話で、本来的にはプロトタイプを捨てるとはいっても、無駄になるわけではなく、必ず得られるものがあると思っています。ただ、それと、自分が無意識的にでも抱いてしまう感情の折り合いはどうにかつけていくしかないかなーと。

といいつつも、またうっかりプロトタイプそのものに愛を抱いてしまって、執着して、を繰り返しているので、人生は修行だなーと思います。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。


【中途採用】
サービスリードエンジニア
テックリード(アーキテクト)
フロントエンドエンジニア
サーバーサイドエンジニア
業務エンジニア(社内システム基盤・基幹システム)

【インターン・学生バイト】
19新卒対象サマーインターン
エンジニアインターン

その他採用情報

関連記事

振り返り合宿のすすめ

ランサーズエンジニアのsatoshiです。2017年はどんな年でしたか?お世話になった皆様、来年もよろしくお願いいたします。 僕は、2014年の年末から4年間毎年、その年の振り返りと翌年の目標を見つけるために、合宿をしています。 振り返り、整理することはなんと …

thumbnail
プロジェクトにおける7つの問いを元にアジャイル開発しているおはなし。

こんにちは。 ランサーズエンジニアの@sayaです。 ふだんはランサーズの機能追加や改善を担当しています。   いきなり本題で恐縮ですが、ランサーズには、先日弊社CTOが提唱した『プロジェクトにおける7つの問い』があります。 # 詳細に関してはこちら …

ランサーズに出戻って1年。担当した開発プロジェクトを振り返る。

「ランサーズ Advent Calendar 2018 」23日目の記事です。 こんにちは ランサーズでEngineering Managerをしてます神庭(godgarden)です 残すところ, 今年も数営業日。1年の振り返りをしている方も多いと思います. …