第三次作业
敏捷开发的定义:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
敏捷开发诞生的背景:在瀑布流开发方式中,每个阶段之间都有强烈的依赖关系,前一个阶段被视为后一个阶段的输入,如果输入质量不高,便会严重影响后续阶段的输出质量。同时,如果前一个阶段未能达到标准,也会造成后续阶段的停滞,导致开发周期拉长。并且,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。
敏捷开发的流程:
1.讨论,确定user stories满足客户要求(参与人:Project owner,client)
2.编写user stories(参与人:Project owner)
user stories的格式为:作为......,我希望.....,则......。(用客户语言来描述(通俗说就是我希望有什么功能,理由是什么))
3.讨论,明确user stories(参与人:Project owner,Developer,Designer)
Project owner修改user stories,并确定每项的priority,story point。
4.编写task(参与人:Developer,Designer)
Developer,Designer书写task,关联相应的story,Estimate(允许一层子task,每类用户1~2个task,一般1个)
- Project owner检查task,计算sprint期内时间,确定入选stories。
6.Meeting ,确定sprint期工作内容。
虽然Scrum是为管理软件开发项目而开发的,
它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.
- 确定产品的功能。
- 决定发布的日期和发布内容。
- 为产品的profitability of the product (ROI)负责。
- 根据市场价值确定功能优先级。
- 在30天内调整功能和调整功能优先级。
- 接受或拒绝接受开发团队的工作成果。