一个Sprint开发团队的工作流程

如果您至少关心一些有用的事情:

一个 基础学科
b。 彼此和盟友之间达成共识的互动过程的形成
c。 分包商如何以及如何做的解释
d。流程管理的灵活性
e。及时应对新出现的问题

然后他们将改善开发团队的工作环境。

如果您想从容地发展,那么您需要聚在一起,达成一致并写下透明的规则以进行相互交互。 至少是最基本的。
任何利益相关方都应制定任何流程和协议,并销毁对流程有负面影响的流程。

我想以一个Sprint的工作流为例,说明其元素带来的好处:执行了哪些操作,存在了哪些工件以及为什么需要每个工件。 首先,您应该熟悉事件和Scrum工件的定义。

Sprint N-1 :准备中。 这不完全是冲刺。
在开发本身的Sprint N开始之前,团队的一部分将进行准备工作:测试,批准,开发,可视化等。
含义 :为了使开发人员能够在开发本身开始之前就以定性的方式执行任务,获得所需的参数或解决某人的问题:

一个 彻底做好所有准备工作,
b。 减少差异,
c。 对用户进行测试或获得利益相关者的认可,
d。创建详细的可视化。

输出 :一组符合“就绪定义”清单的工件和数据。

如果您想改善编码人员与开发过程中所有其他直接参与者之间的交互,那么熟悉和解释所有参与者的基本功能和过程将很有用。 在编码人员中,有很多内向的人在破坏他们的流程时不喜欢它,但是他们还需要了解其余的工作方式,以免产生相反的效果。 我们开始:

Sprint N-1开始



OKR,KPI,利益相关者要求等 -一组指导开发的外部条件。

冲刺目标N。
根据即将到来的条件,开发应移至何处,需要实现哪些参数,向谁提供帮助以及为什么要提供帮助,将形成即将到来的开发冲刺的目标。
含义 :冲刺的目标是团队的动力,解释其活动的含义,设置指标。
在没有情况下缺乏动力的编码员主要受到鞭子,垫子和罚款的控制。

任何团队都需要动力,这样开发就不会变成无休止的一系列毫无意义的任务,不清楚是否有人需要。 特别是在发展不是业务基础的公司中,当部门不被重视时,经常会出现问题,这就是为什么他们的自尊和动力下降的原因。 我们需要一个透明且可理解的目标-帮助某人解决问题,改善业务参数,改善某人的生活。 即使在最糟糕的公司中,也要意识到他们活动的意义,这是件好事。

积压整理 -集会或连续活动。 管理团队有限部分的积压。
含义 :每个冲刺都会召开会议,会议内容有限,包括清洁,基础研究,复杂性和可行性的初步评估,分解,待办事项中任务的优先级划分。
退出 :相关和可行任务的列表。
如果不是这样 :待办事项列表中有大量的愿望清单,没有人读过,其中的任务被遗忘了很多年。

冲刺计划N-1-训练团队的一部分,根据即将到来的冲刺N的目的和范围,选择,预先评估和确定任务的优先级。
意识 :冲刺的准备工作也需要一些命令。 资源管理得到简化。
输出 :sprint N.积压

测试开发
取决于开发风格和团队中测试人员的存在。
含义 :值得制定现成的计划来验证代码的运行状况。
我建议考虑2个选项:
在没有测试人员的情况下,可以选择将测试的创建转移到开发团队。 在这种情况下,此活动是作为sprint N中任务开发的一部分进行的。根据一些评论,这种方法提高了开发人员编写的代码的质量。
如果您有测试人员,则可以在代码之前编写测试时使用此方法。 用途之一是任务开发在开发人员处结束,并减少了在开发人员已切换到另一任务时从测试人员返回完成的任务的机会。

研究用例 -任务中交互方案和结果的详细研究。
含义 :通过文本或图表描述任务交互的场景,可以提高所有相关方对问题的理解。 该低成本解决方案可用于创建测试用例和原型。
在没有这种情况的情况下 :详尽的工作导致对任务真正要求的理解存在分歧,可能会丢失替代用例。

