软件研究计划的实施:从理论到实践
在当今的软件开发领域,我们常常面临着诸多不确定性。许多关于软件开发的知识都仅仅是推测性的,市面上充斥着各种声称能创造奇迹的新软件流程、极端的开发方法以及目标不明的新语言隐喻,但却缺乏实证研究来支撑这些新方法。
1. 软件研究的现状与挑战
在现代硬件开发组织中,大约 10% 的开发预算会用于基础研究,例如曾经的 AT&T 贝尔实验室,其在理论领域的研究产生了巨大的知识产权成果,如晶体管的发明,从根本上改变了我们的生活。然而,在软件工程领域,却很难找到类似专注于基础研究的组织。尽管嵌入式软件在新产品开发成本中占据了很大比例,但许多组织仍然将大量资源投入到硬件研究,而对软件研究几乎零投入。
另外,由于缺乏统一的测量标准,我们很难从他人的工作中学习到有价值的经验。例如,一个组织报告称其开发者每天能编写 20 条 C 语句,但我们并不清楚这 20 条语句的具体定义,可能其中包含了大量的注释语句。如果我们盲目地根据这个报告要求自己的开发者达到同样的产出,可能会导致不切实际的期望。
要推动软件研究计划的实施,高层的支持至关重要。成立委员会来研究这个过程往往会扼杀一个新兴的软件研究计划,软件研究应该成为每个部门运营预算的一项重要内容,并建立审计系统以确保资金真正用于研究。
2. 软件研究发展滞后的原因
计算机科学领域的实证研究非常匮乏。计算机科学这个术语本身就有些奇怪,因为其中真正的实证科学成分很少。早期的计算机科学先驱大多来自数学领域,而数学家通常缺乏科学方法的训练,因此计算机科学课程中也很少有教授科学方法论的动力。
软件工程作为一门新兴学科,虽然在世界各地的大学本科和
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



