我的上一份工作是在中兴通讯,作为国内大企业,中兴有些完善高效的研发管理方式。敏捷开发,就是研发管理重要的一个方面。
传统的软件开发方式,都是把开发过程一步一步划分,完成上一步才能进入下一步,环环相扣。因其开发流程像瀑布,又被称为瀑布流开发方式。
瀑布流开发方式有什么问题呢?那就是不能很好滴应对需求变化。众所周知,需求变化是软件开发过程中不可避免的难题。有时候是客户临时要求,有时候是分析人员没有深刻理解客户的需求。如果每一次需求变化都返回上一步进行修改,可能很难走完开发流程,导致项目的延期。
敏捷开发,就是一个不断迭代的过程,每个迭代都能给出能正常工作的版本。以建造汽车为例,瀑布流方式的流程可能是骨架、发动机、轮胎、喷漆、组装,而敏捷开发的流程可能是自行车、摩托车、汽车。敏捷开发在每个迭代的结束都给出可工作的版本,在后续迭代中不断完善和扩展,如果需求有变,则可以加入下一个迭代。
敏捷开发主要在于冲刺、迭代。
冲刺:制定好短期目标,如中兴以两周为单位指定开发目标,在两周内必须尽快完成开发任务。
迭代:迭代是一个版本开发与发布的流程,中兴以两周为单位,冲刺结束即发布版本,交付给测试团队。开发团队此时进行总结计划会,对冲刺的过程进行总结,遇到的问题、未完成的计划、好的开发经验会在迭代结束进行交流,然后制定下一阶段冲刺计划。
1、敏捷晨会。敏捷开发对个体要求较高,要能准确评估任务难度和需要的开发时间。冲刺过程中,需要时刻关注每位成员的进度和困难,及时解决掉。开发过程中有任何的变化和安排,都要及时沟通。
2、测试驱动开发。开发前先制定测试用例,通过测试用例来描述和理解客户的需求,一旦用例全部测试通过则认为客户需求已经开发完成。测试驱动开发,以用例先于开发的方式,解决了开发人员对需求的理解问题,以一种可量化的方式解决了开发验收的问题。
1、缺少文档。与瀑布流方式不同,敏捷开发不会有完整的文档。
2、代码重构。敏捷开发的特点决定了每个迭代都以冲刺目标为最终目标,因此在软件设计上可能存在适合冲刺目标不适合最终结果的问题,不可避免地在后续迭代中需要重构。
本文来源:程序之心,转载请注明出处!
知识图谱是一种大规模语义网络,已经成为大数据时代知识工程的代表性进展。知识图谱技术是实现机器认知智能和推动各行业智能化发展的关键基础技术。知识图谱也成为大规模知识工程的代表性实践,其学科日益完善。本书是一本系统介绍知识图谱概念、技术与实践的书籍。
最新内容
© 2016 - 2023 chengxuzhixin.com All Rights Reserved.