软件工程之向传统产业学习
—— 起篇
刚在一直再找Music Heaven的专集,不过网上除了eMule好象还有一点点链接之外,好象都烟消云散了,几张网页提供的链接也是“服务器无法找到”之类的。却意外地下到一张《完美钢琴》的CD,于是我在这音乐的流动之间开始下面的文字。
软件行业的诞生其实也就五十年左右,却出现了很多问题,不管是大拿或是小虾都在思考一个问题,如何快速有效地开发出适用的软件产品。由于IT业大家总以为它是一门新兴的高科技产业,故而总有些不屑用传统产业的方式来运作。不断地在寻找银弹,却不断地陷入焦油池里。何故?
我在学校的专业是工民建,可以说是跟计算机专业搭不上什么边的,除了偶尔用CAD来绘制几张图,或是用TBSA算算结构需要用到电脑以外,其实可以不太用电脑的。毕业后我却没有做我的专业了,真是学以无用。算起来做编程也有十年了,可以总感觉当前软件项目的实施极为混乱。原因当然有很多,但最多的无非是几种
1、 用户需求变更频繁;
2、 初步方案设计有问题;
3、 用户与程序员沟通不够,经常是驴唇对马嘴;
4、 重要程序员离职,无人接手;
5、 项目资源(时间、费用、人员)调度不合理,时紧时松,或者是资源大大超出原来估计成本。
这些可是说是每个项目经理都不愿见到的,却时每天发生在我们的周围,why?我们总是说“用户太笨了,同事太笨了”等等,不一而足。可是是这样子的么?
其实我一直很感谢在学校里的老师给我一些重要的能力,首先是自学能力,呵呵,因为没有老师会回答你这个那个问题的。其次我认为学到了我人生最重要的一门课程《建筑施工组织与管理》。那是96年大三时的课程,讲课的老师是在外面一直做施工管理后来回来任教的,有相当的实施经验,理论也不差,教材是用的同济的教材,所以这门课程我是听得比较有趣的,它教会了我如何用管理的目光来对待一个事换,因为当时总以为自已会去一个施工单位做技术员。
现在的IT人士喜欢用Project来做项目管理,用一个个甘特图来分析项目的各种情况。可是我们在十年前就已经在做这个东东了,只是那时是用笔来绘制,当然还有很多现在没有用到的东西,我印象最深的是工序和流水了。而当时这门课程的考试也不是填空或是回答问题,而是交一个楼宇的建筑施工组织计划,今天我们会叫它Project。十年过去了,如今我的同学有不少做上了项目经理,混得好的,有不少做了甲方代表。每每在同学的QQ群里聊,总有些提不起气来,他们做过的项目有几十层的大厦,有大型的货运深水码头,有成百栋的别墅群,等等。
现在十年过去了,而我看到软件项目的实施还是一个相当混乱的水平,而且有很多企业都过了所谓的ISO9000或是CMM2之类的,这些出入于写字楼,手里拿着NoteBook的IT人士为什么比不上在低矮平房里做着施工管理的技术员呢。
我以为现在中国软件行业当前要学的不仅是是某种技术的提高,更重要的是学会用项目管理的眼光来做项目。“他山之石,可以攻玉”,要抛开所谓的高科技行业的想法,放低姿态向一些传统产业来学习如何运做,毕竟这些行业有上百年的历史了,它们的项目管理方式已被证明行之有效,并且容易接受。这些天,我一直在思考这样一个问题:“软件工程其实应该可以类比如一个建筑工程,那么我们可不可以将建筑行业的一些做法来应用到软件工程上来呢?”我被自已的想法所激动,那么具体如何来实施呢,请接下来看以下几篇(时间有限,不定期推出,敬请关注):
《建筑设计院与软件系统构架》
《施工概预决算与项目费用控制》
《施工组织管理与软件项目组织管理》
《包工头、民工与高级程序员、程序员》(可能这样比较有很多人会有意见,呵呵)
《工程技术员与测试人员》
《资料人员与文档人员》
《变更设计与需求变更》
《甲方代表》
《竣工资料与结算》
《预制构件与组件》
《滑模技术与新编程技术》
在写完这篇时,我居然还是找到了可以下载Music Heaven的Blog,真是怀念学校的时光。现在的人可能很少听说这个音乐杂志了,好象2002年已经停刊了。“人世可变迁,音乐恒久远”
本文WORD文档下载地址: http://www.savefile.com/files/9834873