除非您准备好使用软件,否则不要做任何事情? [丰田原理]

问题描述:

我正在听a podcast。他们在哪里谈到丰田正在使用的原则:除非您准备好使用软件,否则不要做任何事情? [丰田原理]

直到您准备好使用它时,才会做任何事情。

我想这告诉我们看看其他地方,以了解其他做法多年以来已知的。

+0

你的“问题”很可能否决,因为它不包含一个问题描述。 – benzado 2008-09-22 19:45:27

+0

[C2在YAGNI上有更多内容。](http://c2.com/cgi/wiki?YouArentGonnaNeedIt) – 2008-09-21 12:27:46

可能适用于软件建设,但我不知道它适用

如果我们考虑到五周辰lements在“toyota-way of decision making”的基础上,原则是“你如何在做出决定是一样的决策质量的重要”:

[模式幽默ON]

  • 找出什么真的在继续,包括genchi gembutsu。

    除了有时,一个人终于明白了什么是对,当客户在项目结束时向我们解释去;) PM_Build_Swing

  • 了解根本原因解释表面现象,要价“为什么?”五次。

    肯定,但客户端不是在项目过程中有足够的可用;)

  • 广义考虑备选解决方案和开发首选方案的详细理由。

    为时已晚,程序员已经编码像疯子:)

  • 队内达成共识,包括丰田员工和外部合作伙伴。

    哎呀那个程序员已经重新书写了认证系统,即使旧工作正常

  • 使用非常有效的沟通工具做一到四,最好边的一张纸的一个纸。

    您是否听到“powerpoint死亡”?这并不总是我们的强项;) Death by PowerPoint

[模式幽默OFF]

严重的是,由以前的答案说,敏捷理念确实解决一些这方面的核心租户丰田原则。

而且这可能是一个小更丰富,只是“你是不是要去需要它”,在书中“The Toyota way

这样思考是一种很好的敏捷实践。还有一种叫做Test-Driven-Development的东西,它可以帮助你在没有错误的情况下(几乎)获得软件,但是也会产生这样的副作用,那就是你没有使用的任何东西。

一个例子是你自己的收藏类。如果你只需要一个Add方法和一个ToArray方法,那么为什么要用时间去实现Remove和Count方法呢?

所以是的。遵循该原则:)

排序,是的。这是agile philosophy的核心部分。

基本上,在大型设计前期和笨重的规格上,基本上都希望灵活性和响应速度。实现这一目标的最佳方式之一就是只需构建足以满足当前的需求,因为你永远不知道他们什么时候会改变。

有点新旧。它通常被称为“你不需要它”(缩写为YAGNI)(“你不需要它”(非偶像英语中的“你需要它”)。

与执行功能相关联,当你不需要它的问题:

  • 的实施需要时间远离开发是需要的功能
  • 的功能是很难的文档和测试,因为如果你不需要它,谁知道它应该做什么?
  • 保持功能将需要额外的时间
  • 的功能增加了额外的代码,复杂的代码库
  • 的功能可能会产生滚雪球效应,由此来看,其他的功能,你可以再要添加,即使他们”再不需要