在准备好在软件中使用它之前,请不要做任何事情? [丰田原则]
时间:2020-03-06 14:30:18 来源:igfitidea点击:
我在听播客。在他们谈论丰田使用的原则的地方:
Never do anything until you are ready to use it.
我认为这告诉我们要去其他地方看看,以了解多年来已知的其他做法。
解决方案
像这样思考是一种很好的敏捷实践。还有一种叫做"测试驱动开发"的东西,它可以(几乎)没有缺陷地获得软件,但是还具有副作用,即实现了我们不使用的NOTHING。
一个示例是我们自己的集合类。如果只需要一个Add方法和一个ToArray方法,那么为什么要花时间实现Remove和Count方法呢?
是的遵循该原则:)
是的,是的。这是敏捷哲学的核心部分。
基本上,相对于大型设计和笨拙的规格,更倾向于灵活性和响应速度。最好的方法之一是仅构建足以满足我们当前要求的内容,因为我们永远不知道它们何时会更改。
有点老新闻了。它通常被称为"我们将不需要它"(非偶语英语中的" You Arent'Going to Need It"),并缩写为YAGNI。
不需要功能时与实现功能相关的问题:
- 实现需要花费时间来开发所需的功能
- 很难记录和测试该功能,因为如果我们不需要它,谁知道它应该做什么呢?
- 维护功能将花费更多时间
- 该功能增加了额外的代码,使代码库复杂化
- 该功能可能会产生滚雪球效应,从而暗示了我们可能需要添加的其他功能,即使它们并不需要
它可能适用于软件构建,但我不确定它是否适用
如果我们考虑"决策的丰田方式"中的五个要素,则基于"我们如何做出决定与决定的质量同样重要"的原则:
[幽默模式开启]
- 找出实际情况,包括genchi gembutsu。
Except that sometime, one does finally understand what is going on when the client explain to us at the end of the project;)
- 了解解释表面外观的根本原因问为什么?五次。
Sure but the client is not available enough during the project ;)
- 广泛考虑替代解决方案,并为首选解决方案制定详细的原理。
Too late, the programmers are already coding like madmen :)
- 在团队内部建立共识,包括丰田员工和外部合作伙伴。
Oops that programmer is already re-writing the authentification system even though the old one was working fine
- 使用非常高效的通讯工具来完成一张纸的一到四个,最好是一侧。
Did you hear "death by powerpoint" ? This is not always our strong suit ;)
[幽默模式关闭]
认真地,正如前面的答案所言,敏捷哲学确实解决了这一丰田原则的一些核心租户。
如"丰田方式"一书中所述,只是"我们将不需要它"可能会更丰富一点。