谈谈软件项目管理的重要性

文章作者 100test 发表时间 2007:01:15 18:27:01
来源 100Test.Com百考试题网


前言

随着中国加入WTO后,外界对中国的软件业带来了机遇和挑战;为新新的软件行业注入新的活力。但细细一想,其实所带来的更多的是挑战。我所说的挑战不单只是个人开发中的水平问题,更多的是我国软件项目管理的问题。下面我就几个方面来谈谈。

开发人员问题:
1、你开发中按软件工程做了吗?
软件工程,这对软件开发员来说是多么熟悉的字眼,但其中的内含你又知道多少,再进一步说,在开发中按软件工程来做的又有多少。大家常在网上听到一些程序员在抱怨说:“我加班加点的写了10万行的代码,所以老板把我给开除了。”这话扎听有点好笑,但细细一想这是他的悲哀。他写的代码虽多,可是关键的又有多少。如果里面的代码只要有80%的枪丶模蚁肜习迨蔷龆圆换峥摹N侍獬鲈?0万行代码中有多少是关键的。先不说写这10万行代码所开的时间了,就说以后的维护问题,要是你到一个公司,老板首先要求你看完这10万行代码。我想你第一想到就是走人,第二想到的还是走人。因为对于一个没有按软件工程来进行开发的程序,不要说是这么多的代码;那怕是几十行、几百行,读起来也是很难受的事。记得我刚到深圳找工作,老板让我接手另一个程序员所开发的一个小系统。这样理所当然的就是看设计文档,可是没有,这样只有看源程序;当我打开源程序时,我呆了。看了一天代码,我决定走人。当我向BOOS提出时,老板给我做思想工作。当然加薪也是少不了的,这也打破加薪的记录了。所以我就留下了。之后我开始看代码。在我看代码的同时真不知道把写这程序的程序员骂了不知道多少次。这让我更加增强了对软件工程的认识。为了不让以后维我的程序员不骂或少骂我。所以得好好按规定《软件工程》办事。说这些只是想让大家静下来想想,你在开发中按软件工程做了吗!

2、你是先写文档再写程序的吗?
一个好的程序是先写好设计文档再进行编程的,在设计文档的指导下,才能写出安全的代码。在文档的指导下,这样写出来的程序至少不会出现写了10万的代码还被老板开除的情况。如果你不写文档,一开始就写程序,这样你就不会按已设计好的路线走,而是想到哪写到哪。小功能还好说,要是大功能,你想想等你写下一个时,回过头来看原来写的,你早就不知所云了,那时你就觉得好像在云里雾里乱走,修改的代码也就更不安全了。我所说写文档不是说很正规的,那怕你只用一张搞纸划上几画也要画点出来(这是对小功能来说的)。对于大的程序来说,你就必须正规的写了。因为这样才能详细的记下你的设计思想,如果开发一段时间后,感觉须要对一些功能进行修改或变态时,记住别删除原来的,而是在下面进行变更说明。这样再次看文档时你就会更清楚为什么要这么做的原因。一看就明白不是多好。总比你去再想以前的设计花的时间要少,如果删除原来的设计思想,当你再次看修改或变动的功能时,你可能会对其不理解。这是多么可怕的事呀!我想作为程序员应该知道文档的重要性。可是在一些小公司,先写文档后写程序的开发员又有多少。要成为一个好的程序员大家想想自己该怎么做的吧!

软件项目管理问题:

1、现代的软件开发,技术不是关键:
随着日益增长的软件需求和软件系统功能的增强,过去一个人开发的历史以不复存在。现在单枪匹马写程序也只是一种娱乐。我们一般开发的系统都是一个小组才能完成的。所以管理才是开发出好的软件的前提条件,没有管理一定出不来好的软件,当然有管理也不一定出软件的。一个成功的软件不一定是最好的技术,但在它背后一定有一个好的管理。所以现在的软件开发已不像从前把技术放在第一,而是该把管理放在第一位。我在网上看到一篇关于中国软件和印度软件的比较。我现在记的不是太多,但对我影响最深的是他们会去权衡技术和开发效率问题。如现在开发一个软件,用户要求去在三个月内完成,你在做系统分析时也认为在三个月能完成。但你没有考虑到一些细节,你写完系统的总体设计,在进行详细设计时碰到要建一张不是太大的路由表。这时大多数国内的设计人员就会想用什么算法,去花很多时间去设计研究新的算法和技术,而人家首先考虑的是系统的运行环境,而这个软件设计了是在(CPU:1.1G,内存:512M)中运行,用户也没特意提出其运行效率要求。所以人家就在内存中开一个大数组来对这个路由表进行操作。从这点看,人家注重的是软件的整体,而不像国内大多数据设计员那样,把个体放在首位。其实这方面我觉得我们的开发员应当多向共产党学习(本人不是共产党员,团员也因没交团费被Cancel掉了)。把软件设计的整体放在首位,而不去花太多的时间在不一定成功的技术上。如果花太多的时间在技术上去,这将对系统的按时完成带来影响。我也不是说不该研究技术,我只是说开发中应当以全局为重。如果要加入新的技术,必须在分析时就预算其所需要的时间,并设置技术风险管理。如果风险太大就应当取消用这项技术,改用其它的已成功的技术代替。风险管理这是近来才提出的软件管理方法。它对我们的软件项目有着很好的控制作用。对于一些中、大型系统,它是一把走进成功之门的钥匙。这里就不谈了,我将在下面进行说明。

2、好的管理才能开发出好的软件(小系统除外):
大家都知道,软件开发中有太多的不可预知性。但这种不可预知是对总体来说的,当软件进行到一点程度时,不可预知的东西就会变成可预知的东西。以住的做法是不去管理它,这样所带来的就是项目的失败。要是有好的管理方法就可以控制这些不可预知的东西,软件项目就会一步步随着你的设计思路起向成功。现在就和大家一起讨论一些常用的软件管理方法。



相关文章


探秘技术项目管理(二)
谈谈软件项目管理的重要性
NB-PMM法在项目综合管理中运用实例(一)7
NB-PMM法在项目综合管理中运用实例(一)8
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