写点什么

速览:软件开发中的 7 大浪费

  • 2009-08-13
  • 本文字数:920 字

    阅读完需:约 3 分钟

精益软件开发的基本原则是追求浪费最小化。TPS 总结了制造业的 7 种主要浪费,而 Poppendiecks 已经把它们引入到我们软件开发的领域中。Jack Mulinsky 最近在 agilesoftwaredevelopment.com 上发表了系列文章对这些浪费进行一一介绍。

该系列文章的第一篇讨论了 **部分完成工作 ** 这一浪费。软件中的这种情况相当于精益制造业中的“进行中的清单”,Mulinksy 认为这是所有浪费中最极品的部分。他对“进行中的工作”这种浪费归纳如下:

  • 已完成但尚未签入的代码
  • 没有相关说明文档的代码
  • 未测试的代码
  • 没人使用的代码
  • 被注释掉的代码

第二篇文章中,参考那个众所周知的统计数据:在现有的软件应用程序中,多达三分之二的功能几乎或从未被使用过,Mulinsky 提出 **额外的功能 **(制造业中的“生产过剩”)这一浪费。除此之外,他还指出什么是直接浪费(开发的花费而不是人员)以及什么是间接浪费(更多的功能意味着更多的代码以及更高的维护复杂度)。

Mulinsky 的第三篇文章关注的是软件 **再学习/ 返工 ** 的浪费,这对应于精益制造业理论中的“额外处理”这一浪费。他用了这样一些浪费的例子来描述了他的想法,包括:

  • 糟糕的计划
  • 低劣的质量
  • 在不同的任务间切换
  • 不足的沟通和知识积累
  • 没有相关说明文档的代码

这一系列中的第四篇(写此文时最新的部分)讨论的是 **交接 ** 带来的浪费,软件中的交接相当于制造业中的“运输”。他提到了以下一些可能产生浪费的技术方面的例子:

  • 开发人员之间的代码交接
  • 开发人员和测试人员间软件的交接
  • 软件从开发到部署的交接

Mulinsky 应该很快会继续其余 3 个软件浪费的话题:在不同的任务间切换延期缺陷。软件浪费这一概念,是由 Mary Poppendieck 和 Tom Poppendieck 在他们两本非常出色的精益软件方面的书《Lean Software Development: An Agile Toolkit for Software Development Managers》和《Implementing Lean Software Development: From Concept to Cash》中提出的。如果这是你和这一概念的第一次亲密接触,敬请期待 Mulinsky 的后续大作。

同样,对那些很熟悉这些观点的朋友们,不妨分享一下你们觉得浪费是怎么在软件开发中产生的,你们又是如何消除它们的?这会对大家都有很帮助。

查看英文原文: A Quick Look At The 7 Wastes of Software Development

2009-08-13 09:334894
用户头像

发布了 114 篇内容, 共 36.8 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

【墨菲安全实验室】Smartbi未授权设置Token回调地址获取管理员权限

墨菲安全

网络安全 安全 BI

【墨菲安全实验室】 Apache Airflow Drill Provider < 2.4.3 存在任意文件读取漏洞(CVE-2023-39553)

墨菲安全

Apache 网络安全 安全 漏洞 apache 社区

使用FTP文件传输协议的潜在风险

镭速

文件传输协议

生成式AI在电信行业的有所为与有所不为

百度开发者中心

人工智能 文心一言

生成式AI助力人工智能下半场

百度开发者中心

人工智能 百度文心一言

使用 Amazon MemoryDB for Redis 作为 JuiceFS 的元数据引擎

亚马逊云科技 (Amazon Web Services)

Amazon

ByConity 首次 TPC-DS 测试结果发布 & 新活动邀请!

字节跳动开源

大数据 开源 字节跳动 数仓 社区

React和Vue的区别,大家怎么看?

FinFish

Vue React 小程序容器 混合app

生成式AI发展前景展望:创新、应用与市场规模

百度开发者中心

人工智能 百度文心一言

生成式AI:未来内容产业的变革力量

百度开发者中心

人工智能 百度文心一言

2023-08-14:用go语言写算法。给出两个长度相同的字符串 str1 和 str2 请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化 后变成字符串 str2 每一次转化时,你可以将

福大大架构师每日一题

福大大架构师每日一题

鱼龙混杂的网络营销行业:入行新人如何规划职业

石头IT视角

软件测试/测试开发丨Python 模块与包 学习笔记

测试人

Python 程序员 软件测试 测试开发

SpringBoot有几种获取Request对象的方法?

王磊

java面试

生成式AI:人工智能新生产力

百度开发者中心

人工智能 百度文心一言

软件测试/测试开发丨Python 虚拟环境及pip环境管理

测试人

Python 程序员 软件测试 测试开发

SaaS出海:黄粱易得,黄金难收

ToB行业头条

面部表情识别研究:解读情绪的密码

数据堂

RHG之人工智能漏洞挖掘

云起无垠

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配算法

IT工程化,提升数科公司运营能力

用友BIP

数科公司

OpenHarmony Meetup 广州站 OpenHarmony正当时—技术开源

OpenHarmony开发者

OpenHarmony

软件测试/测试开发丨Python 常用第三方库 yaml

测试人

Python 程序员 软件测试 测试开发

更方便的集成使用!IoTDB plugin 上线 Grafana 官网!

Apache IoTDB

如何选择最佳的文件传输协议?(FTP、TFTP、Raysync)

镭速

文件传输协议

面部表情识别技术的伦理问题与应对策略

数据堂

学习Java 8 Stream,提升编码能力!

互联网工科生

Java stream Java11 Stream API

面部表情识别:心理学与计算机科学的交汇点

数据堂

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配

速览:软件开发中的7大浪费_研发效能_Mike Bria_InfoQ精选文章