重新思考偏远的敏捷工作

通过Pravas Ranjan溃败,艾萨克LaBauve 2021年2月|POV |10分钟阅读|本文的电子邮件|下载
冠状病毒挑战了敏捷的核心原则:使用面对面的互动。从会议到开发再到支持,敏捷不得不走向虚拟。然而,实践者已经找到了使敏捷适应远程环境的方法——这种方法即使在团队再次共处时仍然有价值。
重新思考偏远的敏捷工作

敏捷软件开发在整个业务世界中普遍,往往嵌入企业文化中的软件开发。然而,冠状病毒大流行是测试该方法的基本原则之一。敏捷的宣言讨论了将信息传达给开发团队中的最有效和有效的方法是面对面的对话。

由于大多数办公室关闭,员工远程办公,这种首选的方法从困难到不可能。

公司必须适应这种新的工作环境,如果他们想要敏捷提供同样的好处,比如提高生产力、更大的用户满意度、更快的上市速度和更高的软件质量。一些基于网络的或虚拟的工具可以模拟传统上亲自进行的工作,但这并不是故事的结局。这种敏捷重新启动需要调整;把面对面交流换成网上交流并不是一个一对一的提议。会议通常应该更短,重点更狭窄。测试应该更加自动化。最终用户培训应通过电子学习文档和课程来完成。了解面对面协作的好处将帮助敏捷领导者找到会议、执行和支持的远程类似物。

会晤

无论产品生命周期的哪个阶段,几乎每个会议都会受到缺乏面对面的互动的影响。开发团队假设在虚拟会议期间丢失非语言通信线索。可以使用所有参与者在相机上的视频会议电话减轻其中一些损失,但这并不能完全消除问题。每种会议都有自己的首选方法和挑战 - 或有时会好处 - 要进行虚拟。

对于简单的主题,例如每日Scrum会议中讨论的话题,视频会议调用可能实际上可以更快地使会议更快,更加集中。一次只有一个人可以说话和理解;这限制了偏离主题,侧面对话的数量。这一福利与虚拟卡班委员会的使用相结合,可能会增加这些会议的生产力。

通常是几个小时的知识转储的会议不应该采用简单的“只是将其移动在线”方法。研究表明,在与最终用户知识会议的会议低的会议期间,在会议期间,参加者的注意力开始迅速下降。相反,最好缩短这些会议以确保信息被正确吸收。北卡罗来纳大学教授Steven Rogelberg在华尔街日记录中写道,那些花费不到48分钟的会议可能是最好的。此外,与电子学习文件和课程,预防性维护指南和问题决议手册补充了这些会议,有助于弥补缺乏人的互动。

专家建议会议时间不要超过48分钟,这样才最有效率

需要从不同来源的输入和解决复杂问题的会议,例如用户故事和功能最终确定,更难进入虚拟会议空间。这些类型的会议应该是长期的,包括多样化的观念。由于这些会议不是知识倾倒,因此将所有与会者携手从事谈话和问题的所有与会者都很重要。这可以通过为个人与会者创造时间来促进这一点,以便在短暂引入问题后表达他们的想法。虚拟白板对日志记录思想并保持讨论的展示也很有用。从事参与者可以更长时间保持焦点,但仍建议会议领导者创造定期休息。

执行

在软件开发过程中,对于如何进行会议有两个更重要的变化:协作和信息传播。

开发人员将不能“结对程序”,或者到同事的办公桌前寻求如何解决问题的建议。显而易见的解决方案是使用像Microsoft Teams或Slack这样的通信软件。在某些情况下,这些工具可以使这个过程更容易,因为代码可以粘贴到聊天框中,而不是描述它。但是,也有更好的解决方案,比如Visual Studio Live Share。例如,Live Share允许多个开发人员同时编辑一个文件。因此,该特性允许另一个开发人员连接到文件并添加相关的行,而不是指定可能有帮助的代码。这也可以解决结对编程中的一个常见问题,在这个问题中,一些参与者不参与,因为他们不是在键盘前,就是在听写。

物理信息散热器,如寻呼板和烧记图表,在工作场所提供明显的益处。他们的存在是一项不断提醒,团队与其目标相关的地方。此类虚拟板的缺点是它们可以轻松地隐藏新的桌面窗口。结果,重要的是每天至少参加一次与团队一起参考并讨论改变的内容。如果仍需要物理板,则一个人可以维护它,然后每天发送电路板的时间流逝照片(除了维护虚拟板)。

测试是任何软件开发项目的重要部分。当使用敏捷方法进行软件开发时,自动单元和集成测试是常见的。然而,更细致入微的回归测试和场景测试自动化程度较低,以前通常在业务和产品负责人参与的小组中进行。现在需要使用在线协作工具在开发过程中更早地识别和澄清这些用例,这样测试就可以包含在自动化测试套件中。即使团队没有被迫远程工作,这也是一个很好的实践,因为自动化测试可以显著地加速开发。

图1.分散敏捷的策略。

    应对大流行的做法:

  • 减少长度并缩小“信息转储”会议的焦点。
  • 对于高概念会议,请将参与者从每个成员征求意见。
  • 使用允许多个编辑器在代码项目上协作的软件。
  • 参考虚拟信息散热器至少每天一次以保持相关性。

    随时有用的实践:

  • 将场景测试合并到自动测试套件中。
  • 创建日志和警报系统,以便在部署后将错误通知团队成员。
  • 创建一套全面的电子学习课程、维护指南和问题解决手册,以促进最终用户知识会议,并减少关键支持的需求。

支持

在交付后的保修服务和对软件的关键支持通常要求某些团队成员保持现场解决新问题。相反,开发人员可以创建一个记录和警报系统,通知团队成员错误。此外,请使用Bug跟踪和票务软件跟踪用户发现的问题,以便可以根据优先级添加到积压并由开发人员寻址。

此外,一套健壮的电子学习课程、维护指南和问题解决手册可以减轻敏捷团队在支持阶段的负担。与测试一样,支持是新工具和方法在任何情况下都能提供好处的另一个领域。

分散敏捷的秘密

大流行为企业创造了许多新的挑战,从网络安全到物流到消费者需求。对于练习敏捷的软件开发人员,这种外部危机已经增加了一个基础原则之一。但是,通过仔细思考我们目前做法的原因,可以找到任何挑战的可行解决方案。当条件使必要的远程团队进行必要时,使用虚拟信息散热器和视频会议可以帮助减轻缺点,但它们不能完全取代面对面的通信。然而,在该过程中提前结合更复杂的测试的实践是有价值的工具来开发,因为即使在团队再次定位时,它们也很有用。

参考
  1. 更好的会议科学,Steven G. Rogelberg,2019年2月15日,华尔街日报
  2. 为冗长、大型、无重点的会议辩护。真的。,2019年11月27日,华尔街日报的David Komlos&David Benjamin