关于敏捷开发的思考

2016-12-19 From 程序之心 By 丁仪

我的上一份工作是在中兴通讯,作为国内大企业,中兴有些完善高效的研发管理方式。敏捷开发,就是研发管理重要的一个方面。

为什么要推行敏捷开发?

传统的软件开发方式,都是把开发过程一步一步划分,完成上一步才能进入下一步,环环相扣。因其开发流程像瀑布,又被称为瀑布流开发方式。

瀑布流开发方式有什么问题呢?那就是不能很好滴应对需求变化。众所周知,需求变化是软件开发过程中不可避免的难题。有时候是客户临时要求,有时候是分析人员没有深刻理解客户的需求。如果每一次需求变化都返回上一步进行修改,可能很难走完开发流程,导致项目的延期。

敏捷开发带来了什么?

敏捷开发,就是一个不断迭代的过程,每个迭代都能给出能正常工作的版本。以建造汽车为例,瀑布流方式的流程可能是骨架、发动机、轮胎、喷漆、组装,而敏捷开发的流程可能是自行车、摩托车、汽车。敏捷开发在每个迭代的结束都给出可工作的版本,在后续迭代中不断完善和扩展,如果需求有变,则可以加入下一个迭代。

敏捷开发流程

敏捷开发主要在于冲刺、迭代。

冲刺:制定好短期目标,如中兴以两周为单位指定开发目标,在两周内必须尽快完成开发任务。

迭代:迭代是一个版本开发与发布的流程,中兴以两周为单位,冲刺结束即发布版本,交付给测试团队。开发团队此时进行总结计划会,对冲刺的过程进行总结,遇到的问题、未完成的计划、好的开发经验会在迭代结束进行交流,然后制定下一阶段冲刺计划。

更好的敏捷开发

1、敏捷晨会。敏捷开发对个体要求较高,要能准确评估任务难度和需要的开发时间。冲刺过程中,需要时刻关注每位成员的进度和困难,及时解决掉。开发过程中有任何的变化和安排,都要及时沟通。

2、测试驱动开发。开发前先制定测试用例,通过测试用例来描述和理解客户的需求,一旦用例全部测试通过则认为客户需求已经开发完成。测试驱动开发,以用例先于开发的方式,解决了开发人员对需求的理解问题,以一种可量化的方式解决了开发验收的问题。

敏捷开发存在的问题

1、缺少文档。与瀑布流方式不同,敏捷开发不会有完整的文档。

2、代码重构。敏捷开发的特点决定了每个迭代都以冲刺目标为最终目标,因此在软件设计上可能存在适合冲刺目标不适合最终结果的问题,不可避免地在后续迭代中需要重构。

本文来源:程序之心,转载请注明出处!

君子曰:学不可以已。
《黑匣子思维》
“黑匣子思维”是一种记录和审视失败并从中吸取经验的积极态度。不惧怕面对失败,反而视失败为学习的途径。不会否认过失、推诿责任和想方设法脱身,而会把失败作为样本深入研究。 缺乏从失败中学习的态度、勇气和能力,会对个体或行业带来严重危害。千方百计避免犯错并不是我们的目标,学习如何聪明而有意义地犯错,将每一次失败作为测试我们成绩的机会。
发表感想

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号