敏捷开发

一、敏捷开发概念

【传统瀑布式开发】

敏捷开发_第1张图片

因为需求经常改动,所以开发人员需要做增量交付、迭代式开发,并且能够持续发布。

敏捷开发只是一种模式,以用户的需求进化为核心,强调适应性而非预见性。

把一个大项目拆成多个互相联系的小项目,多个小项目可分别完成并独立运行,要保证主体软件随时可发布可交付给用户。

敏捷就是一种科学地做事的方式!

二、敏捷开发人员架构的划分

部门→项目组→小团队(9-10人)

部长→项目经理→Team Leader

四个角色

PO(Product Owner):项目经理、产品或业务负责人

SM(Scrum Master) :Team Leader、一般都是开发负责人或是能力很强懂技术的产品

TEAM中有两个角色:DEV(开发人员)、QA(测试人员),虽然公司有测试部、但是每个团队还是会安插几个测试便于迭代开发

三、敏捷开发相关的会议

1、敏捷计划会:一个迭代开一次

任务明确、需求分析、故事点(小的任务点,1-3天完成的任务)划分

每个任务或冲刺(sprint)大概一个月,这个会大概就明确这个月的任务

2、每日立会(晨会)

团队开,对着任务展板,每个人主要说:昨天到今天完成了什么,今天到明天准备干啥,有什么阻碍了进度,有什么风险和困难。

3、敏捷评审会

向客户展示本次sprint完成的工作,获取反馈

4、敏捷回顾会

一月一次,月尾,总结工作中的经验教训,定量分析(要生成报表,如atlassian公司的confluence wiki)、定性分析。

四、平时任务如何完成

项目和代码库都需要拆分便于管理,立会领取故事点,写代码,2-3天一个小功能。

写完代码自省验证、跑各种静态检查、复杂度、测试用例、功能测试(必须完全通过)等。

git push提交代码触发CI(持续集成)流程,CI不过了,自查,反复提交

如果CI过了,代码进入Team Leader进行代码评审(code review),如果不行依旧需要退回重新修改

原则

  1. 人与人之间不影响
  2. 任务与任务之间不影响
  3. 主分支代码随时可交付,不需要等大家都做完才可以交付,客户可随时部署并保证代码质量

感谢B站up主 @CodeSheep 分享!

 

你可能感兴趣的:(拓展)