用户名 密码 返回首页 收藏本站 关于联盟 联系我们
返回网站首页


网站登录:个人会员 企业会员 专家
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 访谈 | 文库 | 下载 | 书架 | 专栏 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 咨询 | 论坛 | 博客 | 圈子
应用:基础工程软件制造活动研发   认证:PMPIPMPPRINCE2CPMPIMCPMPM硕士建造师

小软件项目开发的管理

作者:Bian Yuan 联盟会员: 转载 发布时间: 2003-5-5 点击: 10798 PMB: 0收藏本文
  文章摘要: 管理一个软件项目大项目和小项目的方式不完全一样,但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的。本文是作者以自己的经验来谈谈小项目开发管理的特点,以及在开发过程中的注意事项。

  一个企业的管理,大公司有大公司的方式,小公司也有小公司的方式,如果把别人的经验生搬硬套到自己身上,可能会适得其反。同样,管理一个软件项目也一样,大项目和小项目的方式不完全一样。但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的。本文的目的是从作者的经验来谈谈小项目开发的管理。

一、小项目的特点

  大家知道,"软件危机"的出现起源于一些大型项目的不断延迟甚至失败。小项目相比之下,具有以下特点: www.mypm.net
  1.项目功能相对较少
  2.开发人员较少
  3.开发周期较短 bbs.mypm.net
  另外,在现实中,有很多小项目是由一些中小公司进行开发的,这些公司往往人员流动性较大,这也是不容忽视的一个现实.

二、小项目开发中常犯的错误

  小项目看起来比较简单,比较容易成功,因而人们往往忽视了小项目的管理,其实这是一种误解,从本人的经验看来,小项目开发中容易犯以下的一些错误:
  
1、开发之前没有认真地进行项目可行性和工作量的估计。www.mypm.net
  往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成时间往往有较大差别。 training.mypm.net
  
2、没有真正的设计过程
  开发人员少,意味着不同人员的程序之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到尾负责一个项目。这两者都让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的数据结构、函数接口便分头去做自己的工作了,没有一份较正式的文档。
  这种做法潜在的危险之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的)。一个误解可能造成以后的返工。
  另一个潜在的危险是由于讨论时忽略了某些情况,等大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。
  第三个潜在的危险是一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头来。另外,没有文档的程序,日后维护和版本升级都比较困难。
  
3.不经过单元测试而直接进入系统测试
  造成这一现象的原因是每个模块相对比较简单,但是为了测试一个模块需要建立一些测试环境。例如,为了测试一个函数是否正确,应该用一些测试数据去调用该函数,需要编写一些测试数据。但很多开发人员嫌麻烦,觉得反正其他模块也很快出来了,直接用真正的数据来运行几次就行了。
  殊不知,一旦直接进入系统测试,发现运行结果不正确后需要一步步查找。由于模块间的调用关系,可能查了很久才发现是某个模块的问题。这种方法一来效率比较低,大量的时间用在了将一个错误定位在模块上了。另外由于这种测试不完全,真正运行系统,当调用某模块时,可能大部分时候都是正常数据,极少出现边界情况,可能某些边界情况容易被忽视,很久之后才被发现。但是如果对每个模块进行单元测试时都进行一下边界测试,就会很容易消除一些隐患。真可谓欲速则不达也。

三.合理的开发流程

  合理的开发模式,一句话形容就是"麻雀虽小,五脏俱全",即使是小型项目的开发,仍然应该遵循软件开发的一般规律,必须的步骤不能省略。但是小项目有它自身的一些特点,实行起来可以相对灵活些。
  以下我从几个方面描述一下我认为比较合理的模式.
  
1.需求获取 bbs.mypm.net
  在进入正式开发之前,必须先从用户处获取准确的需求。在这上面花费相当时间是很必要的。
  软件项目可以大致分为专用软件和通用软件两大类。
  对于专用软件,例如给某单位开发一套该单位专用的系统,一般用户对于软件要完成哪些功能已经有了一个比较清楚的轮廓,而且往往在开发合同中已经大致地规定了。
  但是,开发合同上规定的只是一个大概的框架,在进入开发之前必须与用户进行比较具体的交流和讨论,了解清楚用户心目中的产品究竟是什么样子。这个步骤如果没有好好做,往往到了开发工作的后期才发现开发人员的理解和用户的要求有一些误解,那么必然造成时间上的浪费。 blog.mypm.net
  对于通用软件,在开发之前应该做一定的市场调查工作,一方面是从经济效益考虑,调查产品的潜在市场有多大,另一方面是从技术的角度,必须了解清楚潜在用户对软件的各种技术上的要求,例如,用户现有硬件配置如何,软件配置如何,使用什么网络,使用什么数据库等等,根据调查的统计结果决定即将开发的软件的一些技术指标。 www.mypm.net
  为了比较好地与用户进行交流,使用一些工具是很有好处的。
  为了讨论用户界面,可以用VB, delphi等做一个原型,根据原型有针对性地与用户讨论需求。(原型开发不仅仅可以用于准确获取用户的需求,开发出来的原型本身可以作为下一步开发的基础,增量式地完成开发)
  为了讨论软件运行的流程,可以采用UML的Use Case图。

2.需求分析
  在了解用户的需求之后,将需求用一种模型来表示,就是需求分析,目前比较流行的分析方法是面向对象的方法,通过分析用户需求,用类、类之间的各种关系来表示整个系统。


<<上一页 1 2 3 下一页>>
普华
[发表评论]
[相关评论]
 
[评论人] 沙振中[时间] 2008-01-14
不错不错
[评论人] 黄伟强[时间] 2007-12-23
学到东西,谢谢
[评论人] 聂政[时间] 2006-11-20
总结得好啊。麻雀虽小,五脏俱全。 只有平时工作中注重积累和总结,才能不断提高管理水平。
[评论人] 赵熙远[时间] 2006-11-07
本人现在准备从开发人员转向项目管理,很受启发
[评论人] 对月听风[时间] 2006-10-24
看后很受启发
[评论人] zhangfj[时间] 2005-11-02
生命周期模型?
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
原创排行榜
 人月神话 55 乔东 40
 周劲松 34 杨光清 29
 黄绍良 27 郭远刚 26
 王景山 26 cacem 19
 王树文 18 商蓉蓉 17
 胡云峰 15 黄谊江 13
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
专题集锦
更多:
经理访谈
更多:
个人专栏
更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
09合刊  08合刊
04合刊  05合刊  06合刊  07合刊
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
07-30·客户与朋友
07-30·软件项目程序与文档合一管.
07-30·鲁布革经验与中国石油工程.
07-30·透过世界杯看项目管理
07-30·虚拟项目管理:虚拟项目团.
07-29·大型复杂工程项目组织管理.
07-29·项目管理要素的优化性决策
07-29·软件项目任务分解的思考
07-29·项目管理的沟通成本与价值
07-27·项目成本预估及水晶球法的.
07-27·项目管理中“成本控制”对.
07-27·市政工程项目的质量控制
07-27·浅谈软件开发项目管理
07-27·项目管理过程中的几点问题.
07-26·中外承包工程企业信息化应.
07-26·浅谈项目管理与研发流程之.
项目管理者联盟 版权所有 京ICP证070584号
如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者