敏捷开发 | 如何在日事清上实践scrum3.0?
开发团队应该如何敏捷?敏捷开发适合你所在团队的工作吗?你是不是在做假的敏捷开发?敏捷开发软件/工具有哪些推荐?
敏捷开发已变成互联网行业的一种潮流,
而什么是敏捷开发?
很多人说它是一种指导思想和方法论,
还有人说它是教义一般的存在。
过去的软件如word之类的迭代都以年为周期的,自然无法应对快速变化的市场需求。因此,需要更加敏捷的方式,应对快速发展的互联网世界的发展。
敏捷开发最重要的特点是:以用户需求为中心,快速灵活,团队合作度高。
敏捷开发有很多方法,例如XP、精益开发。其中以scrum最为普遍。Scrum本义为带球过人,双方队员比赛前要摆开阵势,计划好进攻路线,而在软件开发中,团队领导人要做好迭代计划,排列优先级,规定必须完成的任务。
scrum3.0中有6个角色,3个工具,4个会议。
scrum3.0中的6个角色
利益相关者(Stakeholders):
运营、市场、销售等,他们负责向产品经理提出产品需求。
业务所有者(Business Owner):
通常是产品经理,他负责对利益相关者提出的需求进行拆解以及进行优先级排序,并负责后期的产品评审,同时负责预测一个sprint周期的时间。
团队队长(Team Captain):
通常是我们的开发经理,负责安排一个sprint内的工作安排,通过合理安排让scrum团队的效率以及价值最大化。
行业专家(Subject Matter Experts):
行业专家拥有Scrum团队需要的,但团队中没有的知识和专业技能。
协调人/教练(Facilitator/Coach):
scrum制度的落实者,让scrum在团队中流畅的运作,消除他们的障碍,提高Scrum和敏捷的使用。
变更代理 (Change Agent):
Scrum的咨询顾问,将Scrum引入团队中,并帮助教练理解如何最好地支持和与Scrum团队合作。
3个工具:交付清单、工作清单、正在进行的工作。
4个会议:计划会议、产品评审、进度回顾、团队回顾。
因此,scrum3.0既有计划会议、产品评审、进度和产品回顾会议,也有迭代期内的灵活应变过程,是一种轻重结合的比较好的敏捷方法。
随着各种敏捷团队在国内成熟,很多应用于敏捷的工具也层出不穷。
在工具集中挑选适合的工具使用,可以提高工作效率。
日事清是时间管理和团队协作软件,
日事清保持一周一个迭代的更新速度,
以用户的需求为最高教义
辅以日事清软件,
敏捷开发scrum3.0在日事清团队内部中也在使用。
scrum3.0在日事清中如何实践?
在日事清软件中,利益相关者如销售、市场、运营等,
在与用户平日的接触中积累的功能、缺陷、创意上的建议,
并收集于计划看板的【BUG看板】、【建议看板】。▼
接下来,业务所有者(BO)需要维护精细的需求池(如下),这个职责通常由产品经理担任,他需要非常明白产品的定位和发展,将需求池中的任务按照优先级排序,并拆解为一个个小的用户故事。然后设置具体的实施时间和项目名称,将可交付成果和待办清单,记录于road map中。▼
在日事清中,这些用户故事的描述会记录在任务描述上,可以让开发人员更快速获取信息。
之后,我们的scrum团队会创建一个计划为【产品开发】,产品经理(业务所有者)以及开发经理(团队负责人)会从【roadmap】中提取功能形成work backlog,复制到【产品开发】的【规划池】中,work backlog中还包含一些开发团队必须做的工作,会直接记录在【规划池】中。▼
正式开始开启sprint (sprint:整个开发过程中若干个短的迭代周期组成)的第一件事,就是召开sprint计划会议。sprint会议上会确定本次sprint周期的目标是什么,我们需要完成哪些功能。
在会议中,开发经理(团队负责人)需要将【规划池】中的功能拖动到【开发中】,从【开发中】到【测试中】就是日事清所实践的正在进行的工作(WIP)。▼
会议上会评估每个功能所需的工时以及功能的负责人,我们为确定好的功能添加时间以及任务成员。通常计划会议会开比较长的时间,它是之后迭代开始运作最关键的会议。
为使得这个会议得到很好地传达,可以通过日事清的日程应用创建好会议任务,并下发给团队成员。
sprint计划会议的开启,意味着第一个sprint开始了!
从开发到测试,形成的工作成果都发布到beta版本中。
另外,在日事清中,【bug管理】、【建议管理】、【产品开发】都可通过计划模块中的列表、看板和进度这三种不同的视图方式显示。▼
列表视图
看板视图
进度看板
日事清还可以在统计中,多角度查看项目工作进展,自动生成燃尽图、任务完成情况等统计数据▼。通过这些数据可以任务的完成度和迭代的是否顺利,人员分工是否合理。
执行sprint的过程中也有很多问题被发现,需要解决,应此需每日召开约15分钟的站立会。
在每日站立会上,每个团队成员需要回答三个问题:
● 昨天做了什么工作?
● 今天要做什么?
● 完成目标是否存在什么问题?
在日事清一键生成的工作日报中,通过“KPTP+今日未完”成可以实现“每日站立会”,减少了面对面的沟通成本。▼
当测试人员完成了本个周期内的所有功能的测试工作时,预示着本个sprint结束。
在迭代结束前,产品负责人需要进行产品评审,产品会对测试中的功能进行验收。将达到了产品目标的成果拖动到【待发布】▼中。
最后整个团队还需要进行一次回顾总结会议,回顾这次迭代有哪些做的好,哪些做的不好,有什么计划。团队成员需轮流发言,完成自评和他评,分析和总结上一个迭代中遇到的问题,并列出下次的可执行任务,便于改进整个团队的效能。
至此,一个sprint周期完成,以此开始下一个sprint,不断循环往复。