软件开发项目案例(软件工程开发案例)
今天给各位分享软件开发项目案例的知识,其中也会对软件工程开发案例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
软件项目管理案例教程
软件项目管理案例教程
引导语:《校务通管理系统》的成本估算过程是循序渐进的,随着项目的不断发展,估算可以重复多次进行,而且是逐步求精的。下面是我为你带来的软件项目管理案例教程,希望对你有所帮助。
1.合同签订前的成本估算
开始签订合同的时候,根据以往类似项目的经验,采用类比估算方法进行粗略的估算。根据用户的要求,系统采用B/S结构,公司的JSP+SQL Server技术比较成熟,以前成功完成过类似项目,根据工作说明书(Statement Of Work,SOW)的要求,基本上需要2~3个开发人员,2个月左右的开发时间,大约4~6人月的工作量,所以10万~15万可以作为合同的参考报价。
2.合同签订后成本估算
合同签订后,根据现有的资源和WBS分解的结果,进一步细化估算。由于WBS分解是针对项目的功能进行的分解,在成本估算的时候,首先估算每个任务的.开发工作量,然后通过系数获得相应的质量、管理任务的工作量,从而计算直接成本,之后计算间接成本以及总成本。具体过程如下:
(1)资源估算
人力资源: 2个开发人员
1个项目管理人员(项目经理) 1个质量保证人员 1个配置管理人员
设备资源(作为间接成本计算) 3台电脑 1台服务器
(2)项目成本估算
步骤1:根据项目任务分解结果WBS估算出项目开发工作量,如表1所示。
表1:项目开发工作量估算表 单位:人天
WBS编号 任务名称 估计值 1 通用功能-增量1 1.1 电子课表 8 1.2 会议通知和公告 3 1.3 通讯录 2 1.4 个人日记 5 1.5 作业布置和批改 8 1.6 教师答疑 5 2 日常业务管理功能 2.1 招生管理-增量2 2.1.1 报名 3 2.1.2 招生 5 2.1.3 分班 10 2.1.4 统计查询 8 2.2 学生日常管理-增量3 2.2.1 学生档案管理 4 2.2.2 学生考勤管理 2 2.2.3 学生奖惩 2 2.2.4 学生变动 2 2.3 教务管理-增量4 2.3.1 教师日常管理 2 2.3.2 年级、班级设置 2 2.3.3 学科设置 2 2.3.4 年级、班级课程设计 5 2.3.5 排课表 9 2.3.6 考试管理 4 2.3.7 评价 5 2.4 教师备课系统 外包5000元 2.5 资源库系统 外包3000元 2.6 网上考试 外购3000元 2.7 论坛 已存在 2.8 聊天室 已存在
步骤2:计算开发成本
(a) 从表1得知项目工作量是103人天,假设开发人员成本参数=480元/人天,则内部开
小计
31 26 10 31 1 1 1 1 1
发成本=480元/天×103天=49440元。
(b) 加上外包外购部分的软件成本5000+3000+3000=11000元,则开发成本
=49440+11000=60440元。 步骤3:计算管理、质量成本
由于任务分解的结果主要是针对开发任务的分解,管理任务和质量任务成本可以通过计算开发任务成本得到,因此根据以往的经验,管理任务和质量任务成本=开发任务成本×20%=12088元。 步骤4:计算直接成本
直接成本=开发成本+管理和质量成本=72528元。 步骤5:计算间接成本
(a) 间接成本包括前期合同费用、房租水电、培训、员工福利、客户服务等。 (b) 根据以往经验,采用公式:间接成本=直接成本×25%=18132元。 步骤6:计算总估算成本
项目总估算成本=直接成本+间接成本=90660元。 步骤7:重新评估项目的报价
重新评估一下项目报价的准确性,当然这时候,项目的合同已经签署了,报价是不能更改的,但是通过再次的评估可以进一步明确企业的项目运作和利润情况等。
如果项目的风险利润是30%,其中风险基金10%,利润15%,税费5%。则项目的总报价=90660×1.3=117858元。应该说项目报价还是比较合适的。
另外,可以采用简便的算法进行估算,企业的报价可以通过开发规模的估算直接得出,例如如果成本系数为2.5万元/人月,项目规模103人天,一个人月22人天,则项目报价=25000×103/22=117045元。
(3)项目成本预算
在编制项目计划中考虑到:2个开发人员是全职在这个项目中,而项目经理、质量保证人员和配置管理人员不是全职在这个项目中,他们同时还在管理其他的项目,进行成本估算的时候,应该根据项目人员付出的时间进行成本预算。人力资源费率见表2。
表2:人力资源费率
项目成本预算如表3所示,预算总成本为75160元,与估算的成本基本持平。这样75160元可以作为项目的成本控制参考。
表3:项目成本预算
标识号 任务名称 1 校务通管理系统 2 软件规划 3 项目规划 4 计划评审 5 需求开发 6 用户界面设计 7 用户需求评审
修改需求、修改用户
8 界面 9 编写需求规格说明书 10 需求验证 10 设计 11 概要设计
数据库ER图编制、建
12 库 13 设计评审 14 实施 15 通用功能-增量1 22 招生管理-增量2 28 学生日常管理-增量3 34 教务管理-增量4 43 教师辅助功能-增量5 48 聊天室/论坛-增量6 52 系统集成 53 系统集成测试 54 环境测试 55 提交 56 完成文档 57 验收、提交
开始日期
2003-4-10 2003-4-10 2003-4-10 2003-4-11 2003-4-14 2003-4-14 2003-4-15 2003-4-16 2003-4-16 2003-4-18 2003-4-17 2003-4-17 2003-4-21 2003-4-22 2003-4-22 2003-4-22 2003-5-1 2003-5-8 2003-5-13 2003-5-26 2003-5-30 2003-6-3 2003-6-3 2003-6-4 2003-6-5 2003-6-5 2003-6-6
结束日期 预算成本(元) 2003-6-6 75160 2003-4-11 3320 2003-4-10 1200 2003-4-11 2120 2003-4-18 6240 2003-4-14 1120 2003-4-15 2120
1120
2003-4-16
2003-4-17 560 2003-4-18 1320 2003-4-22 4120 2003-4-18 1120
560
2003-4-21
2003-4-22 2440 2003-6-6 54640 2003-4-30 12520 2003-5-7 9000 2003-5-12 6600 2003-5-23 16040 2003-5-29 5800 2003-6-2 4680 2003-6-4 2920 2003-6-3 1120 2003-6-4 1800 2003-6-6 3920 2003-6-5 1480 2003-6-6 2440
;
软件项目开发总结报告实例
软件项目总结报告范文
1引言
1.1编写目的
XXX公司业务管理系统的开发已经基本完成。写此项目开发总结报告,以方便我们在以后的项目开发中来更好的实施项目的订制开发; 让我在今后的项目开发中有更多的有据的资料来规范我们的开发过程和提高我们的开发效率,从而创造更多公司效益。
1.2背景
项目名称:XXX业务管理系统
软件名称:XXX业务系统
客户:XXX
用户:XXX员工
1.3参考资料
项目开发文档:
1.软件开发数据模型:PDM_OperationSystem20070831.pdm
2.数据库开发文档: XXX业务管理系统数据库设计说明书2.0.doc
3.软件业务流程参考:XXX业务管理系统流程说明.doc
4.软件使用手册参考:XXX业务管理系统功能说明3.0.doc
5.软件业务流程参考:XXX业务管理系统流程说明.doc
6.软件中使用到的第三方控件:ComponentArt Web.UI 2006.1252 for asp.net2.0.rar
7.软件中使用的安全Ikey驱动:Ikey Driver.rar
以上参考资料是截止2007-08-31是最新的资料文档。如有修改,即使修改此处的参考文档名称。
2开发工作评价
2.1对生产效率的评价
1. 系统开发已历时快1年的时间了
2. 开发的反复性比较多。
3. 对客户的需求理解不是很透彻。
综合以上,此项目的开发效率不是很高,相反有相当一定时间的浪费。
2.2对产品功能的评价
经过我们公司各位同事的共同努力协作,XXX业务管理系统已经很好的完成了客户的业务流需求。经过对客户使用过程的观察,此项目开发的还是比较成功,但是还是存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户使用过程中提出的新问题和存在的debug。总的来说,此系统的功能开发还是一个比较成功的案例。
2.3对技术方法的总结
在此项目中使用到技术和工具:
1. 使用代码生成器:使用代码生成器 [动软.Net代码自动生成器],此工具在很大程度上提高了编码效率,从而加快了项目的开发进程。在以后的项目中,我们要尽量的来使用一些类似的工具来在最短的时间内完成工作。在今后的项目开发中,我们最好是能开发出适合自己的代码生成工具,更大限度的节省开发周期和开发费用。
2. 使用数据库建模工具;PowerDesigner 工具来建立系统数据库模型,以方便程序员很好的理解业务流和掌握系统架构者的架构思想,更好的满足客户的功能需求。在今后的项目开发中,我们要更好的来完成系统的前期数据库模型的建立,最大的来优化系统功能。
3. 使用第三方控件:此系统中使用了ComponentArt Web.UI 第三方控件。此控件在很大程度上满足了客户对软件界面的需求,从而也给软件的操作带来了方便。本项目中只使用了ComponentArt Web.UI一种第三方控件,在今后的项目开发过程中,要继续使用第三方的控件。这样以来,无论是针对软件界面的美观性、友好性来说、易操作性而言,还是针对系统开发效率而言,这都是很好途径。但需要意的是:在是使用第三方控件时,要谨慎的选择一些网络中的比较常见的第三方控件。
4. 使用自定义控件:此系统中使用了自定义控件(GhdGridView),此自定义控件可以很好的统一系统中的所有信息显示表格样式。如客户对数据显示样式有什么新的意见,我就不需要修改每一个页面的表格样式,我们只需要修改GhdGridView控件的样式,系统中的所有继承自GhdGridView的表格样式都可以改变。
5. 系统开发框架:此系统的框架使用的是简单三层结构,此框架在开发一些中小软件是比较实用的。但是我们要是可以开发出自己的框架,把一些通用的功能开发到框架中。这样以来,在以后的系统开发中,针对系统中一些通用的功能就不需要再开发,从而也可以很好的提高我们的开发效率;减少很多维护费用。使我们的技术不断的更加成熟。
6. 系统安全加密:此系统中针对客户提出的系统安全问题,我们采用了Ikey加密硬件钥匙来验证客户端登陆客户的合法性,此Ikey钥匙可以绑定到一个系统使用用户,也可以让多个用户来使用一个加密钥匙来验证登陆系统的合法性。这样以来,即使用户的密码不慎丢失,或者被不法人员取得(不法人员他也是无法登陆到我们的系统中来),这样就最大的提高了我们系统的安全性。Ikey加密钥匙是很好的加密B/S架构软件的硬件工具,在以后的软件安全方面可以借鉴。
3项目经验总结
3.1签定合同
一个项目的开发成败或者说项目开发带来效益的大小,在很大程度上是受项目合同签定的影响的。往往,很多一部分公司与客户签定的项目合同都是很模糊的,也很难签定的比较清楚,这样以来就会导致在项目的开发后期,工作两会越来越大,影响项目的竣工周期;而且,项目的开发费用一般是不会变的。这样以来,我们就大大的降低了我们的开发效益。虽然需求范围很难签定的明确,但是我们在签定合同时,要尽量的去把合同功能边界和添加新功能的条件签定。
3.2开发团队
在项目确立后,要尽快的建立起项目开发团队。
项目团队成员的团结合作、相互沟通是非常重要的,团队成员之间要相互学习彼此的优点和技术,使团队的能力不断的提高。这样,在项目的开发过程中,团队才不会被难题困住不动。另外,团队中要有一个项目负责人,这个人无论是在与客户的沟通上,还是在技术上都要是很出众的人,此项目负责人要能很好的沟通客户与开发成员之间,以此来更好的理解客户的功能需求。人的记忆力总是有限的,所以就要求开发团队成员要尽量的书写一些开发文档,这些文档往往是我们在项目开发后期要用到的可寻资料。项目团队士气是项目成功的一个因素,我们需要不断的来培养我们的团队气势,使我们的团队不断的壮大。
3.3需求的调研
在项目确立后,就到了需求调研分析阶段。
1. 项目组对客户的整体组织结构、公司有关人员的关系、职责等如果没有一个很好、足够的了解掌握,这样项目组就无法很好的完整的整理到客户的需求、或者说客户真实的功能需求,如此以来我们就为自己埋下了地雷,影响项目的开发周期,这就要求我们要与客户搞好无论是工作上的还是生活上的朋友关系,要深入的去了解客户需求。
2. 我们要尽量的让客户也参与到项目的开发团队中来,也就是说我们要使客户把自己也纳入到项目的开发团队中来,如此一来,我们掌握客户需求的真实性、可靠性就会大大的提高,也就不会为项目的后期功能开发埋下陷阱
3. 在需求调研过程中,如果缺乏足够用户参与,这样的需求调研也是失败的。很多程序员不愿参与到客户的需求调研中去,为什么呢?很简单,与客户沟通不如与代码沟通容易有意思。尽管这样,我们还是必须用足够多的时间去和客户进行沟通,了解他们真实的需求。很多用户也是如此,他们自己也不愿意参与到项目的需求调研中来,为什么呢?需求调研有出去和朋友一块烂漫对吗。。。虽然现状如此,我们还是要努力的使客户参与到需求的调研中来。
4. 模糊需求,也就是模棱两可是需求规格说明中最为可怕的问题。一是指诸多客户对需求说明产生了不同的理解;一是指单个读者能用不止一个方式来解释某个需求说明。针对对这种情况,就要求我们的调研人员要能够从多个角度来分析客户的不同需求,整理出最终的需求与客户确认,定出最终真实可靠的需求,我们绝不能凭借我们自己的单面理解来定立客户的最终需求。
5. 在一个项目的开发中,文档的书写是极为中要的一项工作。因为,某些文档就是我们在开发后期与客户沟通的可寻依据、也是我们程序员在编码过程中要用到的重要文档。我们绝对不能认为,凭借我们的大脑来记录所有的开发需求。。。;即使,你说你是天才,你要用你那颗爱因斯坦的大脑来记录所有的开发需求,那也是不可能的,人的精力总是有限的。这就要求我们在需求调研中做好需求文档的记录和整理。
6. 需求调研工具选择,客户一般对图形还是比较感兴趣的,所以我们在调研过程中,我要尽量的采用图形化界面来和客户沟通需求。比如可以采用Rose工具,把客户的意思转换为用例图、时序图、协作图、状态图、类图等,使表达的意思更加直观。这样客户会更快的进行问题的实质。
3.5做好开发计划
在项目确立后,我们就需要做好项目开发计划,需求调研用时,开发用时,测试用时,实施用时,维护用时。在我们做好了计划后,我们要随时的跟踪计划任务的完成进度,从而使我们的项目进度掌控在我们的开发周期范围之内,今日计划、行动,明日成功。
3.5很好的沟通
在其他行业中,人与人的之间的沟通只很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。
3.6做好工作总结
在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其它方面,都会对我们有很大的提高,在长期的积累后,无论是我们个人能力,,还是我们的团队能力都会有很大的提高。
软件项目启动管理案例分析-缺乏正式项目启动给项目经理造成的难题(详见问题补充)
回答问题1:
周某的遭遇很普通,没什么值得诧异的。产生的原因就是每个人的想法不同,处理方法也不同。所以这才需要周某去周旋和解决。明显周某没有解决这种事情的魄力和胆识。
回答问题2:
按你说的,这个项目的启动没有问题。虽然没有开幕式,但相关负责人都已经清楚了各自的关键人员。或许下级一些人不知道,但这不重要。只要做好一些协调和沟通就能解决。
回答问题3:
不要总想着什么大会,你看电视电影看多了。
回答问题4:
人家给你的授权已经足够了。只是你没用好。
python软件开发的案例有哪些,可用于哪些开发
列举一些比较有名的网站或应用。这其中有一些是用python进行开发,有一些在部分业务或功能上使用到了python,还有的是支持python作为扩展脚本语言。数据大部分来自Wikepedia和Quora。
Reddit - 社交分享网站,最早用Lisp开发,在2005年转为python
Dropbox - 文件分享服务
豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
Django - 鼓励快速开发的Web应用框架
Fabric - 用于管理成百上千台Linux主机的程序库
EVE - 网络游戏EVE大量使用Python进行开发
Blender - 以C与Python开发的开源3D绘图软件
BitTorrent - bt下载软件客户端
Ubuntu Software Center - Ubuntu 9.10版本后自带的图形化包管理器
YUM - 用于RPM兼容的Linux系统上的包管理器
Civilization IV - 游戏《文明4》
Battlefield 2 - 游戏《战地2》
Google - 谷歌在很多项目中用python作为网络应用的后端,如Google Groups、Gmail、Google Maps等,Google App Engine支持python作为开发语言
NASA - 美国宇航局,从1994年起把python作为主要开发语言
Industrial Light Magic - 工业光魔,乔治·卢卡斯创立的电影特效公司
Yahoo! Groups - 雅虎推出的群组交流平台
YouTube - 视频分享网站,在某些功能上使用到python
Cinema 4D - 一套整合3D模型、动画与绘图的高级三维绘图软件,以其高速的运算和强大的渲染插件著称
Autodesk Maya - 3D建模软件,支持python作为脚本语言
gedit - Linux平台的文本编辑器
GIMP - Linux平台的图像处理软件
Minecraft: Pi Edition - 游戏《Minecraft》的树莓派版本
MySQL Workbench - 可视化数据库管理工具
Digg - 社交新闻分享网站
Mozilla - 为支持和领导开源的Mozilla项目而设立的一个非营利组织
Quora - 社交问答网站
Path - 私密社交应用
Pinterest - 图片社交分享网站
SlideShare - 幻灯片存储、展示、分享的网站
Yelp - 美国商户点评网站
Slide - 社交游戏/应用开发公司,被谷歌收购
急需软件项目管理案例,要案例就行,软件项目的~
A公司是一家美资软件公司在华办事机构,其主要的目标是开拓中国市场、服务中国客户,做一些本地化和客户化的工作。它的主要软件产品是由总部在硅谷的软件开发基地完成,然后由世界各地的分公司或办事机构进行客户化定制、二次开发和系统维护。这些工作除了日常销售和系统核心维护之外,都是外包给本地的软件公司来做。东方公司是A公司在中国的合作伙伴,主要负责软件的本地化和测试工作。
Bob先生是A公司中国地区的负责人,Henry则是刚刚加入A公司的负责此外包项目的项目经理。东方公司是由William负责开发和管理工作,William本身是技术人员,并没有项目管理的经验。
当Henry接手这项工作后,发现东方公司的项目开发成本非常高,每人每天130美金,但客户的满意度较差,并且每次开发进度都要拖后,交付使用的版本也不尽如人意。而且,东方公司和A公司硅谷开发总部缺乏必要的沟通 只能把问题反馈给Henry,由Henry再反馈给总部。但由于Henry本身并不熟悉这个软件的开发工作,也造成了很多不必要的麻烦。
为此,Bob希望Henry和William用项目管理的方法对该项目进行管理和改进。随后,Henry和William召开了一系列的会议 提出了新的做法。
首先,他们制定了详细的项目计划和进度计划;其次,成立了单独的测试小组,将软件的开发和测试分开;并且,在硅谷和东方公司之间建立了一个新的沟通渠道,一些软件问题可以与总部直接沟通;同时,还采用了里程碑管理。
六个月后,软件交付使用。但是客户对这个版本还是不满意,认为还有很多问题。为什么运用了项目管理的方法,这个项目还是没有得到改善?
Henry和William又进行了反复探讨,发现主要有三个方面问题:1、软件本地化产生的问题并不多,但A公司提供的底层软件本身存在一些问题;2、软件的界面也存在一些问题,这是由于测试的项目不够详细引起的;3、开发的周期还是太短,没有时间完成一些项目的调试,所以新版本还是有许多的问题。
此时,Henry向Bob提出是否采用公开招标的方式,选择新的、实力更强的合作伙伴。但Bob认为,与东方公司合作时间已经很长了,如果选择新的伙伴又需要较长的适应期,而且成本可能会更高。于是,Henry向东方公司提出一些新的管理建议。首先,他们采用大量的历史数据进行分析,制定出更详细的进度计划;其次,要求东方公司提供详细的开发文档和测试文档 做的工作没有任何文档,给其他工作带来了很多困难);第三,重新审核开发周期,对里程碑进行细化。
又过了六个月,新的版本完成了。这一次,客户对它的评价比前两个版本高得多,基本上达到项目运行的要求。但客户还是对项目进度提出了疑问,认为实时推出换代产品不需要那么长的时间。
较常见的做法。在软件外包工程中,保证质量的进度是很难控制的。对于项目经理来说需要一整套复杂的能力,比如制定计划、确定优先顺序、干系人的沟通、评价等,每一种能力都与项目的最终结果有直接或者间接的关系。
然而,国内的项目经理大多没有接受过正规训练,缺乏项目管理方面的专业知识的技巧,往往只是凭借以前的少量经验盲目去做,容易出现各种问题。尤其是在管理外包项目时,缺乏足够的经验和技巧,往往造成进度不断推迟,而质量无法保证的情况。
在这个案例中,我们可以看到现在IT业内许多外包项目的影子。
在该案例中,东方公司没有专门的项目经理,是由技术人员William兼做管理。这是国内软件公司经常会出现的问题。最初,出现进度落后的问题时,A公司的Henry与东方公司的William讨论后决定采用项目管理中计划管理等手段,其中包括里程碑管理。这是控制进度的较常见做法。
里程碑管理的引入
一般来说,在项目开始时,项目组成员都会对项目制定一个详细的计划。通常情况下,在明确的工作说明书(SOW)和WBS的基础上制定具体的进度计划时,需要采用一些具体的技术。像这种软件外包项目,最成熟的技术是里程碑管理。
里程碑一般是项目中完成阶段性工作的标志。不同类型的项目,里程碑也不同。比如,在开发项目中,可以将需求的最终确认、产品移交等关键任务作为项目的里程碑。本案例中,Henry在接手项目后采用里程碑进行管理是很恰当的。
不过,要注意的是,每到一个里程碑处,应及时对前段工作进行小结,并对后续工作进行计划调整。对于一些管理效果明显的领域,可以不必投入较多精力。而对于下一步管理过程中可能会出现问题的领域,应给予较多的关注。当然,在软件项目里,进度的变化是较常见的事情。
在本案例中,采用里程碑管理后仍没有达到客户的要求,进度依然拖后。在这里,就需要考虑另一个因素-质量与进度的关系。
通常,项目管理的前提是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,保证质量是前提。那么,如何在满足质量的前提下管理进度呢?单纯从项目管理理论知识中并没有一种有效的方式。具体步骤为:
首先,尽量利用历史数据。在本案例中,Henry应该调查之前的项目情况,将会发现可以类比的情况,事先就可以知道需要管理质量和进度的关系。
其次,由于此项目是软件外包项目,Henry不能完全掌握项目的资源 调度情况,因此缺乏对质量的控制。这也是大多数外包工程中最令人难以掌握的地方。在这里,可以采用对进度管理 ;计划添加质量参数的方法,也就是通过参数调整进度和质量的关系。
这一做法的前提是要有一定的历史数据。比如,从历史数据中得知,完成子项目的时间是5天,测试后有15个问题;完成同样子项目的时间是7天,测试后有10个问题;完成同样子项目的时间是8天,测试后有5个问题,……以此类推。
随着数据的不断增多的,采用两维坐标图,就会得到一些离散的点(不考虑资源的差异),并形成一条曲线,见图1。考虑项目允许的质量范围,对照图中的数据,找出相应的参数。根据得到的参数,确定一个合适的进度计划
制约软件项目成功的因素
引子
一个项目从其一成立开始,项目各方干系人都会期望项目能够根据既定的计划一步步顺利地导向最后的成功。影响项目的最后成功的因素是多方面的,包括项目管理的九大知识领域(包括项目的整体管理、范围管理、时间管理、费用管理、质量管理、人力管理、沟通管理、风险管理和采购管理),无一对项目的最后成功不产生积极影响。然而,要这九大知识领域对项目成功产生的影响的轻重程度上进行比较的话,我认为其中项目范围管理是最为重要的。
什么是项目范围管理
那么,什么是项目范围和项目范围管理呢?项目范围是指产生项目产品所包括的所以工作及产生这些产品所用的过程。项目干系人必须在项目要产生什么样的产品方面达成共识,也要在如何生产这些产品方面达成一定的共识。
项目范围管理是指对项目包括什么与不包括什么的定义与控制过程。这个过程用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程有一个共同的理解。
项目范围与项目其它约束条件的相互影响
制约一个项目的条件是项目“三约束条件”——范围、时间、成本。
在一个项目中这三个条件是相互影响、相互制约的,而且往往是由于范围影响了时间和成本。项目一开始确定的范围小,那么它需要完成的时间以及耗费的成本必然也小,反之亦然。很多项目在开始时都会粗略地确定项目的范围、时间以及成本,然而在项目进行到一定阶段之后往往会变成让人感觉到不知道项目什么时候才能真正结束,要使得项目结束到底还需要投入多少人力和物力,整个项目就好象一个无底洞,对项目的最后结束谁的心里也没有底。这种情况的出现对于公司的高层来说,他们是最不希望看到的,然而这样的情况出现并不罕见。造成这样的结果就是由于没有控制和管理好项目的范围。可见项目的三约束中最主要还是范围的影响最主要。
范围管理案例
失败案例:我了解到这样的实际案例,这是一个软件开发的项目,整个项目已经进行了两年多之后项目何时结实还是处于不明确的状态,因为用户不断有新的需求出来,项目组也就要根据用户的新需求不断去开发新的功能。这个项目实际是一个无底洞,没完没了地往下做,项目成员“肥的拖瘦,瘦的拖死”,实在做不下去只能跑了。大家对这样的项目已经完全丧失了信心。
这个项目其实就是一开始没有很明确地界定整个项目的范围,在范围没有明确界定的情况下,又没有一套完善的变更控制管理流程,任由用户怎么说,就怎么做,也就是说一开始游戏规则没有定好,从而导致整个项目成了一个烂摊子。
成功案例:同样是一个软件开发的项目,这个项目也比上面案例讲到的项目要小一些,这时候公司已经开始实施CMM对软件开发活动进行管理,有相对完善的软件开发管理过程。项目在一开始就先明确用户需求,而且需求基本上都是量化的、可检验的。而且项目组在公司CMM的变更管理过程的框架指导下制定了项目的范围变更控制管理过程,在项目的实施过程中,用户的需求变更都是按照事先制定好的过程执行。
因此,这个项目完成的比较成功,项目的时间和成本基本上是在一开始项目计划的完成时间及成本的情况下略有增加。
造成范围界定不清的原因
既然项目范围界定不清是一种很常见的现象,而这种现象又是大家所不想见到的。那么,我们必须分析出现这种现象的原因。我认为造成这种现象的出现有以下三方面的原因:
首先,是企业一级的责任——没有完善的项目管理体系来指导项目的管理。这种情况是最糟糕的,如果是这种原因,那么项目的成败往往需要靠项目经理个人的管理、领导能力。这种情况项目成功的可能性非常小,大部分项目都是以失败而告终;
第二,是企业及项目组共同的责任——对项目没能制定出清晰规范的范围变更控制过程。企业有管理体系,但不够完善和规范,对项目组的变更过程的制定没能起到有效的指导作用。变更是不可避免的,只要有效地加以管理、控制,同样可以达到各方满意的结果;
第三,是对范围的定义不够明确,做不到可量化、可验证程度。很多时候都是一些定性的要求、而不是定量的,例如“界面友好,可操作性强,提高用户满意度”等。类似这些模糊的需求就是导致后续项目扯皮的根源。项目范围的明确定义,有经验的项目经理及系统分析员将起到至关重要的作用。
由以上的论述,我们可以得出结论:完善的项目范围管理是整个项目最终成败的关键。那么,怎样才能做好项目范围管理呢?下面大量篇幅将对这一问题进行详细的论述。
如何管理好项目范围
既然已经认识到项目范围管理如此重要,那么我们应该怎样才能管理好项目的范围呢?从上面的论证过程,我们清楚地看到造成项目范围不好管理的一些原因,那么要管理好项目范围就必须对症下药,才能管理好项目范围。
首先,我们必须先了解项目范围管理的一些科学过程。做好项目管理应该包含下面过程:启动、范围计划、范围定义、范围核实及范围变更控制。下面将详述如何做好这些过程:
启动过程
启动是指组织正式开始一个项目或继续到项目的下一个阶段。启动过程的一个输出就是项目章程。项目章程是一个重要的文档,这个文件正式承认项目的存在并对项目提供一个概览。
启动过程明确指定这一过程有一个重要的输出文档——项目章程,项目章程将粗略地规定项目的范围,这也是项目范围管理后续工作的重要依据。项目章程中还将规定项目经理的权利以及项目组中各成员的职责,还有项目其他干系人的职责,这也是在以后的项目范围管理工作中各个角色如何做好本职工作有一个明确的规定,以致后续工作可以更加有序地进行。因此,千万不能忽略项目的启动过程。
范围计划过程
范围计划是指进一步形成各种文档,为将来项目决策提供基础,这些文档中包括用以衡量一个项目或项目阶段是否已经顺利完成的标准等。作为范围计划过程的输出,项目组要制定一个范围说明书和范围管理计划。
古语云:“预则立,不预则废!”。一个项目经理要想真正管理好项目范围,没有必要的技术和好的方法是肯定不行的。
要做好一个项目首先强调的就是周密地做好范围计划编制。范围计划编制是将产生项目产品所需进行的项目工作(项目范围)渐进明细和归档的过程。做范围计划编制工作是需要参考很多信息的,比如产品描述,首先要清楚最终产品的定义才能规划要做的工作,项目章程也是非常主要的依据,通常它对项目范围已经有了粗线条的约定,范围计划在此基础上进一步深入和细化。
前面讲到这个过程有一个输出是范围说明书,那么范围说明指的是什么呢?范围说明是在项目参与人之间确认或建立了一个项目范围的共识,作为未来项目决策的文档基准。
范围说明中至少要说明项目论证、项目产品、项目可交付成果和项目目标。项目论证是商家的既定目标,要为估算未来的得失提供基础;项目产品是产品说明的简要概况;项目可交付成果一般要列一个子产品级别概括表,如:为一个软件开发项目设置的主要可交付成果可能包括程序代码、工作手册、人机交互学习程序等。任何没有明确要求的结果,都意味着它在项目可交付成果之外;项目目标是要考虑到项目的成功性,至少要包括成本、进度表和质量检测。项目目标应该有标志(如:成本、单位)和绝对的或相对的价值。尽量避开不可量化的目标(如:“客户的满意程度”),因为它将让你的项目承担很高的风险。
范围计划又是什么呢?范围管理计划是描述项目范围如何进行管理,项目范围怎样变化才能与项目要求相一致等问题的。它也应该包括一个对项目范围预期的稳定而进行的评估(比如:怎样变化、变化频率如何及变化了多少)。范围管理计划也应该包括对变化范围怎样确定,变化应归为哪一类(当产品特征仍在被详细描述的时候,做到这点特别困难,但绝对必要)等问题的清楚描述。
范围定义过程
范围定义是指将项目主要的可交付成果细分成较小的、更易管理的组分。这个过程中,项目组要建立一个工作分解结构(WBS)。
WBS的建立对项目来说意义非常重大,它使得原来看起来非常笼统、非常模糊的项目目标一下子清晰下来,使得项目管理有依据,项目团队的工作目标清楚明了。如果没有一个完善的WBS或者范围定义不明确时,变更就不可避免地出现,很可能造成返工、延长工期、降低团队士气等一系列不利的后果。
制定好一个WBS的指导思想是逐层深入。先将项目成果框架确定下来,然后每层下面再把工作分解,这种方式的优点是结合进度划分直观,时间感强,评审中容易发现遗漏或多出的部分,也更容易被大多数人理解。
范围核实过程
范围核实是指对项目范围的正式认定,项目主要干系人,如项目客户和项目发起人等要在这个过程中正式接受项目可交付成果的定义。
这个过程是范围确定之后,执行实施之前各方相关人员的承诺问题。一旦承诺则表明你已经接受该事实,那么你就必须根据你的承诺去实现它。这也是确保项目范围能得到很好的管理和控制的有效措施。
范围变更控制过程
范围变更控制是指对有关项目范围的变更实施控制。主要的过程输出是范围变更、纠正行动与教训总结。
再好的计划也不可能做到一成不变,因此变更是不要避免的,关键问题是如何对变更如何进行有效的控制。控制好变更必须有一套规范的变更管理过程,在发生变更时遵循规范的变更程序来管理变更。通常对发生的变更,需要识别是否在既定的项目范围之内。如果是在项目范围之内,那么就需要评估变更所造成的影响,以及如何应对的措施,受影响的各方都应该清楚明了自己所受的影响;如果变更是在项目范围之外,那么就需要商务人员与用户方进行谈判,看是否增加费用,还是放弃变更。
因此,项目所在的组织(企业)必须在其项目管理体系中制定一套严格、高效、实用的变更程序。
执行好以上项目范围管理的五个过程,我认为对项目范围的管理、控制将是行之有效的!
关于软件开发项目案例和软件工程开发案例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。