提问的智慧SVN版 - 提问者必读
发新话题
打印

[讨论] 软件项目管理

软件项目管理

在软件项目的生命期中,如何应对项目运行各阶段出现的问题,是项目管理人员的头等大事,直接关系到项目的成败。但是在没有完善软件管理体系的各类中小型软件企业,以及大量的初创企业,怎么来管好我们的资源(技术,人员,时间,资金),并将资源用于实现项目目标呢?

软件项目,是由人来执行的,那么首先,人要怎么来管理?

1、了解你自己,做为一个管理者,你的风格是严谨,一丝不苟,还是宽松,激情澎湃。两种方式都有成功的例子(IBM,GOOGLE),选择一种适合你的管理方式,形成一套适合该管理方式的制度(如果公司风格使然,那么就只能自己去适应公司的风格了),会让你的优点都发挥出来。
2、了解你的手下,他们有甚么爱好,甚么生活目标,甚么事业态度。他们对公司理念的认同程度,对项目的理解程度,他们工作的热情程度,他们对报酬的认可程度,都直接对项目执行产生微妙而深远的影响。随时把握人员的心理状态,并适当调整公司的各项制度,奖惩,刺激人员的积极性,使人员保持旺盛的战斗力,是项目成功的根本保障。
3、了解项目的意义,这个项目对公司有甚么影响,做好会给公司(获得利益等),给团队(获得经验等),给客户(提高工作效率等)带来甚么利益,做得不好会带来甚么损害(赔钱,丢面子,丢饭碗,客户浪费时间等)。不做有会怎么样(使竞争对手取得发展空间等等),只有真正把这些付诸书面,使三个方面都懂得利害关系,才能从根本上重视项目,认真投入到项目执行中。
4、发现领头羊和害群马,项目只要有多人参与,总会有这两种人出现,保持奖励领头羊,开除害群马,会让团队有一个认真做项目的氛围,大家也会认为你是一个明智的管理者而不是一个白痴,会服从你的安排。
5、要懂得花钱,用人,项目开展之后,不能一味节省,公司把资源交给你,目的就是要你在最有效,最快速(相较其他对手)的情况下把项目实现,任何由于省钱(资源不够另当别论)导致的拖延,最终效果不好的状况,都是项目管理者的错误。
6、实行走动式管理,用毛主席的话讲就是跟群众打成一片,了解人员在工作中遇到的瓶颈,有时候某些问题从员工的位置比较难解决,但是从你的位置可以看清楚问题的根源,就可以协调解决。从而提高该员工效率。
7、如何了解员工是否正常工作?美国总统华盛顿有个简单的方法,他看着他的工人(那时候是奴隶)一天从容工作能完成多少工作量,以之为基准,根据该工作量判断该工人每天是否正常工作(此处需要每日报表支持)。学习这种办法,我们就可以判定人员在工作的时候是否有异常,如若异常,先从其身体,精神方面调查是否有何问题,若无问题,则处罚之。

下面列举软件项目生命期各个阶段可能遇到的问题,以及可能的处理办法,大家有不同意见一起探讨。

一,项目初始化

Problems:

1、项目最终目标不确定

这个问题有两个方面,甲方的需求分析做得好不好,以及乙方是不是朝令夕改。

2、资源不足,上面两种情况都容易导致项目失败

解决办法,简述:“联横合纵,量力而行”

二,项目开发阶段

是开发人员协作开发软件,开发完后交由测试人员(开发、测试均是一种角色,有时一人兼几种角色)进行单元测试,并在到达一个阶段目标后进行联合测试。不停反复直至达到预计开发目标。

Problems:
1、模块分析不明郎,导致耦合程度过高。系统稳定性下降
2、进度缓慢,导致阶段目标不能实现,系统交付一再延期,这个是整个团队的效率问题,处理起来需要管理的艺术
3、代码管理混乱,造成代码重写,互相覆盖。这个问题现在可以用svn来处理,当然还需要相应的制度
4、人员更替频繁,项目代码稳定度低,造成这个问题的原因有多方面,但是总的来讲是一个大忌,应该避免

三,项目实施阶段

实施阶段是教会客户怎么使用软件,并提高客户的工作效率

Problems:
1、培训计划不适合客户,造成接受程度不高,根本就无法将软件用起来
2、沟通渠道出问题,无法跟客户良好沟通,导致客户遇到问题无法解决
3、客户需求变化,造成项目可能需要更改,这个时候就要考验软件设计的扩展性了。

四,项目升级或者终止

