软件行业总在做无用功?

博文小编

2024-04-10

本文摘自《软件开发珠玑:穿越50年软件往事的60条戒律》一书。

当我还在柯达公司工作时,公司举办了一次年度内部软件质量大会。

有一年,我受邀担任大会策划委员会成员。

我要求查看公司这项会议的流程手册,以了解如何策划和举办这次会议。

他们的回答是 :“我们没有。”

我当时感到非常震惊。

在我所能想到的各种团队中,我认为由质量和过程改进专家所 领导的团队应该是最擅长积累流程、清单和从过去经验中吸取教训的。

这种资源在你有一个年复一年不断更迭的人员组成时特别有价值,就像我们当时一样。

策划团队每年都必须重新考虑如何策划和举办会议,从头填补所有空白。

多么低效啊!(参见《软件开发珠玑》一书经验教训 7。)

在我担任委员会成员的那一年,我们开始编写一本流程手册。

我只能希望后来参与会议的人员能参考这份资源并保持其更新。这段经历突显了软件行业中一个非常普遍的现象 :人们总在一个项目一个项目地重复过去的错误(Brössler, 2000 ;Glass, 2003)。(某些作者经常在他们的书中引用哲学家 George Santayana 的名言 :“遗忘过去必将重蹈覆辙。”但我在这里不会这么做。)

我们有无数关于软件行业最佳实践和各种主题教训的图书——包括《软件开发珠玑》一书。

关于软件工程和项目管理的各个方面,已有大量的文献。然而,许多项目仍然陷入困境,因为它们没有实践我们所知道的一些有助于项目成功的活动。

学习之益

Standish Group 自 1994 年以来,每隔几年就会发布一次其 CHAOS 报告。

CHAOS 不是一个单词,而是一个巧妙的缩写,意为原创软件的综合人力评价(Comprehensive Human Appraisal for Originating Software)。

基于数千个项目的数据,CHAOS 报告显示了最近项目中成功、以某种方式受挑战或失败的百分比。

成功的定义是,在大致按时、按预算完成的基础上,实现客户和用户满意度(Standish Group, 2015)。

CHAOS 报告的结果多年来一直在变化,但完全成功的项目比例仍然难以超过 40%。

也许更令人沮丧的是,年复一年,部分相同的因素导致了受挑战和失败的项目。

结果的观察模式是通往新工作范式的一条途径。例如,分析瘫痪和长期项目中过时的 需求有助于推动渐进式开发。一些 CHAOS 报告数据显示,敏捷开发项目的平均成功率高于瀑布式开发项目(Standish Group, 2015)。

一名初级程序员与一名熟练软件工程师之间,还有着巨大的鸿沟

软件开发不同于其他技术领域,因为至少在某种程度上,在这个领域可以通过较少的正规教育和背景来进行工作。

没有人会请一位业余医生为他们摘除阑尾,但许多业余程序 员能具有足够多的知识来编写小型应用程序。

然而,一名初级程序员与一名能够与他人合作执行大型复杂项目的熟练软件工程师之间,还有着巨大的鸿沟。

如今,许多年轻的专业人士通过计算机科学、软件工程、信息技术或相关领域的学术项目进入这个行业。

无论是接受正规教育还是自学,每位软件专业人士都应该持续补充不断增长的知识体系,并学会如何有效地应用。

软件领域的许多方面变化迅速。跟上当前技术的发展步伐就像在跑步机上奔跑。

幸运的是,像我在这里收集的见解,随着时间推移,仍具持久性。

每个软件组织都会积累一套非正式的、基于经验的本地化知识。

我建议组织将这些从痛苦经历中获得的知识记录在一个经验教训的收藏集中(Wiegers, 2007),而不是以口头的传统形式在篝火旁传播。

谨慎的项目经理和软件开发人员在开始新的努力时,会参考这些收集到的智慧。

思考之益

在我职业生涯初期当研究科学家时,我认识了一位名叫 Amanda 的科学家。

当 Amanda 开始一个新的研究项目时,我有时发现她会靠在办公室椅子上,盯着天花板。她在思考。

Amanda 认真研究公司的内部技术文献,了解与类似项目有关的信息。

在开始实验之前,她会尽可能多地了解问题领域以及过去哪些方法奏效,哪些方法没有作用。

Amanda 的实验耗时又昂贵 ;她不想走错方向。她对先前研究的钻研使她成为一名高效的科学家。

对 Amanda 的观察让我认识到了在一头扎进一个新项目前,先从行业历史及内部经验中进行学习的重要性。

《软件开发珠玑》的第7章讨论了软件过程改进。个人、项目团队和组织都需要不断提升他们的软件工程和管理技能。

五级过程成熟度模型的初始目标是建立可以从一个项目到另一个项目,从一个团队到另一个团队复刻成功的过程。

无论组织选择哪种特定的方法论或框架来构建其改进工作,我相信每个软件开发组织都希望能够取得持续的成功。

更多软件开发中的戒律可参见《软件开发珠玑》一书!

如果你想在软件开发和管理领域积累更多经验,那么《软件开发珠玑》这本书绝对是你不可错过的宝藏。

读者评论

相关博文

  • 社区使用反馈专区

    陈晓猛 2016-10-04

    尊敬的博文视点用户您好: 欢迎您访问本站,您在本站点访问过程中遇到任何问题,均可以在本页留言,我们会根据您的意见和建议,对网站进行不断的优化和改进,给您带来更好的访问体验! 同时,您被采纳的意见和建议,管理员也会赠送您相应的积分...

    陈晓猛 2016-10-04
    5437 739 3 7
  • 迎战“双12”!《Unity3D实战核心技术详解》独家预售开启!

    陈晓猛 2016-12-05

    时隔一周,让大家时刻挂念的《Unity3D实战核心技术详解》终于开放预售啦! 这本书不仅满足了很多年轻人的学习欲望,并且与实际开发相结合,能够解决工作中真实遇到的问题。预售期间优惠多多,实在不容错过! Unity 3D实战核心技术详解 ...

    陈晓猛 2016-12-05
    3302 36 0 1
  • czk 2017-07-29
    5874 28 0 1