软件能不能像汽车一样,事先就设计好,然后流水线的造出来,一气呵成?
这可能是所有程序员最梦寐以求的愿景!但事实上这是不可能的。
这其实就涉及到另外一个问题:为什么需求会一直在变更?是CEO脑子抽风,还是产品经理做事不认真?
在知乎看到了这样一个新的思路:不是需求的变更驱动着软件的不断更改,而是“软件可以随意更改”的这种特性刺激了不断的需求变更。
装修好的房子,是不是住一段时间之后就会觉得这里不舒服那里不合适?少了一个插座,该加一个龙头,橱柜用着不顺手……“要是能改改就更好了!”只是这样的改动太费力,所以大多数时间我们都还是算了。
汽车也一样,开着开着想换个自动挡,开个天窗,加一个陡坡起步的防滑坡功能……只是你加不了而已!所以只好将就用,直到最后换个新车。
但软件不一样!理论上怎么改都可以,而且好像改动没多少成本?既然如此,这些我用着不舒服的地方,为什么我不改呢?改其实是一种“改进”,是一个不断完善产品的过程。“没有最好,只有更好”,所以只要产品在用,就一定会有不断的持续改进。“敏捷”所强调的“拥抱变化”,不是无奈之举,也不是为了装酷,而是有很深刻的现实基础和逻辑支持的。
所以我们必须改变观点,正确的认识“需求变更”。偶尔的吐槽可以缓解压力,但在思想上必须认识到:需求变更不是一种我们必须无奈接受的折磨,而是我们必须勇敢面对的挑战,是项目迈向卓越的机遇和必然。
网友评论