< 序言 >
————
几年前,当我确定我的发展方向是软件开发时,给自己订下的三步曲是:软件编程、软件设计、软件工程。随着对既定目标的越来越近的时候,我却出现了一种困扰我的忧虑。
记得两年前开始的一个正规的软件项目,我是一个程序员,项目就像一颗种子一样渐渐得长成了一棵大树,按道理来说,看到如此成果应该会有一些成就或是自豪。可是我却感到了一种忧虑,人在项目当中究竟是什么呢?现代科学的软件管理让软件开发变成“软件工厂”,其中的人就像一个被催眠了的机器人,我被定义成一个部件,一个资源,任凭别人的调度和摆布。没有想法,机械地在一个生产线上执行着已被他人安排好的流程和工作,我的想法和主张完全被格式化的条款规定一个狭窄的框架中。我完全就是一个“奴隶”,我开始怀疑所谓的软件工程。
后来,我逐渐成长起来,并成为一个项目经理,有一段时间,我开始同时从事三个项目,一个项目中任系统分析,一个项目中任项目管理,一个项目中任售前技术负责。还要和一个朋友专研电脑游戏技术。在第一个项目中,有两个程序员接收我的分析结果,我把系统分析的详细设计写到了流程图和伪代码,他们负责实现,我负责解释。在第二个项目中,我有五个人员供我调配,在项目初期,我分配两个人做需求调研,另外三个人做技术准备,需求确定后,我分配一个人解释需求,我和另一个搞需求的人做数据模型和详细设计,而那三个人开始进行技术环境和基础框架程序准备,一切都是按照软件工程所定义的实施,文档和程序大量的出现,一切尽在掌握当中。
这是我平生以来工作强度最大的时期,每天我都要工作到凌晨三点,第二天八点就得起床上班。连续持续了两个月后,每当我看那些曾经和我一样的人,我有一种负债的感觉,我干了什么啊?他们是活生生的人啊,但他们却被我变了一个部件,一台机器。而我变成了“奴隶主”。
我开始以政治家的口气对自己说:“做一个好的软件,就得这么做,收起你的同情心吧,现实一点”。但我却无法停止困惑、开始自我遣责,难道这就是我要的软件工程?ISO-9000、CMM、大学时所学的软件工程,就是要把人当成一个资源、一个部件、一台机器?最近半年,我经常为这个问题所困扰,这完全就是奴隶主和奴隶的体制,我怀疑我生活在历史书中所描述的强权统治社会。
两周前,一个好朋友向我推荐了一本书,我还记得那天早上收到快递公司送来的这本书后,我就翻开看了,却再也无法停止,一直看到三更半夜。因为我所焦虑的,我所怀疑的,都在这本书中得到了解决。难道老天真的知道我在想什么吗?
下一页->