我们是一个小团队(3个开发人员),我们的一个主要客户即将提交一堆新的特性请求和一个后续的项目,以获得成本和交付时间的估计。我们和他们的最后一个项目是“成功”,因为他们会回到我们身边,但我知道我们本可以做得更好(我们使用瀑布.测试是一种事后考虑,因此,单元测试代码的覆盖率要比我们感到舒服的要低得多,更不用说无休止的“我们几乎完成了”问题)。
我刚刚读完了“单元测试的艺术”和“有效地使用遗留代码”,我在工作之外的一个宠物项目上使用了TDD,现在我再也不能回到瀑布里去测试了。
我想知道的是,对于非开发人员来说,是否有很好的“容易消化”的视频可以清楚地展示TDD和敏捷实践在业务上的好处?如果有任何10分钟以下的视频,我会非常高兴,但我也可以使用更长的视频(我将参考它们中的一个时间索引)。如果没有好的视频,那么书面的来源是次好的事情。
我只想让他们加入我们的行列,并对这一转变感到非常兴奋。
对我来说,这不是一个‘只做它’的选择,因为对于其他两个开发人员来说肯定会有一个学习曲线,毫无疑问,第一批迭代可能会有压力和颠簸,需要与我们的客户进行沟通。
我已经回答了我自己的问题,我发现了一些视频,因为我问了这个问题.它们对于我的使用来说并不完美,但是如果没有人知道更好的,那肯定是我的B计划。
发布于 2009-10-21 23:23:07
技术债务扼杀了速度。因此,我想在“已履行”的定义中列入“没有增加技术债务”的定义。没有这个,你就不可能达到可持续的速度。下面的图片说明了这一点(从Henrik的技术债务-如何不忽视它演示文稿中借用):
alt文本http://img27.imageshack.us/img27/329/screenshotkq.png
对我来说,所有这些事情都是显而易见的,你甚至可以用数字来证明它(通过测量时间的速度)。向客户解释这些概念,向他解释TDD是允许控制技术债务的技术之一。那么,让他选择(或者为他选择)。
发布于 2009-10-21 21:17:14
你的客户为什么会注意到过渡到TDD?压力大,颠簸;怎么会这样?
告诉客户端为什么要升级到TDD。我相信这些理由对他们来说和对你一样有说服力。对我来说,TDD首先意味着对你生产的产品有更大的可靠性。
你的客户肯定记得你上一个项目的所有回归和手工测试吗?
发布于 2009-10-21 21:17:26
我不知道你有什么具体的插图(网络上充斥着文章和博客,但我不知道任何视频),但你几乎回答了你自己的问题.
我们用瀑布..。测试是经过深思熟虑的,因此单元测试代码的覆盖率远远低于我们所感到的舒服,更不用说无休止的‘我们几乎完成’的问题了。
你只需要对你的当事人诚实。向他们解释您在上一个项目中使用的项目方法在灵活性、可维护性和您自信地为他们提供质量代码方面的成本。向他们解释TDD是如何解决这一问题的,并解释说,由于使用了新的方法,您预计起步会更慢。
为他们说明,尽可能具体,他们将得到什么,这应该是一个容易推销。然而,我会更多地从“这是我们计划做的事情”的角度来处理,而不是“我们能不能这样做?”角度。给他们这样的印象(而不是不诚实),你已经在计划这样做了,对这个计划的任何改变都会给你和你的团队带来不便,并且可能会使他们失去生产力。
https://stackoverflow.com/questions/1603648
复制相似问题