「機能A:データ多量、検索コスト多」と「機能B:データ少量、検索コスト少」のどちらを選択するかの判断軸

二手に別れた道の前に立っている。「機能Aの道」と「機能Bの道」。

前提

  1. 「機能B」を選択すると「機能A」へのシフトはデータを機能B用に分割不可能なため出来ない。
  2. 「機能A」を選択しても「機能B」へのシフトは可能。しかし、「機能A」はやっぱ使わないとなり「機能B」へシフトするまではデータ量、検索コスト多の状態が続く。
  3. 「機能A」は「将来使うかも知れないし、使わないかも知れない」そして、その判断が今すぐにできない、使わない確率のほうが高いかも。
  4. データ量、検索コスト多といっても、HDDがパンクしたり、レスポンスがまったく帰ってこないという状態ではない。普通に使える。

判断軸 1 「機能Aを使う可能性が低いならつけない」 => 機能Bを実装

ここを判断する背景には、「余計な機能をつけたくない」「コードをシンプルに保ちたい」という判断軸を持っている。

判断軸 2 「少しでも使う可能性があるなら機能Aをつける」 => 機能Aを実装

ここを判断する背景には、「機能Aへシフト出来きない設計はまずい」という判断軸を持っている。

判断軸 3 「機能Aを使うか使わないか判断するまで機能を実装しない」 => 機能を実装しない

ここを判断する背景には、「もう少し仕様が煮詰まるのを待つ」「仕様がもっと出来ていないと駄目だ」という判断軸を持っている。

まとめ

あなたならどうする!? コメント欄に匿名投票歓迎。