软件研发是一项需要高度专注和深度沉浸的智力活动。在专注的状态下,人们通常需要15至30分钟才能完全投入到一项具体任务中,并且每次切换任务时都需要重复这个过程。这种专注状态对于软件开发人员来说非常重要,因为只有在这种状态下,他们才能充分发挥自己的技能和创造力,高效地解决问题并产出高质量的代码。
在实践工作中,为了提高工作效率和协调不同职能团队之间的合作,通常会建立虚拟的项目制结构。这种结构将不同职能的人组合在一起,并指定专门的项目人员来推进每个项目。然而,由于项目数量繁多,一个人通常需要加入2至3个项目,这可能会导致研发人员疲于奔命,不断在不同项目之间切换。这种频繁的切换会浪费他们的智力,导致产出低下且质量差。此外,项目管理人员可能会争夺研发人员的时间和资源,不断打断他们的工作,要求他们优先处理本项目的工作。这种管理方式可能会对研发人员造成压力和负担,降低他们的工作效率和创造力。
为了改善这种效率低下的情况,我们需要进行项目梳理和评估,并明确每个项目的优先级。这可以帮助我们更好地管理资源,优化工作流程,并确保最重要的任务能够得到优先处理。这样做可以避免在次要任务上浪费时间,提高整体的工作效率。其次,为了避免多头管理的问题,在虚拟组织中应该尽量确保每个人只与一个项目管理人员对应。
在我们对虚拟组织结构进行调整后,尽管大部分人员已经明确了各自的项目和职责,但仍有一些人面临多头管理的问题。为了解决这个问题,我们计划在时间管理上采取以下措施:
- 将时间切成大块(每块不少于两小时)
- 将这些时间块分配给不同的项目
- 明确每个时间块所属的项目
在调整项目和人员关系后,我们需要对我们的工作习惯进行微调。为了更好地管理需求/任务/缺陷,我们应该建立分级制度,并为不同级别的工作设定不同的响应时间。对于90%以上的工作,及时处理或延迟一小时处理对结果影响不大。然而,一旦我们的工作被打断,接下来的15至30分钟可能会处于低产状态,因此我们需要采取措施来避免这种情况发生,例如尽量减少干扰或集中处理任务。