「软件开发」为什么越来越多软件开发团队都放弃了瀑布模型?


「软件开发」为什么越来越多软件开发团队都放弃了瀑布模型?
文章图片
【「软件开发」为什么越来越多软件开发团队都放弃了瀑布模型?】
「软件开发」为什么越来越多软件开发团队都放弃了瀑布模型?
我们不采用瀑布模型 , 除了本身不是多版本交付的特点 , 我们把更多原因归于当需求设计结束后 , 开发中变更的需求不能及时地更新到设计文档中 , 程序包与设计文档不匹配 , 文档众多烦琐 。 于是我们把文档过程简化掉 。 笔者不认为以上是我们采用敏捷的根本原因(敏捷确实根据不同的团队有更高的效率 , 但以上并不是我们选择敏捷的缘由) , 因为我们经历过非常成功的瀑布模型 。
我们采用敏捷的时候 , 多半有一个共性的特点 , 项目以客户为导向 , 需要在最短时间内在市场上得到反馈或客户的演示使用 , 团队人员较少 。 有人会说Google也在敏捷呀!这显然是一个大团队呀!其实就好像企业通过CMMI5的评定一样 , 最初 , 东软也只是一个汽车音响事业部去通过了这个认证 , 而不是整个东软 , Google也是一样 , 其中分为很多项目组和产品团队 , 而有个最有趣的问题出现了 , 大家都知道当采用敏捷时 , 既然目标是最快地进行产品演示和发布 , 用很多手段去压缩开发周期 , 那么质量一定会相应地有所下降(除非你做得足够好 , 否则质量和时间多半是成正比的) , 但我们的产品类型通常允许我们质量略有问题 , 因为我们有个版本叫Beta版 。 也许这也是为什么Google的产品中有45%的产品常年是Beta版的原因 , 因为后续他们某些团队中几乎省略了验收测试的环节(其实如果你的其他环节做得足够好 , 这确实能稍有压缩) 。
如果你的项目或者产品是摩天大楼和火箭发射(除了研发新的内容) , 你一定不会减少这些环节 , 更不会用Beta版来发布 , 因为我们经不起任何误差和Bug性的失败 。 有个例子 , M国为卖出的导弹做验收性演示 , 一个士兵在批量性导弹中随机选择一枚发射 , 成功即可 , 你会说用什么来保证质量?答案是他们用了近10年的时间做测试 , 显然 , 这真没法敏捷 。
所以并非所有的企业都适合敏捷 , 根据企业类型、项目情况、团队情况综合判定采用哪种开发模型更为合适 。
总结:

● 不完善需求说明书 , 是我们的错误理解 , 并不是敏捷方法的缺点 。
● 简化需求过程 , 是否统计过后期的返工、补充给我们带来的损失 。
● 互联网产品特点 , 个人用户为单位 , 创新多于行业基准 , 视觉大于操作性 , 对雏形操作性要求高 。
● 行业软件开发 , 要吸收敏捷中适合自己的内容 , 而不是拿来主义 。


    推荐阅读