软件开发模式之敏捷开发(scrum)
Posted 运营产品和研发那些事儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件开发模式之敏捷开发(scrum)相关的知识,希望对你有一定的参考价值。
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷开发模式的分类
敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。其中 SCRUM 与 XP 最为流行。
同样是敏捷开发,XP 极限编程 更侧重于实践,并力求把实践做到极限。这一实践可以是测试先行,也可以是结对编程等,关键要看具体的应用场景。
SCRUM 则是一种开发流程框架,也可以说是一种套路。
接下面我们来具体看一下执行scrum的套路。
Scrum的三大角色
产品负责人(Product Owner)
主要负责和客户沟通确定产品的功能和达到要求的标准,并指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果,一般是由产品经理担任。
流程管理员(Scrum Master)
问题清道夫!主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
开发团队(Scrum Team)
开发主力!主要负责软件产品在Scrum规定流程下进行开发工作。人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;不论过程只问结果!只要能达到目标,不论任何工作时间、方式。
瀑布开发
瀑布模型(Waterfall Model)是Royce在1970年提出的,他把大型软件开发分为:分析与编程,象工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用最多的开发模型。
瀑布模型的特点:
敏捷开发
极限编程的思想体现了适应客户需求的快速变化,激发开发者的热情,也是目前敏捷开发思维的重要支持者。敏捷软件开发是一个开发软件的管理新模式,用来替代以文件驱动开发的瀑布开发模式。
敏捷开发集成了新型开发模式的共同特点
敏捷会让项目更快吗?
答案是又不是。
先说不是的情况。项目更快不是那种开发方式来决定的,项目进展快的另外一个意思是时间用的更少。项目管理有一个共识,就是项目的成本(投入资源的数量)、时间、范围和质量,构成了一个矛盾的三角。
在相同的资源投入下,项目进度由范围、质量影响。通俗的来说,当一个项目人力资源匮乏时,一个人被当做两人使的时候,敏捷解决不了任何问题。
敏捷方法提供了一种与数字时代更加兼容的替代方法。由于消费类电子产品和软件已经成长为全球使用和生活各个领域的大规模集成,软件开发已经达到了一个临界点,它有机地发展为从用户体验和持续开发的反馈结果。
以上是关于软件开发模式之敏捷开发(scrum)的主要内容,如果未能解决你的问题,请参考以下文章