人们通常把软件工程和建筑工程进行类比,总体上说,这两者之间确实很相似。但仔细想来,它们之间也有很大的区别。软件工程和建筑工程都可以说是一种艺术创作,但它们之间最大的区别我认为在于:建筑工程的艺术创作因素中止于设计图纸出来之后,建筑施工人员的任务就是不折不扣的按照图纸上去执行,并没有什么创作的余地。而软件工程的艺术创作因素却是贯串始终的,即使在详细设计出来之后,在编码过程中,如何使程序简洁高效、提高将来的可维护性等方面需要程序员发挥他们的聪明才智。一个函数接口定义好,功能确定了之后,其内部如何实现不同的人写可能写出效果完全不同的程序。
所以项目经理与程序员之间的关系我认为不同于建筑设计人员与建筑工人之间的关系,它更像是乐队指挥与乐队演员之间的关系。乐队指挥的任务是掌握好节奏,带领大家步调一致的前进。他倒不一定要既会拉大提琴,又会拉小提琴,又会吹小号又会敲鼓。项目经理就是这样,他也不一定既要会java,又会.net,又精通数据库,他的任务是把握好客户的需求这个主线,管理好进度与质量,协调组内人员。而程序员呢,也不只是像建筑工人那样,只能简单的垒砖头拌水泥,他们应该像乐队的演员那样,在指挥(项目经理)的指导下演奏出优美的音乐(写出优美的程序)。
本文地址:http://com.8s8s.com/it/it23307.htm