敏捷团队的角色定义作用:描述敏捷团队Team中涉及的各类角色,每个角色的工作内容。Team中的全体成员遇到问题之后可以找对应角色的人员来协助解决障碍。
PO
1、产品负责人,负责产品整体规划,设定阶段目标,明确产品演进思路和版本发布规划,对外的统一负责人
2、负责明确产品需求、编写故事和设置优先级,输出Product Backlog 。
3、规划工作至少提前研发团队一个月;需求细化至少提前一个Sprint。
4、负责组织需求评审
5、负责解答Team中所有人员关于需求的疑问
6、负责验收研发团队交付的系统,对系统出厂的质量负责
项目负责人
1、跟进项目进度,并对外汇报项目进展
2、依据敏捷Team的各类输出,翻译成周报的格式提交给管理层
3、协调资源
Agile Coach
敏捷教练,协助SM进行敏捷实践和过程改进,推动Team完成持续改进
SM
1、Scrum Master,负责指导Team成员开展工作,确保各项工作的高效开展
2、优化工作流程和机制,确保各个角色之间顺畅、高效的协同工作
3、解决团队开发中遇到的障碍
4、作为研发团队与外部的接口,为团队排除障碍,屏蔽外界干扰
5、保证开发过程按计划进行,组织 Daily Scrum, Sprint Review and Sprint Planning meetings
需求分析师
1、在PO输出的Product Backlog基础上,与PO沟通,将对应的故事细化成软件需求
2、解答研发团队开发过程中的需求疑问
技术负责人
负责整个系统的架构设计工作,对系统的技术架构和技术选型负责
子系统负责人
1、作为子系统的整体负责人
2、基于运营中心整体架构的基础上,完成子系统的架构设计和关键技术选型工作,对子系统的技术架构和技术选型负责
3、为子系统研发团队排除技术障碍,解决技术难点
4、指导子系统研发团队的开发工作
过程改进
1、协助SM开展过程改进工作,具体如下:
《1》关注研发过程中涉及的各类环境,确保各类环境正常稳定运行
《2》协助大家完成TDD的工作
《3》关注CI运行情况,提醒团队解决CI中的问题
《4》优化CI的执行过程
《5》定期Review大家的工作,如:Wiki、代码
2、发现团队中大家技能的短板,与SM一起提升大家的技能水平
开发工程师
1、依据Sprint Backlog,选取对应的任务,完成详细设计、代码编写(含测试代码)、修复BUG
2、承担项目中部分技术难点的攻关
WEB前端工程师
1、依据UI的设计方案,实现方案中的交互效果
2、将静态页面转换成动态页面,并完成与后端逻辑代码的集成
3、在技术负责人或者子系统负责人的指导下,完成WEB前端技术难点的攻关和结构的优化
UI
与PO沟通,基于需求完成线框制作、人机交互设计、效果图设计
UE
1、依据UI的设计方案,完成静态页面的实现
2、负责静态页面的浏览器兼容性测试
3、协助WEB前端工程师完成交互效果的实现
测试工程师
1、Review需求分析师输出的需求,从测试的角度判断是否具备可测试性
2、编写测试用例
3、负责运营中心各子系统的测试工作(功能、性能、稳定等),对系统出厂的质量负责
4、跟进BUG的修复进展
5、定期分析BUG,输出测试报告,作为团队改进的数据输入
版本管理
1、负责SVN的管理,如:账号、权限、branche和tag的创建
2、明确版本号及输出版本的发布说明