我们如何改变开发团队以提高工作效率

“您应该将您的公司视为产品”

–大本营首席执行官Jason Fried

公司就像软件。 它必须有用并且还存在一些错误。 您必须对其进行维护,修复其中的错误,然后对其进行重构。 对于团队来说,这是相同的。

我也是软件工程师和工程经理。 当我们的团队很小并且项目数量很少时,事情就非常简单明了。 但是,随着团队的壮大,事情变得更加复杂,我们失去了生产力

为了解决团队中的错误并提高工作效率,我们对工作方式进行了一些更改。 在本文中,我将告诉您我们进行的三项更改以及生产力的提高。 我们变更的关键是“小”小团队,小迭代和小项目

小团队

我们划分了一个团队

截至2018年9月,只有一个团队和六个开发人员,而下个月又有两个新成员加入。 您可能不认为这是一个庞大的团队,但是它足够大以至于我们降低了生产力。

在一个团队中,我们承担着许多职责,例如电子商务网站,购物车,用于管理系统的UI和API,WordPress定制,为非开发人员提供的技术支持等等。 这就像在编程世界中违反“关注分离”。

因此,我们将团队分为两个团队,每个团队三个开发人员。 每个团队都有自己的职责。 结果,对于开发人员来说,他们必须关心系统的哪一部分变得更加清晰。

另外,它降低了通信成本。 在划分团队之前,我们过去通常花更多时间参加会议,例如日常站立,计划和回顾。 会议花了很长时间听大家说。 相反,由于会议只有三位与会者,因此我们现在减少了时间。

如果划分团队,您可能想知道如何在团队之间共享信息。 但是,您不需要了解公司中的所有内容。 您不必广播团队中发生的每个事件。 当您需要了解另一个团队的知识时,只需问问他们。

小迭代

我们在较小的迭代中工作

敏捷开发中,他们需要一到四个星期的冲刺。 以前,我们过去需要花两周的冲刺时间,但是对于我们来说很难估算适合两周的任务。 我们不能总是在冲刺中完成计划的任务。 人类在估算方面非常糟糕。 我估计任务不能超过五天。

因此,我们进行了一周的冲刺。 每周,我们计划可以在三天内完成的任务。 为什么要三天? 这是因为我们不能花所有的工作时间进行产品开发。 我们举行了一些会议,对新技术的研究等等。

我们将任务分解成小的任务,可以在三到四个小时内完成。 挑选一些适合三天的任务要容易得多。 如果每天完成某件事,您会感到很有成就感。 如果您每天说“我仍在为此工作”,则表明任务太重。

小项目

在许多公司中,他们从事耗时六个月以上的大型项目。 追溯到过去,我们还有一些大型项目需要一年的时间才能发布。 当我们从事这些项目时,我注意到了其中的一些缺点。

  • 估计一个大项目是不可能的,因此它总是比预期花费更长的时间。
  • 感觉不到进步感。 感到更加疲惫和无聊。
  • 很难长时间保持高动力。
  • 较大的发行版可能会破坏某些内容,并且由于代码更改行过多而难以发现根本原因。

当我们经历了几个大项目时,我们决定使一个项目尽可能的小。 现在,我们没有任何项目需要超过三个月的时间。 如果我们不能在三个月内完成一个项目,则通过推迟一些功能来缩减范围,然后再进行开发。 一小部分发布肯定比一小部分大发布要好。 尽管每个发行版可能都只是一个很小的变化,但是如果您每周都能感到成功/进步/胜利的感觉,那不是很好吗?