通过这些策略在开发团队中获得最佳性能

衡量开发团队的实际绩效和生产率并非易事。 因此,软件开发团队的经理可能很难挑战其团队成员并帮助他们提高绩效。 在Apriorit,我们发现同时使用团队指标和个人指标都可以帮助我们的经理指导他们的开发团队,从而带来了更高质量的工作和更好的沟通。

衡量团队和个人生产力

因为我们采用敏捷方法,所以速度是衡量团队生产力的重要指标。 我们使用此指标来帮助估计下一个Sprint的范围,但是它是有限的。 恰当的例子:领导者无法比较不同团队的速度; 实际上,他们几乎无法比较同一团队在不同时期的速度,因为这也各不相同-人们加入和离开团队,休假和请病假。

Ivan Selikhovkin在有关Scrum的书中指出,速度几乎不能用来预测最终交货时间表。

可以知道交付时间表,不仅因为团队的速度随时间而变化,还因为团队成员在同一冲刺中完成不同的任务。 分析师为下一个冲刺准备任务。 开发人员实施当前范围,测试人员对上一个冲刺中的任务完成质量保证检查,依此类推。 由于这些变量,冲刺的团队速度将不一致,尤其是在生产率方面。

相反,假设团队绩效和项目环境保持不变,我们将更多地依靠挣值分析技术来了解我们是否将在预算范围内按时交付项目。 但是,我们还使用了一种不属于敏捷方法的方法:个人生产力。

Scrum拒绝单个指标,因为它们与方法论核心的团队精神相矛盾。 但是作为软件开发公司,我们需要衡量开发人员的个人生产力,以便制定个人开发计划,提升员工,提前发现问题等。

在评估个人生产力时,我们测量:

  • 在预算范围内工作:超出预算的任务所占百分比以及额外工作时间与所花费的总时间的百分比
  • 计划内的工作:计划外交付的任务的百分比以及与总任务时长相比的平均延迟天数百分比
  • 实施质量:修复错误所花费的时间与完成任务所花费的总时间的百分比
  • 支持质量:质量保证退回的票证(反馈票证)占已处理票证总数的百分比。

通过衡量个人生产力,我们确保我们在个人和团队层面上都保持开发人员的参与度和挑战性。 当开发人员觉得自己是各自领域的专家时,他们将为能力不足的团队认为无法解决的问题找到独特,令人兴奋的解决方案。

建立软件开发团队以取得成功

经理和领导者可以使用这些技巧使他们的软件开发团队参与更具挑战性的项目,从而激发他们的好奇心和竞争力,从而激发他们以最佳水平开展工作。

1.建立不可谈判的价值体系。

我们没有依赖于基于情况,基于项目或基于团队的标准来指导我们的工作,而是制定了七个核心价值:结果,专业性,合作,享受,创新,稳定性/可预测性以及生态。 我们所有的流程-限制,决策,绩效标准,辅导准则-都遵循这些传统的公司价值观。 当经理在团队中遇到新情况时,他或她将运用我们的价值观来确定下一步。

我们还在招聘过程中使用这些价值。 我们不使用智商或情绪智力测试来确定候选人是否合适,而是尝试了解他或她是否认同我们的价值观。 因为这些原则指导着我们的所有流程,所以我们知道,与我们的价值观保持一致的开发人员将是生产型员工。

2.家教初级员工。

新员工需要更高水平的指导。 这就是为什么我们有高级员工辅导初级团队成员的原因。 初级员工通常很有创造力,但通常没有专业经验来制作高质量的作品。 通过向他们提供有关培训和专业技能发展的反馈,保持他们对创造力的渴望至关重要。 然后,我们必须向他们展示如何将这些技能转化为相关经验。

在我们公司,开发人员会根据自己的背景来自己估算任务,从而对任务预算负责。 在开发人员职业生涯的早期阶段,项目开发负责人和项目经理会彻底检查开发人员的每小时估算。 他们可能会与开发人员展开讨论,要求解释,并提供其他信息以获得真实的评估。 然后,项目经理和开发人员根据时间表和优先级设置截止日期。

随着员工的发展,我们给予他们更大的自主权。 它们仍然提供每小时的估算值,但是我们没有对其进行详尽的审查-并且它可以工作。 我们最成功的开发人员是那些以初级人员身份进入公司并完成我们的辅导计划的人员。

3.为团队提供正确的沟通工具。

团队内部的交流不应仅限于会议。 几个漂亮的任务管理解决方案-包括Jira,GitLab和GitHub-在个人和团队级别都具有出色的控制工具。 无论团队使用哪种解决方案,有效的沟通都始于设置任务注册(例如,问题,提议,评论)和管理系统。

年轻,不成熟的团队往往低估了沟通工具和流程的重要性。 他们认为见面并做情境记录就足够了。 但是正确的沟通至关重要,因此团队应该采用现有的沟通平台,在该平台上,所有流程,对象和流程都已经建立,以实现最佳性能。

4.信任团队。

经理知道应该做什么,而开发团队也知道如何做。 一旦团队成员理解了目标,经理们就必须允许他们定义行动计划,并相信他们将在战略上执行。 相反,团队应该相信经理完全知道该做什么并且正确地设置了任务。 没有相互信任,该项目可能会失败。 因此,至关重要的是,双方都不能进入对方的责任范围。

经理要确保正确制定团队计划的一个好方法是应用SMART目标框架,以明确的术语描述任务,并确保结果明确,可测量,可实现,切合实际且基于时间。 在指定任务和SMART目标之后,经理将使用定义的控制方法设置中间控制点,使他们可以跟踪进度并检测过程中的风险。

在项目期间,团队还应创建风险清单。

在每个控制点中,都有三种可能的结果:要么团队获得了预期的结果,要么根本没有“获得”预期的结果,或者几乎达到了预期的结果。 信任团队(而不是经理)来定义每种风险的行动计划。

如何监控特定风险。

例如,假设团队需要实施特定的系统监视功能。 经理描述任务,解释项目环境并交付需求。 团队分析这些需求,执行任务分解,估计每个阶段,并草拟风险清单。 如果团队专家不知道如何实现此功能,则该计划将包括一个研究阶段。 例如,如果实施所花费的时间比预期的长? 在团队确定风险之后,经理将建立一个控制点,与团队一起审查研究结果,并了解它们如何影响进一步的功能开发。

衡量开发团队的生产力和绩效并不容易。

花时间确保选择正确的人员和工具是关键。 专注于找到与公司价值观相符的人并对其进行辅导-然后相信他们会自己建立有效的流程并创建相应的工具来取得成果。