代码之家  ›  专栏  ›  技术社区  ›  shipmaster

向团队出售TDD[关闭]

  •  8
  • shipmaster  · 技术社区  · 16 年前

    我做TDD已经三年了。我们是一家小公司,我们从管理层那里对敏捷过程的大多数方面都有非常可靠的支持。开发团队的每个人都在这个过程中被出卖了。因此,人们接受了建造固定装置通常需要的前期投资,因为他们知道这一过程会有回报。(启动HTTP服务器的代码、测试前填充SQL数据库的代码等)。文档大多发生在测试中,帮助请求通常以失败测试的形式呈现。

    现在我搬到了一家更大的公司,虽然管理层支持敏捷过程,但团队成员是一个混合包,他们中的一些人认为这很有用,有些人认为这是因为管理层,有些人认为这没有价值。要说服人们花些时间建立固定装置,或者说服一个团队成员,如果他花时间写了一个失败的测试,我最好的方法来帮助他,这是一个挑战。

    那么,你认为向犹豫不定的队友出售TDD的最佳方式是什么?反对意见通常是:“这是一个不必要的成本”,“我们总是可以在重要部件的事实之后编写测试”,“这是一个时髦的词,团队会拿起它,然后随着繁重的工作开始,它会落到一边”等等。

    6 回复  |  直到 9 年前
        1
  •  21
  •   S.Lott    16 年前

    “向犹豫的队友出售TDD的最佳方式”

    你不能。不要浪费时间“推销”。

    相反,在“证明”上投入时间。

    想做就做。成功。当人们问你成功的秘诀是什么时,就要揭示TDD。不是以前。

        2
  •  3
  •   hvgotcodes    16 年前

    简单——可维护性。TDD使您能够进行更改,并查看这些更改对其余代码的影响。代码库越大,就越有必要进行测试来验证任何新的更改。

    正确性。尽管测试本身可以被破坏,但最终它们会到达一个点,在这个点上它们确保组件正在做它们应该做的事情。开发人员越优秀,速度越快。

    另一个优点是TDD通知系统中组件的设计。如果您试图测试某个东西,而测试太复杂,这可能意味着您需要将问题分解为更小的部分…

    要向人们销售它,您会说,从长远来看,它使添加新功能变得更便宜,并降低了破坏现有功能的风险。所以它降低了成本。

        3
  •  2
  •   Matthew Sposato    16 年前

    对于犹豫的队友,要有耐心,等待机会,然后突然袭击。在软件开发中,无疑会有一个问题,在这个问题上,TDD可以预防或缓解这个问题。注意这样的机会。与他/她一起创建一个从一开始就应该开发的测试。但是,要确保你的信息以一种不会让你的队友难堪的方式表达出来。

        4
  •  2
  •   Community Mohan Dere    9 年前

    我同意 S. Lott 你不能“出售”它们,你需要展示它的价值。

    最有效的方法之一就是使用成对编程。当然,你还有另一个“销售”问题,那就是让人们相信配对是一种有效的方法,但一段时间后,你可能会说服/转换开发人员,或者也会说服/转换开发人员。

    TDD最初对我来说是一个很难理解的概念,但现在我不能用任何其他方式对程序进行成像。

        5
  •  1
  •   Wayne Werner    16 年前

    我想 Joel's post 很好地解释了为什么测试是一件好事。

    我认为他从来没有用过“tdd”这个词,但它有一些很好的信息。

        6
  •  0
  •   PositiveGuy    9 年前

    向他们展示这个网站: WeDoTDD.com -实际的公司团队用例。那些在真正的公司里成功实践TDD的人。

    推荐文章