仕様の再抽象化
開発中の案件で、すでにある仕様で必要な機能を賄えないということがわかった場合、
元の仕様に単純に新仕様をねじこんで挿し木みたいな状態にしたり、
うちの仕様はこうなので嫌なら使わないでくださいと言ったり
運用でなんとかならないかと粘る人たちがいるけど
仕様をいったん抽象化しなおして元の仕様と新仕様を内包する形に定義し直せば、
柔軟性アップするし
実装は抽象度は増すけどツギハギ的な複雑さは増さないし
お得なのになぁ、と思う
(もちろん開発期間があればの話だけど)
最初に仕様を決めるときに抽象化
そのあと実際のユースケースで具体的に仕様の抜けを見つける
そのあと再抽象化して仕様アップデート
その仕様でユースケース賄えるか具体的に点検
(数回繰り返してFix)
ってそんなに難しいことなのかなって思うけど
やりたがらない人が本当に多い
はむと昔、抽象と具体の話よくしたけど
抽象と具体を反復横跳びするのって、意外と脳のリソース使うのかもしれん