在一个自组织的团队中,具备以下6个特点:
尊重:是指团队成员之间和团队外部之间彼此尊重,公司放心授权,团队间彼此信任,才能建立起高效的合作;每个成员敢说、敢做、敢犯错,不不断试错中快速找到正确的路径。
透明:透明是建立信任和尊重关系最好的方法,讲明原则,制定规则,在各种实践中保持透明,尽量将一切活动可视化,使用看板、燃尽图等工具。
目标:团队要有明确的目标,团队才有前进的动力和方向;让团队明白项目背后的意义,团队成员才能明白自己付出的价值,在团队中达成价值、完成标准、验收标准等共识。
承诺:有了目标就要有承诺,团队各成员之间相互承诺,完成彼此的责任和任务,做到当天的事情当天毕,对团队承诺的事情,一定要做到。
团队:一个项目团队就是一个整体,在项目开发过程中,要时刻强调以团队作战,团队共同进退,增强每个人的集体荣誉感。
辅导:互相辅导是提升团队能力的最佳途径,也是实现团队间尊重、承诺的好方法,比如师徒制、Code Review、反思会等。
同时,定义好每个角色的责任边界。
产品负责人:为团队的配合度负责,为员工的流失负责,为最终交付产品的客户使用满意度负责;为打造高效的敏捷流程负责;
敏捷教练:要为项目交付时间负责,为没拦住开发过程中需求变更负责,为长期加班状态负责,为线上bug负间接责任,为员工流失负间接责任;
产品经理:要做到项目启动会时,为PRD完备负责;在DL日期之前,不再变更需求,也不再插新需求,也就要求产品的逻辑要思考全面;为交付时间负责间接责任,为拦住需求方提负担过重的需求负责;
开发团队:要为里程碑进度负责;要为交付时间负责;为线上bug负间接的责任;
测试:为线上的bug负责。
想要打造自组织的团队,需要负责人坚信敏捷开发带来的团队变化,倡导敏捷文化,打造诚实守信、精益求精的团队氛围,在一个一个项目实践中磨合;
如果是新团队建议刚开始就使用敏捷工作方法,形成部门规矩,后续新人融入之后能够快速适应;而成熟团队需要潜移默化,切勿着急改变,挑选合适的成员来进行试点,有了一定结果之后再推广到其他的项目团队中。
三、完整开发流程
一个软件产品的完整开发流程分为4个部分,分别是:
1) 需求确定阶段
2) 产品研发阶段
3) 产品验收阶段
4) 全量测试发布阶段
在实际的开发过程中,为了提高效率,②③是有可能重叠交替进行,Scrum框架为每一个阶段都设定了对应的解决方案。
1.Scrum框架-334
完整的Scrum流程包含了3个角色、3个物件,以及4个会议;
3个角色:
Product Owner 产品负责人
Scrum Master 敏捷教练
Scrum Team 开发团队
3个物件:
Product Backlog 产品功能列表
Sprint Backlog 迭代任务列表
燃尽图
4个仪式:
Sprint冲刺计划会
每日站会
Sprint冲刺评审会
Sprint冲刺回顾会
3个角色我们在前文已经详细介绍,这里就不做过多的阐述;
3个物件属于敏捷工具,会使用即可,其中“产品功能列表”由产品负责人维护,然后进行优先级排序,以用户故事的形式展示,能够让团队成员容易理解;
“迭代任务列表”是当前冲刺迭代版本的任务集,由产品将用户故事拆成任务,并让团队成员各自领取;
“燃尽图”则是一个公开的图表,是项目进度的一种看板表现形式,有助于项目成员能够直观的理解项目进展,直到所有任务开发完毕。
4个仪式贯穿整个敏捷流程,领悟每个会议的作用,将决定整个敏捷开发的质量。
2.Sprint冲刺会
每个冲刺版本都由一个Sprint冲刺计划会开始,产品负责人PO或团队成员选择用户故事,然后由产品负责人详细讲解用户故事,产品经理负责讲解满足用户故事的产品功能解决方案,开发团队进行任务估算;
冲刺会最终产出1张表和3个时间节点:
Sprint里程碑任务计划表;
可测试介入的时间节点、整体开发完成的时间节点、上线时间节点;
冲刺计划会要注意几个关键点:
一个Sprint的周期不宜过长,控制在4周内,而且以2周为佳;
每次会议全员必须参加,每个人都要清楚本次版本的目标,我们能交付什么,明确各自的职责和责任;
全员承诺,PO不死压完不成的任务量;
任务估算时可以讨价还价,但一旦接受则所有人都要对里程碑no delay,做到当日事当日毕;
尽量不要压缩测试的时间;
在任务进度表没有出来之前,不要中断会议;
3.任务估算
任务估算是冲刺计划会中最重要的一个环节,只有理解了本次会议的需求内容,才能估算出准确的时间,确保里程碑的进度可控,SM要在这个环节把控全局,确认好里程碑的时间节点。
如果团队内岗位都不相同,团队成员分别编写自己的任务卡,而如果有相同的岗位,应当以小组的形式来估时,比如一个团队中有2个后端,那他们就要对本次里程碑的所有任务都进行估时(可参考扑克牌估算法),双结果不同需要讨论并重新出牌,结果比较接近即结束。
4.任务卡
一张完整的任务卡要包含三个内容:
明确的交付内容
责任人(可以使用代号,只要不重复即可)
任务完成时间(可以用小时H或天D作单位)