浅谈软件开发中的人,过程与技术

发表于:2010-6-08 11:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:茹炳晟    来源:51Testing软件测试网原创

  摘要:人是软件开发的执行者。过程是软件开发的体制。技术是软件开发的精髓。三者缺一不可,却是以人这个根本原动力为核心的。

  关键字:执行者,体制,精髓,根本原动力

  前言:

  在业界,一种普遍的看法是:人、过程和技术构成了软件开发的“铁三角”。然而,三者孰重孰轻,历来多有分歧。本文拟以此为论题,从科学技术哲学的角度谈一下笔者的看法。

  三者中,过程与技术蕴意颇深,容后再述。我们先看看人:

  一、人:软件开发的执行者

  对于人在软件开发中的作用,笔者的第一印象是:人是软件开发的执行者。这一印象虽不为众多“人本位者”所乐见,在笔者看来却是中肯的。

  “执行者”这个称谓,看似贬低了人的作用,实则不然。须知,执行者不仅包括被认为是业内蓝领的程序员和测试人员,还应该包括荣为白领的项目经理、系统分析师、系统架构师、系统设计师等等。君不见大大小小的各类公司站在前台的一号人物,名何?CEO是也。CEO即首席执行官,或称执行总裁。虽则首席,虽则总裁,也只是一个执行者而已。在公司中,大到CEO,小到普通职员,都是所谓的“劳方”,都是公司意志的执行者。(公司意志即是资本的意志,其间种种,不在本文论题之内,略过不言。)同样的,当讨论领域是软件开发时,上述所有的开发人员都只是软件开发的执行者,执行的是软件项目的意志。何谓软件项目的意志?很简单的两个字——需求。这是有大背景的。目下的经济为市场经济,市场经济的特点就是以需求为中心。需求是生产之母,这是市场的铁律,也是市场化的软件开发的铁律。所以,软件项目的意志只能是需求,在此意志下的所有技术活动(即软件开发)只能是执行这一意志,那么软件开发人员就都是执行者了。当然也有人会提出:“你太片面了,除了软件开发者,还有一类人——提出需求的利益关系人,不也是人吗?所以人不仅仅是执行者,更是主宰者!”遇到这个问题,我们首先要明确现在所论述的领域,是软件开发,而不是软件项目,两者有联系,但是也有区别。就软件开发而言,一切都是从需求开始的,至于提出需求的人,只是被看作需求的来源,是需求分析师们交流的对象,而非开发的一部分。换句话说,如果给软件开发划一条边界,需求提出人在边界之外,只有软件开发人员才在边界之内,也只有他们才是软件开发中的人!

  作为执行者,人的作用是巨大的。所有的开发,没有了人都是空谈。人的素质如何、人的状态如何,人与人的关系如何,都直接决定了软件开发的成败。这样的例子比比皆是,就不一一道来了。这里就拿军队作为比喻。如果将软件开发比做打仗,那么开发者们就是军队中的军官和士兵,哪怕军纪再严明、武器再先进,只要军官差劲,士兵孱弱,那么这支军队就注定失败了。反之,游击队也能打败正规军,小米加步枪也能打败飞机大炮,人的作用可见一斑。

  当然,人再重要,也只是“铁三角”的一个顶点。在软件开发中,过程同样不能忽视,这是因为:

  二、过程:软件开发的体制

  过程是软件开发的体制。此言一出,必遭不满。唯过程论者一定会跳出来痛批笔者偏见。然笔者仍不知悔改,自以为这种说法是最贴切的。

  不满大多是冲着“体制”这两个字来的。在当今的中国大地上,“体制”这两个字带者浓厚的贬义色彩。政府部门腐败丛生,答曰:“这是体制问题”;造导弹的不及卖茶叶蛋的,答曰:“这是体制问题”;中超造反,世界杯淘汰,依旧答曰:“这是体制问题”。不管大事小事,难事易事,出了问题只要推给体制就万事大吉了。反正千错万错都是体制的错,因此你没错我也没错。体制不能改也改不了(真要改了谁做替罪羊啊?),所以错误的体制永远存在,属不可抗力,非人力所能及。

  这里不讨论中国的国情,只是借此理解“体制”两字的分量。其实,说得通俗些……

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/76/n-212876.html

  然而,光有人与过程还是不够的,最后一个关键的因素是:

  三、技术:软件开发的精髓

  要说明技术在软件开发中的作用,就得先说说为什么要有软件开发。软件开发,顾名思义,就是要开发软件。那软件是什么?可执行的程序?可带来利润的产品?都对,但都不够全面。从根本上而言,软件,是技术的载体,是被定制的技术,是技术针对某项特定需求的应用。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号