93人参与 • 2024-08-06 • 驱动开发
流程 | 关键词 | 关键人员 | 输出 |
---|---|---|---|
立项 | 简述、周期、预算 | 领导 | 立项申请表、立项评审表 |
策划 | 计划 | 项目经理、qa、cm | 各种计划书(项目、配置、测试等),评审 |
需求 | 功能 | 项目经理 | 功能列表、需求规格书、需求开发计划等,评审 |
设计 | uml | 开发 | 设计(概要、详细、数据库)、分析、评审 |
编码 | 写代码 | 开发 | 源码、单元测试、安装包、产品集成、代码审查 |
测试 | 测试 | 测试 | 需求测试、集成测试、系统测试、缺陷跟踪、评审 |
手册 | 使用文档 | 项目经理 | 安装手册、操作手册 |
验收 | 发布、验收 | 客户 | 确认表、验收单 |
结项 | 评价 | 领导 | 总结报告 |
质保 | 维护 | qa | 检查表、问题跟踪表 |
scrum是迭代式增量软件开发过程,是敏捷方法论中的重要框架之一
百度百科:https://baike.baidu.com/item/scrum/1698901?fr=aladdin
推荐博客:https://blog.csdn.net/a715167986/article/details/128716292
角色
产品负责人 product owner: 负责维护产品订单的人,代表利益相关者的利益。
scrum主管 scrum master: 为scrum过程负责的人,确保scrum的正确使用并使得scrum的收益最大化。一般不翻译。
开发团队 team: 由负责自我管理开发产品的人组成的跨职能团队。
工件
产品列表 product backlog:根据用户价值进行优先级排序的高层需求。
冲刺订单 sprint backlog:要在冲刺中完成的任务的清单。
产品增量 increment:最终交付给客户的内容
活动
计划会 sprint planning meeting:在每个冲刺之初,由产品负责人讲解需求,并由开发团队进行估算的计划会议。
每日立会 daily standup meeting:团队每天进行沟通的内部短会,因一般只有15分钟且站立进行而得名。
评审会 review meeting:在冲刺结束前给产品负责人演示并接受评价的会议。
反思会/回顾会 retrospective meeting:在冲刺结束后召开的关于自我持续改进的会议。
其他
冲刺 sprint: 一个时间周期(通常在2周到1个月之间),开发团队会在此期间内完成所承诺的一组订单项的开发。
用户故事(user story)是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
角色: 谁要使用这个功能。
活动: 需要完成什么样的功能或目标。
商业价值:为什么需要这个功能,这个功能带来什么样的价值。
用户故事通常按照如下的格式来表达:
英文:
as a <role>, i want to <activity>, so that <business value>.
中文:
作为一个<角色>, 我想要<活动>, 以便于<商业价值>
举例:
作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”
需要注意的是用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。
关于用户故事,ron jeffries用3个c来描述它:
卡片(card) - 用户故事一般写在小的记事卡片上。卡片上可能会写上故事的简短描述,工作量估算等。
交谈(conversation)- 用户故事背后的细节来源于和客户或者产品负责人的交流沟通。
确认(confirmation)- 通过验收测试确认用户故事被正确完成。
用户故事的六个特性- invest
invest = independent, negotiable, valuable, estimable, small, testable
独立性 可协商性 有价值 可以估算性 短小 可测试性
敏捷中需求通常被分为史诗、特性、用户故事三大类别,逐层往下,粒度越来越小。需求直到被分解至用户故事时,才能放入scrum迭代。
史诗:由多个较小的故事组成的史诗。
特性:一组相关的故事,有价值的单方向功能集合。
用户故事:独立的较小用户的价值交付单元。有可能不足以单独发布。
一天,一只鸡散步时遇见了猪。
鸡对猪说:“嗨,我们合伙开个餐厅吧。”
猪说:“好啊,那准备取什么店名呢?”
鸡说:“要不,就叫火腿和鸡蛋吧。”
猪直接拒绝了:“那可不行。我要割肉,你只要下蛋。这样下去,我迟早要完蛋。”
这个故事实际上反映了软件开发过程中的2种不同角色,即需要完全投入的“猪”和只要部分投入的“鸡”。真实项目过程中,往往会发生这样的现象,产品经理或领导,喜欢临时往项目中新增任务,打乱原先的开发节奏,导致程序员压力倍增,士气低落,项目延期。
而scrum,就是为了保护“猪”这种角色,兼顾“鸡”的感受,从而确保整个项目正常交付。它是一套敏捷开发流程。
迭代计划会议中,整个小组通过估点的方式,按优先级将用户故事从product backlog中移入到sprint backlog,表示整个小组承诺本迭代要做完的任务。做完的标准是测试通过,除非此任务不可测试。
迭代计划会后,小组成员按个人喜好领取自己的任务,并在每天的站立会议上讲一下自己昨天做了什么,今天准备作什么,大概什么时候完成,以及遇到了什么问题。当有人提出遇到难题时,scrum master需要在会后安排人帮忙解决,而不是在会议上直接解决。每个人大概30秒-1分钟,整个会议一般不超过15分钟。每一个工作日结束后,需要画燃尽图(下一篇文章会额外介绍)。
一个迭代开发阶段结束后,进入内部演示会议,工作成果给整个小组演示(包括project owner)。edusoho的做法是,bug及小优化不演示,点数较大的功能点做演示。
内部演示结束后,整个小组(包括project owner)召开一个迭代回顾会,回顾本迭代中大家哪些做的好,哪些做的不好,每人各列举3个好的以及不好的,列的时候只讲现象,不分析原因,不找解决方案。然后整个小组投票选出3个不好的,分析原因,寻找解决方案,并指定执行者。
为什么只解决3个不好的?每个小组的精力有限,如果要一个迭代内解决全部问题,不太现实,先优先解决3个最重要的,多次迭代后,会发现整个小组的变化越来越明显。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论