初步了解一下敏捷开发及其流程
当需求的不明确性和工程实现的不确定性均超出一定范围后,呈现出复杂系统的特征传统的开发方法便不在适用.敏捷开发方法正是在这样的背景下诞生.
千禧之初,美国在计算机行业已经走了几十年,瀑布流、螺旋模型、快速迭代...各种各样的软件开发流程雨后春笋各领风骚一段时间。虽然不断变化和完善,但互联网的加速发展让传统方法显得笨重,难以快速适应变化。有十七个程序员(程序员改变世界)在美国犹他州的一个风景区开了个碰头会,找到了一个团队耦合度高,流程极其灵活的方法,他们把它称为agile program development。
这十七个人如同开宗立派的长老,在会议之后给自己起了个名字“敏捷联盟”,他们不仅赋予了新方法名字,还有宣言,甚至纲领。
http://agilemanifesto.org/iso/zhchs/manifesto.html
3 Scrum
不同迭代周期对Scrum项目实施的影响
agile:敏捷.
- 其理念,精髓是 迅速响应需求,快速反馈结果
sprint:冲刺.
- 一个开发阶段被认为是一次冲刺,一个个sprint首尾相连,构成一个项目
Scrum:指的时英式橄榄球中一股脑争球这一战术或行为.
Product Backlog:即需求池,待办事项列表
需求池示例(任务名称、平台、详细描述、优先级按照P0-PX逐渐递减)
Backlog里写什么:待开发任务,任务优先级
story board:故事板
- 用故事板表述用户场景,电影领域里故事板用来更具体地描述分镜.
- 在开发领域,故事板是任务流转的可视化窗口
burn down chart:燃尽图
- 横坐标为一个sprint的每一天,纵坐标为剩余工作时间
角色
- PO(Project Owner) - 项目持有者 - 负责需求
- SM(Scrum Master) - 敏捷教练 - 负责技术
- ST(Scrum Team) - 需求,开发,测试
国外jira、redmine,Axosoft ,国内的leangoo、禅道,三大家则都有自研的工具,百度的icafe,阿里的aone,腾讯的tapd。
- 产品文档 PM维护
- 概要设计 非必须 SM维护
- 接口文档 必要且重要
一个例子
注意点: