精益软件开发中的 7 种浪费以及如何防止它们
已发表: 2022-04-18精益流程思维优先考虑消除和减少浪费编译。 尽管大公司采用了“精益”方法,但由于其“明显的性质”,一些标准的“浪费”做法仍然存在。 在采取严格的方法之前,深深烙印在人类和组织实践中的本性是顽固的。
什么是废物?
任何需要资源/时间或精力但在绩效或收入方面没有产生相关结果的东西都被称为“浪费”。
最终,“减少浪费”程序的设计和指导旨在提高团队的生产力和成果。
然而,既然精益软件开发是敏捷的先驱,我们可以在软件工程和开发中采用这七个减少浪费的原则,以产生有效的产品和服务,降低成本,加快产品上市时间。
1. 部分完成的工作
如果以前的工作从未重新开始,那么这种努力就是浪费。
在完成/完成之前的任何工作都不会增加客户的价值主张; 因此,如果搁置,它会浪费时间并挑战维护代码。
一个当代的例子是当客户需要对产品进行修改或额外功能时。 企业致力于紧急完成它们; 开发团队必须停止正在进行的工作并根据要求采取行动。 在同一页面上,如果以前的工作永远不会重新开始,那就是浪费精力。
或者
未编码的文档:要求非常详细,但从未得到实施。
如何减少这种浪费?
- 重点应该是“完成”,而不仅仅是“开始”一个项目。
- 减少在制品的任期。
- 停止等待每个需求的详细规范,直到团队准备好实施这些工作(那时这不会是一个失败的原因)。
2. 额外流程
任何没有传达实用价值并不必要地延长产品上市时间或成就的添加过程或未读文档都是一种浪费。
然而,商业政策通常要求此类文件,有大量文书工作但从未阅读过。 这些努力是奢侈的。
典型例子:
- 不必要的文档细节。
- 没有执行的额外管理或计划。
如何减少它?
组织可以区分什么是失败的原因/努力和什么带来价值,重点应该是产生有意义的结果,并通过限制“数量”工作来引导做更多“质量”工作的努力。
3. 额外功能
任何为/由客户添加但未要求/无助于增加收入的功能或低价值功能都是浪费精力。
企业在添加不会被大量使用或执行的功能时会犯此开发错误; 这个新功能确实处于闲置状态并增加了应用程序的复杂性。
软件 80/20 规则起着重要作用——80% 的用户只使用其 20% 的功能。 因此,重点应该是让这 20% 的功能成为一流的,以留住现有用户。
附加代码有其缺点:
- 增加应用程序的复杂性。
- 可以使潜在的应用程序崩溃点。
- 需要在产品生命周期内进行不必要的跟踪和维护。
如何减少这种浪费?
专注于迭代开发——这意味着在初始产品发布期间,构建强大的主要功能来定义您的应用程序的 USP。

专注于使其功能化并验证学习产品的持续进步。 此外,根据您的市场分析、消费者行为和反馈,继续构建适当的功能。
4.任务切换
当人们不适应并阻碍他们现有的流程时,将他们分配给多项任务可能会花费他们大量的时间。 完成一两项特定任务的最有效方法是一次完成一项。
在任务之间切换时,关闭现有任务并在另一个任务上获得动力需要花费少量时间,这称为上下文切换,如果您期望从一个任务不断转换到另一个任务,这些内容切换会累积,从而延迟“结果”或“交付时间”。
如何减少它?
简单——一次做一件事。
- 减少内容切换。
- 尽量减少干扰或分心。
- 推迟那些不重要的。
- 一次将资源分配为一个项目。
5. 等待/延误
批准依赖关系应主要在产品路线图中进行计时; 如果没有分配特定的时间间隔,请准备好延迟回复和反馈。 延迟也使消费者无法实现产品的实际价值。 但是,作为开发人员或设计师,您必须等待完成工作的批准; 因此,您无法完全避免延时。
你能做些什么来减少这种情况?
- 在等待现有反馈的同时选择/分配一些东西。
- 分配时间输入和审查。
- 考虑快速通话、面对面交谈,而不是通过电子邮件发送更改。
- 定期反馈。
6. 运动
如果开发或研究团队分散了所获得的信息并且没有适当地标记/标记它们,则可能需要很长时间才能消除混乱和加入。 如果每次交付可交付成果时信息都放错了位置; 这将严重阻碍结果。
如何减少它?
- 标签分配或获得的资源。
- 减少反馈时间。
- 面对面的合作。
7.缺陷
缺陷造成的浪费量=(缺陷的影响)x(未检测到的时间)
由于其复杂性,软件开发不可避免地会出现缺陷,但是当它们在执行和修复过程中被延长或因修复或返工而产生的成本影响时,就会出现问题。 此外,主要的代码错误和错误可能会影响和阻碍整个产品生命周期,并使其容易受到安全威胁,从而造成数百万的收入损失。
你能做些什么来减少这种情况?
- 立即测试。
- 不断整合。
- 产品测试并尽快发布。
