除非您准备好使用软件,否则不要做任何事情? [丰田原理]
我正在听a podcast。他们在哪里谈到丰田正在使用的原则:除非您准备好使用软件,否则不要做任何事情? [丰田原理]
直到您准备好使用它时,才会做任何事情。
我想这告诉我们看看其他地方,以了解其他做法多年以来已知的。
它可能适用于软件建设,但我不知道它不适用
如果我们考虑到五周辰lements在“toyota-way of decision making”的基础上,原则是“你如何在做出决定是一样的决策质量的重要”:
[模式幽默ON]
-
找出什么真的在继续,包括genchi gembutsu。
除了有时,一个人终于明白了什么是对,当客户在项目结束时向我们解释去;)
-
了解根本原因解释表面现象,要价“为什么?”五次。
肯定,但客户端不是在项目过程中有足够的可用;)
-
广义考虑备选解决方案和开发首选方案的详细理由。
为时已晚,程序员已经编码像疯子:)
-
队内达成共识,包括丰田员工和外部合作伙伴。
哎呀那个程序员已经重新书写了认证系统,即使旧工作正常
-
使用非常有效的沟通工具做一到四,最好边的一张纸的一个纸。
您是否听到“powerpoint死亡”?这并不总是我们的强项;)
[模式幽默OFF]
严重的是,由以前的答案说,敏捷理念确实解决一些这方面的核心租户丰田原则。
而且这可能是一个小更丰富,只是“你是不是要去需要它”,在书中“The Toyota way”
这样思考是一种很好的敏捷实践。还有一种叫做Test-Driven-Development的东西,它可以帮助你在没有错误的情况下(几乎)获得软件,但是也会产生这样的副作用,那就是你没有使用的任何东西。
一个例子是你自己的收藏类。如果你只需要一个Add方法和一个ToArray方法,那么为什么要用时间去实现Remove和Count方法呢?
所以是的。遵循该原则:)
排序,是的。这是agile philosophy的核心部分。
基本上,在大型设计前期和笨重的规格上,基本上都希望灵活性和响应速度。实现这一目标的最佳方式之一就是只需构建足以满足当前的需求,因为你永远不知道他们什么时候会改变。
有点新旧。它通常被称为“你不需要它”(缩写为YAGNI)(“你不需要它”(非偶像英语中的“你需要它”)。
与执行功能相关联,当你不需要它的问题:
- 的实施需要时间远离开发是需要的功能
- 的功能是很难的文档和测试,因为如果你不需要它,谁知道它应该做什么?
- 保持功能将需要额外的时间
- 的功能增加了额外的代码,复杂的代码库
- 的功能可能会产生滚雪球效应,由此来看,其他的功能,你可以再要添加,即使他们”再不需要
你的“问题”很可能否决,因为它不包含一个问题描述。 – benzado 2008-09-22 19:45:27
[C2在YAGNI上有更多内容。](http://c2.com/cgi/wiki?YouArentGonnaNeedIt) – 2008-09-21 12:27:46