最新国际论文揭示软件开发之9种浪费

七夕那天,碰到了一首浪漫的歌曲 ——

……

有的是很多资源

我有的是很多时间

不去爱才是浪费 多不对

没关系你也不用给我机会

反正我还有一生可以浪费

……

“我”肯“浪费”一生去爱,而且不求对方回应,OMG!这难道不是单相思嘛?

而现实在呼唤,呼唤 —— 醒来,醒来,想一想software开发里面的浪费吧!客户不会犯“单相思”的毛病,绝对不会浪费一分钱给任何蹩脚不好用的程序。

软件开发是一项复杂的 会性技术 (socio-technical) 活动,它要求协调不同的角色、技能和资源,于是它留给大家大量的浪费机会!

浪费就是对客户或用户没有价值的活动。

早在1988年,日本丰田的首席工程师Taiichi Ohno大野耐一在其专著《Toyota Production System》里面指出了以下的1~7种Muda (日语浪费),其大获成功的精益生产系统就是建立一种企业文化,在整个生产系统中发现并消除浪费,真正做到Just-In-Time和精益生产。TPS随后被各国生产制造企业膜拜和仿效,同时也被大量学者研究并拓展着,例如1996年和2004年分别有两位学者J. P. Womack和J. Liker就各加入了一种浪费类型,见下图8、9:

《精益软件开发》一书是Mary Poppendieck & Tom Poppendieck夫妇于2003年出版的。本书使精益原则及常用的精益工具箱逐步被敏捷软件开发 区广泛接受。

精益开发之Top One原则就是消除浪费。业界一直在研究软件开发中的浪费类型及根源,通过类比生产系统中的浪费,总结出了7种软件开发中的浪费:

今年5月IEEE上公布了一篇软件工程国际会议论文《Software Development Waste》,再次利用详实的研究数据,分析和总结出软件开发中的9种浪费。

三位美国学者为此耗时两年零五个月,亲身参与并观察了一家成功的软件工程咨询公司Pivotal Labs的8个软件开发项目,采访了33名敏捷软件工程师、交互设计师、产品经理,并且分析了91次Retro回顾会议的所有议题。

Pivotal Labs是个颇有业界影响力的敏捷开发组织,先了解一下它的背景吧。它以敏捷小团队为单位帮助其他公司交付高质量的软件产品,同时帮助客户开发部门进行工程文化的转型。Pivotal Labs开发团队积累了近20年的XP核心实践开发经验,包括结对编程,TDD,重构,每周Retro,每日站会,排好优先级的backlog,团队代码所有制。

它将客户方的软件工程师和Pivotal的工程师们组合在一个Pivotal的办公室,使他们在一个成熟的敏捷开发环境中体验XP。非常有趣的是,他们每个组每周五下午的Retro先按照白板上的3种表情符 (happy, neutral, sad) 列出任何议题,再投票选出议题,然后60分钟讨论加上创建actions。三位研究者积累了所有Retro议题并进行分类,例如:

此处省略几千字……三位学者根据成熟的理论模型收集和分析数据,最终归纳出9种软件开发的浪费,论述真实而具体,震撼每个ITer,我不得不翻译出来:

理解浪费及其原因只是减少浪费并减轻其影响的第一步。更重要的是,团队还要持续探索和改进:如何用行动和反馈闭环来识别、管理和减少这些浪费?

参考文献:

1. Software Development Waste,International Conference on Software Engineering (ICSE 2017), At Buenos Aires, Argentina

2. Lean software development From Wikipedia

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年8月3日
下一篇 2017年8月3日

相关推荐