标签:
最近在做一个项目,这个项目一开始采用的是迭代式的开发模式。但是现在已经乱成一团,乱着乱着开发就变成了测试驱动的开发。
说好的1.0版,改着改着都不知道这是什么版。数据库的结构变化很大、接口规范变化很大、需求变化很多。你可能会想,就算搞个很厉害的架构师,也不见得系统就稳定不变。
是的,确实如此。但是问题是每一次的大改动,根本就是十分随意却没有任何记录的行为。仅靠一个svn(也没用上分支),谁能弄明白到底改了什么鬼?
为什么迭代式的开发,最终变成了依靠测试人员的测试驱动开发?后来我想了一下,发现根本问题在于:跨版本修改!之前我做的项目A就处理的很好,版本定了,哪怕找到致命的bug,不合理的逻辑都不改,崩溃的就屏蔽掉,并将它留到下一个版本进行修改。
因为这不属于这个版本要做的事情,所以每一版的开发就变成:1.修改上一版遗留的bug,2.完善旧功能,3.增加新功能。4.产生新的bug.把这4步连在一起,不觉得流程非常的顺畅吗?在不断产生新bug,修补旧bug的途中,系统会越来越强壮。
最后,有个问题。为什么要采用迭代式的开发,比如现在的项目变成了测试驱动的开发,有什么弊端吗?我只想说,迭代开发最大的好处就是:业务部的人可以拿着任何一个版本(尽管有各种问题,但是不会崩掉)去接单、使得业务部门靠
提成活命的那批人留下来,降低企业离职率。接单和开发同步进行,老板既能看到成果,客户也能见到实际的开发进度,增加对软件的信心。最终——他们都不会隔三差五就来烦你啦!!!!!! ——END
标签:
原文地址:http://www.cnblogs.com/jtqblog/p/5057220.html