客户经过一段时间的使用之后,决定该软件已经不能适应他们的需求,那么要帮助客户清除软件的痕迹,备份导出软件运行过程中的数据。或者我方出了升级版本,帮客户做升级服务。

Problems:
1、费用,帮助客户升级,清除痕迹,备份导出,一般情况电话告诉客户怎么操作是免费,但是人员去实地操作有时候需要收取一定费用,这个一定要明确商定好,免得造成客户流失
2、留住老客户,既能给公司带来资金,也关系到公司的诚信,是一笔无形的资产,应该要重视

不过要把上面的问题都解决实在难度不小,我先抛个砖拉。

[ 本帖最后由 hred 于 2007-2-9 10:14 编辑 ]

TOP

国内的软件还不值钱是个大问题,真正卖钱的东西很多都是卖给政府的

  • 提问前先用多种搜索方式、多种可能的关键字对论坛进行搜索
  • 提问时详细描述软件版本,自己要做什么,做了什么,遇到了什么
  • 最后的绝招:PM版主
  • 问题解决后,请自行将“求助”修改为“已解决”

TOP

我觉得项目管理的根本还是人和制度

TOP

开发完后交由测试人员进行单元测试

我是对这一句话有疑问,单元测试到底是由开发人员做还是由测试人员来做呢?

TOP

引用:
原帖由 PCplayer 于 2007-2-7 16:40 发表
国内的软件还不值钱是个大问题,真正卖钱的东西很多都是卖给政府的
那是,我们老师都说了,阿公(公家)的钱最好赚嘛,(虽然都是俺们穷苦百姓的血汗钱)

TOP

回复 #4 阿拉丁 的帖子

一般情况下是由开发人员来做的,因为涉及到程序的详细设计和编程。也有一些大的公司,专门有人来做单元测试的,由于与开发的关系密切,所以一般也会归到开发部

TOP

呵呵,不管赚不赚钱,对于读计算机科学然后从事计算机工作的人来讲,不管你是愿意还是不愿意,你的青春(至少大半青春)已经献给了中国的计算机行业,更有甚者是整个生命都献给了中国的计算机(例如深圳某大型公司新进研究生,某大型门户网站CEO),那么既然我们为了这个事业付出如此之多,是否应该把事情做得更好,而不是盯着那为数不多的纸币,思量着我的工作原来值这么点。

TOP

引用:
原帖由 PCplayer 于 2007-2-7 16:40 发表
国内的软件还不值钱是个大问题,真正卖钱的东西很多都是卖给政府的
而且做的都是垃圾货  我之前的公司就欺负政府人不懂
云水禅心

TOP

一般开发人员作单元测试,都采用交叉测试的方法进行。

TOP


引用:
原帖由 PCplayer 于 2007-2-7 16:40 发表
国内的软件还不值钱是个大问题,真正卖钱的东西很多都是卖给政府的
这句话说的不全对!政府的软件不是很值钱,而是政府的软件成本高.你想软件大家都能做,为何你让你做呢?嘿嘿!我就做政府软件,知道他们的成本.

TOP

引用:
原帖由 阿拉丁 于 2007-2-8 17:28 发表
开发完后交由测试人员进行单元测试

我是对这一句话有疑问,单元测试到底是由开发人员做还是由测试人员来做呢?
单元测试一般是开发人员做,但是也可以由测试人员做!但我觉得不建议这么做!

TOP

主要问题在于是工程化开发还是产品化的开发

其实这里的主要问题在于,国内好多软件工发的形式是在于做工程化开发,不是产品化的。

一、产品化开发的项目 可控性比较高,由开发人员引领市场,引领技术方向。这样的项目风险相对小。但是技术难度较大,一般有较高的门槛。
二、工程化开发的项目 可近性就比较差,人员走失,跨地区工程化,代码跟踪,质量检查手段这些无从实施。很难真正意义上实施开发的流程管理。一般情况下都是一个人或两个人不在公司本部做开发。这种情况非常之多。

TOP

引用:
原帖由 阿拉丁 于 2007-2-8 17:28 发表
开发完后交由测试人员进行单元测试

我是对这一句话有疑问,单元测试到底是由开发人员做还是由测试人员来做呢?
看项目类型了,有的公司要求测试部必须独立于开发部,并对测试结果负责。

TOP

发新话题
订阅 我用Subversion - SVN中文论坛 邮件列表:iUseSVN@googlegroups.com
电子邮件:
网站重要事项将会在这个列表进行通知,点击这里浏览存于列表中的所有邮件