開発者AとBがいる。
開発者A「ビジネスモデル全体を最適化するための施策を実施中です」
開発者B「アイテムの重複を避けるために、アイテムの属性の文字列から固有の識別子を生成しています」
一見すると開発者Aのほうが全体を俯瞰していてデキそうに見える。開発者Bが無能のアスペのようだ。
しかし開発の進捗を確認すると、Aは全く進んでおらず、Bは「重複を排除するロジックが完了したので、これを効率的に実行できるようにしています」と言っている。
ご察しの通り、問題を細かく分解していかないと、開発というのは進まない。
全体を俯瞰してビジネスについて考えているふりをするだけではコードという形にはならないのである。
開発者Bは穴を掘り進めなければならないので、実際に掘っている。開発者Aは穴を掘る必要があるかどうかすらわかっていない。
別の言い方をすれば、巨大に見える問題も、適切に分解すればグイグイと進んでいくとも言える。開発者Aのように巨大なままで捉えていると、何も実装できない。