需求易变,所以把握不准情有可原。
在需求实现之前,很容易以距离下一次需求变化的时间来做预估,但这种情况往往会事与愿违;于是善于考虑变化的这群人逐步养成提前准备好应对变化的方案,其中很多方案做出来后,可能永远没有机会被使用。对这种情况可简单称做:过度设计。
更多时候是有意或无意地忽略需求潜在的变化,头痛医头、脚痛医脚地处理当前的麻烦。这种情况则又是:设计不足。
当然还有第三种情况,既不甘心设计不足,又担心过度设计,犹豫之间踌躇不前。这叫设计拖延症。
如何把握设计的节奏?
务实派认为:需求是因、设计是果,设计应该由需求驱动,不能一味地忽略设计。
需求则来自人,虽然纷繁复杂,但也千人千面。大而全一定不适合每个人,但做到极致也不一定就适合,所谓过犹不及。
“事不过三”,就是一个很有智慧的节奏控制,放到软件设计的场景下,就是:在需求第二次引起变化时做设计,即不被同一颗子弹击中两次。