敏捷定义
敏捷是一种过程控制理论,为适应快速变化的需求,提高产品开发成功率和效率。Scrum是实现敏捷开发的一种实现机制,它采用迭代、增量的方法来优化可预见性并控制风险。
具体实践
该文的敏捷实践内容,主要是对****近2个月的开发过程的总结,项目组成员为5人,核心目标是6个月时间实现项目第1期,但开发过程相对比较特殊(首先是项目组承担十几个系统的维护以及临时性工作;其次是知识库需要专业老师同步建立;另外我个人一直在做传统软件开发工作,对互联网架构并没有实际的落地经验)。
在项目初期比较忙碌,特别是Sprint0和Sprint1,除了修复运维系统的紧急问题外,基本上都在做调整的工作,尽量减少干扰,不断明晰职责和优化流程。一旦做什么和怎么做明确下来,项目开始按照敏捷精神有序运转起来,问题被快速解决,变化也及时得到了响应。
1、流程定义
以下仅供参考,这样的流程不一定适合你的团队!
2、职责定义
以下仅供参考,不是没有团队都一样的哦!
事项 | 职责 |
项目负责人
| 1、提前冲刺准备需求列表 |
2、创建冲刺规划,确定冲刺周期、角色等 | |
3、维护团队生产力,保证开发不被干扰 | |
4、源代码管理
| |
5、冲刺结束,需求列表完成进度确认
| |
冲刺负责人
|
1、维护冲刺排程
|
2、创建看板
| |
3、创建冲刺休假统计,并每日跟踪
| |
4、将确定的需求,录入看板Story
| |
5、组织每日站会,标定冲刺简板
| |
6、跟踪每日任务,协调解决遇到的问题
| |
7、组织成果展示
| |
8、主持冲刺规划
| |
9、协调其他冲刺角色,保证冲刺可控
| |
10、回顾总结
| |
11、冲刺成员维护
| |
发布管理
|
1、冻结代码
|
2、保证代码编译,出现问题,通知负责人重新提交
| |
3、本地代码发布到测试服务器
| |
代码Review
|
1、组织Review代码
|
2、跟踪Review中的问题代码,确认是否被解决
| |
3、登记Review问题和解决方案
| |
业务讨论
|
1、组织进行业务讨论
|
2、记录讨论内容
| |
回顾
|
1、组织回顾会议
|
2、记录回顾内容
| |
3、卫生保持监督
| |
冲刺规划
|
1、组织冲刺规划,注意控制时长
|
2、解释Story
| |
3、分派Story
| |
配置管理
|
1、管理内外网测试服务器(包含账号、系统环境、软件环境的维护)
|
2、管理内外网测试数据库(权限、脚本执行)
| |
3、管理项目中数据脚本、软件配置管理
| |
4、管理技术分享文档,保证被分享的内容都有登记(分享人自觉记录),且格式正确,连接有效
| |
5、维护新人手册
| |
6、指导新人安装开发必备工具
| |
技术分享
|
1、组织技术分享,确定分享地点、时间、参与人员
|
2、收集分享需求
| |
3、保证每个冲刺内至少一次分享
| |
4、学习目标监督
|
3、目标定义
在冲刺1过后,发现团队成员还是对主线产品没有总体认识,缺乏方向感。通过分析讨论,增加了冲刺简板。主线产品目标被分解为数个时间节点,我们要做什么?什么时候达成何种结果?看起来十分清楚。冲刺目标也被清晰的标记出来,并且要求在冲刺结束的时候目标中的标记项要全部完成(至少60%要全部结束,否则冲刺失败,冲刺负责人要被检讨)。
另一块是冲刺统计表,列出每个成员的可用工时、任务工时、剩余工时等,其中任务工时要在每周一被标定一次,剩余工时每日站会后标定。
4、冲刺排程
根据实际需求列表和目标,设定冲刺排程,包含周期、角色、工时、活动等。
5、人力规划
人力一直都是开发最重要的资源,对可用工时的管控,采用简单的Excel表格即可,但需要定期进行工时标定,检查是否有工时短缺的风险。
6、团队自治
敏捷过程采用轮值方式,除了项目负责人外,其他角色基本每个冲刺都会由不同的成员来负责。通过轮流负责不同的角色,每个人对开发过程都有一个清晰的认识,熟悉整个运作流程,高效的分工协作成为可能。除了角色的轮值,团队成员个人整体能力也需要对齐,保证协作的无障碍。具体做法就是通过制定与冲刺技能有关的学习目标,冲刺结束同样要求检核产出并分享,提升自我,建立个人影响力,最终加速团队创造力。
- 需求分析、设计、UI、开发、测试、发布全部由一个团队完成,所以敏捷团队也是一个全能型团队,每个人各有所长,互相Cover(类似特种作战部队),一般建议团队成员不超过8人,否则易造成资源浪费。
- 我个人比较推崇团队工程师文化,建议开放、自由的意见体系,鼓励大家在白板上进行头脑风暴,各抒己见、热烈讨论,真正关心你正在做的事情。虽然每个人都有自己的想法,但最终都在朝着同一个方向前进。
总结
敏捷应该是帮助我们解决实际问题,真正提高开发效率的工具,我们不能过于盲从和迷信,让敏捷沦为思想的囚笼,更不要伪敏捷!
开发需要以业务为驱动,敏捷理论源于实践,也必将回归于实践。在一个敏捷团队中,每个人应具备开放和持续改进的心态,同时也应受到足够的尊重和信任。
总之,敏捷具有可复制性,写下此文,与君共享!