总体上,线框图,模型化和原型设计是一种迭代的开发界面可视化的过程,其细节不断增加。 从最简单,最便宜的选项开始,对用户/利益相关者进行测试,以了解所建议的选项是否满足解决问题的期望。 视觉测试在减少文本描述的不一致方面非常有用,而且与编码相比非常便宜,以至于在设计和产品游说有力的公司中,他们开始将其与流程,工件和进度表分离为单独的方法。

Wireframing-接口元素的草图。 钢笔在纸上或软件中没有任何多余装饰。
意识 :快速,廉价的测试/任务相关者的批准。 可视化的另一个演示不仅是描述性文本,还大大改善了感知。
在没有的情况下 :对实际创建内容的理解存在分歧。 开发成本增加。
在未经批准的情况下 :为利益相关者进行开发时,要获得文件批准,以最大程度地减少“我没有要求这样做”的机会。
输出 :批准/测试的线框草图。

模拟是可视化界面的第二步。 详细增加。
含义和缺席 :类似于线框图。 准备用于布局的内容。
退出 :批准/测试的模型和布局。

原型开发是开发界面可视化的第三步。 在高细节可视化中添加了模仿用户与产品交互的演示。
含义和缺席 :类似于线框图和模型化。
输出 :我们有详细的产品原型和交互可视化。 加上利益相关者的文件批准或对用户的测试结果。

DoReady = 准备就绪的定义 -开发和预培训团队同意的条件清单,将根据该清单进行检查:任务的研究是否具有足够的水平,是否存在所有必需的工件,以便可以将任务接受到开发中。
含义 :所有相关方都同意一份正式的清单,可以增进团队内部的了解和互动。 每个人都知道什么以及如何通过。 您可以在清单上戳一下鼻子,然后发送给疏忽大意的工作人员。
在没有的情况下 :“哦,我几乎完成了,它完成了95%。” 并且...它将永远不会完成。

恕我直言,这是解决编码器与其他所有人之间的基本冲突的最重要的工具。 立即清楚是谁和如何没有完成他们的工作,他们违反了什么以及它将如何影响他人。 与基于权利或立场的观点或压力引起争执的情况相比,与既定规则进行辩论要困难得多。 尽管戳所需项目的PM主持人仍然有用。

通过所有进一步:

冲刺N. 我们开始发展。

冲刺开始N



就绪,冲刺目标,初始评估任务列表的定义-开始冲刺所需的条件(和工件)。

Sprint N计划 -开发团队根据Sprint N的目标和范围进行选择,评估,确定优先级和分解任务的集会。 根据团队的平均速度,可以获得一定数量的任务。
意识 :团队检查任务是否圆满完成的主要会议。 他们是否正确理解任务集和验收标准。 开发人员最终评估任务成本。
在没有 :混乱的情况下 ,任何不理解的人都可以随时设置任务,即使在执行其他任务时也是如此。
输出 :sprint N.积压
注意:根据团队的速度,冲刺通常会为冲刺目标承担70-80%的任务,而对于bug,技术债务或突发性紧急任务则要承担20-30%的任务。

对于没有额外人员的开发团队来说,任务的分解和分配通常是一次小型会议。
含义 :由团队领导的团队将冲刺任务分解为子任务,时间不超过1天(第2边)。 子任务由开发人员根据其专长或偏好进行分配。
在没有情况下 :开发人员是否会收到有助于他们发展的有趣任务,取决于团队的参与程度。
退出 :详细说明sprint待办事项N到1天的子任务。

每日会议 -开发团队的每日短期会议。
含义 :开发人员每天必须彼此同步:谁在前一天做了什么和什么,他们打算在当日完成什么,以及哪些问题干扰了任务。
在没有的情况下 :没人知道其他人在做什么,他们的实现问题。 开发截止日期被打乱了。
输出 :进度记录在燃尽图-任务计划中。

我的观点是,日常集会存在的主要意义之一是纪律的引入。 编码员有很多内向的人,他们不想交流,不想知道别人在做什么,不想花时间在集会上。 因此,简要执行站立的规则。
实际上,如果团队能够很好地合作,在聊天中进行良好的交流并立即分享任何问题,则可以通过在进行中的流程中重组会议来减少会议的数量。 但是您不应该完全切断它。

