从项目管理的角度来看,TDD 有什么好处?

What's the benefits of TDD from project management point of view?

谁对 TDD 了解得更深,我清楚地看到从软件工程的角度来看先写测试的好处。有人能告诉我,当我提出切换到 TDD 的想法时,我应该对我的项目经理说什么吗?

TDD 在项目管理层面有哪些好处?

项目经理适用于 TDD 有很多优势。

  1. 臭名昭著的错误会导致项目无法按计划进行。事情似乎进展顺利,直到项目结束,这时开发人员和 QA 团队开始一起寻找并解决所有这些问题。发现需要进行重大重构、耗费时间和资源的问题并不少见。 TDD 通过从开始和整个项目中强制执行测试来帮助缓解这种情况。它不会捕获所有错误,但列表将更易于管理,这让项目经理非常高兴。

  2. 通过适当的工具,项目经理可以使用 TDD 跟踪生产力和代码质量。她可以随时查看项目的状态,因为它适用于正在编写的测试,以及通过和失败的数量。这个量词帮助项目经理衡量开发人员以及整个团队在项目中的位置。项目经理喜欢这种东西

  3. TDD 帮助项目经理确定团队可能薄弱或表现不佳的领域。如果您的开发人员工作不顺利或跟不上进度,他会及早知道并可以在问题开始影响产品进度之前解决问题。

Here's 一篇关于该主题的不错的文章。

要说服项目经理采用 TDD 并不容易,开发人员甚至可以在不通知 PM 的情况下使用 TDD。

但我想这些观点可能会有所帮助:

  1. 它为您提供 100% 的代码覆盖率,从而降低了错误的可能性(只是减少,但根本没有消除)。
  2. 它促使您遵循 YAGNIE 原则,因此您不会编写任何您现在不需要的代码。
  3. 它可以帮助您减少甚至消除过度设计、过度复杂化和过早优化。