需求变化与IoC
【 感谢 Todd投递本文 – 微博帐号 :@ weidagang 】
需求又变了,怎么办?
先上一个轻松的段子:
程序员XX遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更为渺茫。可他的Lead和亲人没有放弃,他们根据XX工作如命的作风,每天都在他身边念:“XX,需求又改了,该干活了,你快来呀!”,奇迹终于发生了,XX醒来了,第一句话:“需求又改了?”。
这个段子用幽默的方式反映了需求变化是每一个程序员、架构师或项目经理都会经常遇到的问题。面对这个问题,不同的人有不同的应对之道,最近微博上有一段关于需求变化的讨论:
@假装刺猬的猪:我们在软件开发过程中,会持续碰到客户需求变更的情况。如果没有领域建模,我们单纯将问题使用直觉将问题解决,那么等到客户需求变更或者有新的需求时,就会面临一个僵硬的前设计!无法在以前的设计上持续深入的优化模型,导致需求变更无法及时深化。设计实现均滞后与变更!
@高煥堂: <碰到客户需求变更的情况>是合理的;但<领域建模>不是美好的手段!!!
@weidagang: 要不被客户牵着鼻子走,需要自己有很强的设计能力, 反过来 让客户跟着你的设计来满足你的要求。能做到这点的公司很少,但这是软件行业唯一有希望的出路。
@高煥堂: <这是软件行业唯一有希望的出路>。 Great!!
如何应对需求变化? @假装刺猬的猪 的答案是领域建模,并持续优化模型,适应需求的变化。@高煥堂 则认为领域建模不是美好的手段。我进一步补充,应该 “反过来” 让自己在需求变化中处于主导地位,而不是被动地适应。