软件开发过程中的浪费

精益制造要去除整个生产过程中的各种浪费活动,那么精益软件开发就要去除软件开发过程中的各种浪费活动。

那么,软件中的浪费活动有哪些呢?下面参考精益制造中的浪费活动总结一下软件开发过程中的浪费活动。

  • 开发客户不需要的功能

有一种质量的定义就是要恰好满足用户的需求,既不能多,更不能少。可是对于一些技艺高超的人来说,他们在完成用户的需求之后,可能出于炫技或者自以为是为了用户着想而开发了一些用户本没有要求的功能,这就是软件开发过程中的一种浪费。

如果这个功能真有必要,那应当在需求开发的时候就提出来,并且得到用户的确认。

  • 多任务交叉

软件开发人员同时承担多个任务,这是软件开发过程中常见的一种浪费活动。经验数据表明,让软件开发人员在多个任务之间进行切换要比专注于一件事情,浪费更多的工作量,开发效率大大的降低。

  • 等待时间过长

如果没有一个合理的软件开发流程,就可能会造成软件开发人员有很长的、没有意义的等待时间。比如:如果一个评审活动事先没有组织好那么就可能会是评审活动不能如期举行;如果没有一个胜任的评审组织者,评审活动就不能高效地进行。如果一个配置管理流程没有做好分级控制,或者没有好的配管工具的支持,开发人员等待配置管理流程的时间也会很长。如果没有给测试人员均衡、合理地安排任务,所有的测试活动都到软件开发的后期才进行,那也会是使测试人员有很多无意义的等待时间。

  • 过度测试

软件测试能够发现软件中存在的缺陷,提高交付质量。但是软件测试应以满足软件的质量需求为准,过度测试也是一种浪费。软件测试何时终止最为合适,可以参考《测试要发现多少个错误才终止?》。

  • 让有瑕疵的工作产品流入下一流程

按照GJB5000标准的要求,验证和确认过程应当在整个软件开发过程中进行。如果让有瑕疵的工作产品进入下一流程,比如软件需求规格说明还有很多问题就开始了设计过程,那么就可能在后续的设计和开发过程中发生很多需求变更,给软件开发过程造成巨大的浪费,同时前面所做的不合格的需求验证和确认的活动也是一种浪费。

  • 没有充分发挥软件人员的创造力

开发人员的创造力既可以使得开发出来的软件产品具有更高的质量水平,也可以使软件开发过程更加简洁、快速和有效。而如果没有把开发人员的创造力发挥出来,那就是一种巨大的浪费。

  • 从事没有价值的活动

每个开发人员都愿意把自己的时间和精力放在提高软件产品质量上,但是没有一个人愿意去做一些没有价值的毫无意义的活动。作为软件开发流程的制定者,要尽可能地优化软件开发流程,去除一些没有意义的步骤和中间产品,让软件开发人员把精力都集中到提高软件产品质量上来。

这正是:

精益制造美于前,精益开发随后边

去除浪费多增效,制造经验可借鉴

参考书目:丰田模式(实践手册篇):实施丰田4P的实践指南,作者:【美】莱克(K. Liker, J.),【美】梅尔(Meier, D.),译者:王世权,出版社:机械工业出版社

(0)

相关推荐

  • 软件开发成本测量之软件项目规模和工作量测量

    从软件开发成本度量的角度来看,在完成了对软件项目的规模.工作量和成本的估算后,并不意味着度量工作的结束.相反,在整个软件项目的生命周期中,还需要持续不断地对软件成本进行测量和分析.这些测量和分析的工作 ...

  • 在直播源码软件开发过程中需要什么必需的功能?

    直播源码受欢迎的同时,直播源码更是突飞猛进.直播源码是全面兼容Android.iOS和pc端应用的UGC型直播平台源码程序,不仅迎合了当今娱乐直播潮流,而且开源直播源码支持二次开发,可应用于不同行业领 ...

  • 国家标准中的软件开发过程包括数据迁移和软件维护吗?

    数据迁移是指旧系统升级为新系统时,将其使用期间积累的大量珍贵历史数据进行清洗.转换,并装载到新系统中的过程. 软件维护是指根据用户需求和服务级别协议的承诺,向对方提供纠正性维护.适应性维护.完善性维护 ...

  • 教育系统源码:在线教育软件app开发过程中需要注意什么

    近年来,我国的教育行业的发展是有目共睹的,社会要想不断进步,就需要有教育的支撑和保障,而且企业要想在激烈的竞争中处于有利地位,就要不断学习以适应时代的发展.而线下教育的局限性比较大,所以进行在线教育软 ...

  • 汽车电子控制系统中的软件开发过程

    如今的汽车越来越智能化,无人驾驶亦非遥不可及,届时人们只需要坐在车里休闲喝茶即可到达目的地.然而,在智能汽车的内部却是人们察觉不到的密密麻麻的线路以及无处不在的电子起件在工作,这就是汽车的" ...

  • TRIZ在软件设计中的思考

    TRIZ是在创新领域应用非常广泛的方法,特别是硬件设计领域的创新发挥很大作用.其中:基于39个工程参数的39*39矛盾矩阵,是专门针对硬件领域的总结.通过查表可以查到对应的40个发明原则. 在软件领域 ...

  • 软件开发过程

    软件开发过程

  • 傅里叶分析在测量软件Quindos中能发挥多大价值

    什么是傅里叶变换? 傅里叶变换的目的是可将时域上的信号转变为频域上的信号,随着分析域的不同,对同一个事物的理解角度也就随之改变,因此在时域中某些不好处理的地方,在频域就可以较为简单的处理. 我们就不上 ...

  • 产品开发过程中的沟通语言(common sense)你知道哪些?

    书本里的术语工厂里的术语定位环/定位圈法兰/定位导圈复位杆扶针/回针/复位顶针限位钉垃圾钉/顶针板止停销内六角螺栓杯头螺丝/内六角沉孔螺丝定模前模/A模/母模肉动模后模/B模/公模肉滑块行位型芯钶/模 ...

  • 【英语】CG猎人英语教程第001期-软件界面中的英语I

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 专栏导读 很多初学者都被英语的软件界面吓到,特别是houdini这种没有中文版本的软件.但是即使是maya和cinema4D等已经有官 ...