讨论和解决干扰是日常会议的直接延续。
含义 :在开发人员对任务的执行提出问题后,讨论了团队可以在内部解决的任务,然后由参与者进行讨论,而对外部解决方案的干预则由PM负责。
如果不是,应尽快解决实施问题,以免任何人为拖延进度。

当性格内向的人逃跑时,您已经可以在这里讨论问题及其解决方案。

提交/代码审查 -其他团队成员的代码验证。
含义 :1-2个其他团队成员应查看新代码并批准质量,样式等。
如果不是 :增加代码中的错误数量,降低质量和样式。

他们提供由不同级别的其他开发人员进行代码复审2的能力,即使对于初学者来说,这也是学习的好方法。 无论哪种方式,团队都会获得一种可以接受的风格,谁知道何时以及谁将不得不返回工作代码。

部署到开发服务器/预演示 -将代码上传到开发环境/服务器。
含义 :任务的任何执行都可以上载到开发环境中,并邀请感兴趣的人进行测试并初步批准所执行的工作。
如果不是这样的话 :在最后的演示冲刺中,您可能会通过演示残破或错误的实现方式而感到不舒服。
退出 :任务的非正式批准。

无论如何,对作业的错误解释或对任务的阅读标准有时会到达这一阶段。 越早验证和测试任务,就越不需要返回到任务。

完成的定义 -与就绪的定义类似,这是PM / PO接受已完成任务的原则清单。
意识 :由开发团队与PM / PO共同创建,用于可预测工作接受参数。 每个人都知道什么是任务标准,什么不是。
在没有 :没有明确标准的情况下,尝试通过任务后会出现“优化”任务。 否则,直到最终要求完成之前,任务仍未完成。

双方同意的书面文件协议,PM / PO接受任务及其标准。 减少争议点的数量。
防止PM / PO粗暴地粉碎桩。 将“已完成”的任务削减了95%。 开发人员不应在冲刺之后完成已完成的任务,如果任务明显不符合检查清单,则不应认为该任务已被接受并转到以后的冲刺。

审查和演示产品增量 –开发人员向感兴趣的各方演示sprint目标的实现的一次聚会。
含义 :开发人员自己证明了可行的新产品增量。 PM / PO正式验证任务执行标准和DoD遵从性。 利益相关者决定产品的新增量是否符合Sprint目标。
在缺少的情况 :缺少正式的论证和对执行的工作的接受会降低接受标准的价值,即所执行工作的质量。
退出 :团队工作已完成。 利益相关者决定是否进行下一个冲刺。

开发人员演示完成的任务比为利益相关者亲自提供新功能进行自我分析更为有用和易于理解。 利益相关者可以看到谁为他完成工作,而开发人员可以看到他们是为谁解决问题。

收集评论 -继续对集会进行评论。
含义 :所有相关方,团队和产品本身都集中在一个地方,可以进行非正式的交流,收集想法,建议等。 获得有关团队素质的反馈。
在没有情况下 :分配的正式时间减少了其他工作时间内团队与利益相关者之间不必要的联系。
输出 :新数据,反馈。

反馈通常是有用的事情,甚至是利益相关者对他们在开发人员方面的经验的反馈。 修改与外部参与者互动过程的原因。 与当前和未来利益相关者的关系改善始终可以被利用-订单,预算,特许权等。

Sprint回顾展N-开发团队和PM / PO的集会。
含义 :讨论上次冲刺期间团队的流程和问题,试图通过更改工作流程来改善团队。 哪些流程成功了,没有带来收益或受到了损害,出现了哪些新问题,以及如何解决这些问题。
输出 :过程实验计划。 在下一个冲刺中修改流程,以评估哪些修改是有用的,哪些应该丢弃。
在缺少的情况下 :从上方植入或缺乏团队开发流程会降低团队可用性,生产力和开发可预测性。

除了平常讨论问题及其解决方法外,我还要注意“过程实验计划”。 请勿将录制的过程视为刻在石头上的-不变且不变。 添加新的-测试,不喜欢-删除它。

冲刺结束N


冲刺N + 1 。 将新的增量倒入生产中
含义 :由于工作周结束时sprint频繁完成,因此在下一个sprint中已经部署到生产服务器并访问了用户,因此在周末不会出现潜在的问题。

增量用于监视参数。

Source: https://habr.com/ru/post/zh-CN465189/


All Articles