敏捷
“敏捷”是新的过程家族的名称
《敏捷宣言》:我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:
个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同谈判
响应变化重于遵循计划
再每对对比中,后者并非全无价值,但我们更加看重前者
我们再敏捷宣言中可以看出,敏捷其实是有关软件开发的社会工程。敏捷的主要贡献在于他更多地思考如何去激发开发人员的工作热情。这是在软件工程几十年的发展过程中相对被忽略的领域。
敏捷开发有很多种方式,其中scrum是比较流行的一种。
scrum
scrum里面的角色
srcum由产品经理、项目经理和研发团队组成。
- 其中产品经理负责整理用户故事,定义其商业价值、对其进行排序、制定发布计划、对产品负责。
- 项目经理负责召开各种会议,协调项目、为研发团队服务
- 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
迭代开发
与瀑布不同,scrum将产品的开发分解为若干个小迭代,其周期从1周期到4周期不等,但是不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的用户故事是固定的。每次迭代会产生一定的交付。
scrum的基本流程如上图所示
- 产品负责人负责整理用户故事,形成左侧的product backlog
- 发布计划会议:产品经理负责讲解用户故事,对其进行估算和排序,发布计划会议的产出就是制定出这一