早期软件工程和软件项目管理的探索

我在企业IT这个行业里已经浸泡了很多年了,从普通的程序员到IT高级经理。我刚刚进入这个行业的时候,其实做一个程序员还算一个挺光荣的职业。那个时候的IT项目管理其实还处在传统的软件项目管理方法论上到现代的敏捷软件开发的转变过程中。

早期的软件项目其实非常容易失败。当年在软件工程领域有一本非常著名的书《人月神话》。这本书的作者是Brooks博士,图灵奖获得者,北卡罗莱纳大学计算机科学系创始人,IBM OS/360系统的项目经理。他是最早一批开始研究软件工程的组织和管理的专家,并且进行了不同方向和深度的探索,给出了不少有价值的结论。我们可以看出在Brooks的那个时代,软件开发的工具和方法还是非常有限的,哪怕是简单的源代码管理工具可能都不是每个团队都在采用。软件开发很多时候还是靠天才程序员的超人能力来完成某些功能的开发,哪怕最简单的合作和沟通其实都不是我们现在这样直接和有效,因为很多软件开发的名词那时候都还没有发明呢。那时候的软件项目管理经验直接来源于军工,建筑和科研工程的项目管理经验,传统的瀑布似的项目管理,其实就是来源于建筑和科研项目的管理模式。首先设定一个目标和需求,然后设计好软件的各个功能要求,紧接着拆分成不同的工作项,给每个工作分配时间和人员,然后根据这个估计,开始开发。这本书里面提出了一些方法,基于当时的理念,比如外科手术模式的开发团队,采用面向对象技术,把软件划分不同的模块。同时作者也发现了了采用面向对象语言比如C++,COBOL的复杂性而导致的学习成本的增加。还有对开发效率和软件质量之间的矛盾的分析。程序员往往对软件开发的进度和复杂度过于乐观,而造成成本和时间往往大大超出预算的问题。作者在当时的环境下确实做了很多的探索,是非常有远见的,最后他对软件工程的困难非常清楚,对其未来的发展抱有很大期望。

软件工程的焦油坑在将来很长一段时间内会继续地使人们举步维艰,无法自拔。软件系统可能是人类创造中最错综复杂的事物,只能期待人们在力所能及的或者刚刚超越力所能及的范围内进行探索和尝试。这个复杂的行业需要:进行持续的发展;学习使用更大的要素来开发;新工具的最佳使用;经论证的管理方法的最佳应用;良好判断的自由发挥;以及能够使我们认识到自己不足和容易犯错的——上帝所赐予的谦卑。

后来,大家开始进行软件开发标准化的尝试。如果我们可以把软件开发和IT项目看成是一个工程问题,那其实我们是可以从已经成熟的工业项目管理获得灵感的,比如建筑,制造,化工行业的项目管理。我们可以通过制定一套标准体系来指导成功的项目实施,于是CMMI标准腾空出世。这个标准由美国卡耐基梅隆大学软件工程研究所经过长期的研究总结而推出。曾经很多软件企业为了证明自己软件项目管理能力的成熟度,使尽浑身的解数来通过这个标准。其分为五个等级,分别是:

CMMI一级,执行级。在执行级水平上,软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。但是由于任务的完成带有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。项目实施能否成功主要取决于实施人员。

CMMI二级,管理级。在管理级水平上,所有第一级的要求都已经达到,另外,软件组织在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并联合上级单位对项目与流程进行审查。二级水平的软件组织对项目有一系列管理程序,避免了软件组织完成任务的随机性,保证了软件组织实施项目的成功率。

CMMl三级,明确级。在明确级水平上,所有第二级的要求都已经达到,另外,软件组织能够根据自身的特殊情况及自己的标准流程,将这套管理体系与流程予以制度化。这样,软件组织不仅能够在同类项目上成功,也可以在其他项目上成功。科学管理成为软件组织的一种文化,成为软件组织的财富。

CMMI四级,量化级。在量化管理级水平上,所有第三级的要求都已经达到,另外,软件组织的项目管理实现了数字化。通过数字化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。

CMMI五级,优化级。在优化级水平上,所有第四级的要求都已经达到,另外,软件组织能够充分利用信息资料,对软件组织在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。

相信很多软件行业的同行都经历过这种为了达到CMMI标准而强行套用各种CMMI要求的规范,流程和文档的开发项目。其实最后往往都流于形式。事实上这种标准最大的问题是忽视了软件行业的生产不同于传统的领域。核心生产力的提高很难通过流程的优化来实现,高质量也没法通过一些标准的执行来达到。每一个软件开发都会遇到不同的问题和困难,而产生产品的是人,而不是通过机器。当然CMM也I并不是一无是处,这个标准的流程至少给出了一个软件项目开发的参考标准模型,并且产生了很多软件工程的术语,比如基线,配置,交付物等等...

1987年出版的《人件》,具有划时代的意义。这是主流软件工程研究第一次直面软件项目管理的真正核心问题--如何管理人,如何有效地发挥开发和测试团队本身的能力,从而达到交付理想的软件和IT系统。而且书中也注意到了不同团队的开发人员之间巨大的生产力差距,其实对于知识工作者的生产力差距,很多人已经发现了。包括彼得德鲁克的管理著作中也提到了如何管理和提高知识工作的效率问题。如何去提高工作效率,给员工提供宽敞和安静的工作环境,团队的凝聚力其实非常重要。

其实作者指出了绝大部分IT项目最主要的问题,其实是团队协作的合作问题,是人的问题。不同水平的程序员生产力差别非常之大。而提高生产力的重要手段是创造弹性和舒适的工作环境和团结向上的团队文化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容