




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、创作时间:贰零贰壹年柒月贰叁拾日软件项目主要分为哪些阶段?各个阶段主要做哪些工 作?之巴公共开创作创作时间:贰零贰壹年柒月贰叁拾日自己在两个中小型软件开发企业工作过几年,也做过几年的项目管理工作。走过一些弯路也得出一些项目管理方面的体会,在此进行总结,希望能够与其他一些项目管理人员或对项目管理有兴趣的同 事共同探讨一些中小型项目管理的问题及方法。大部分中小型软件开发企业的软件项目经常遇到的一些问题可能包含:项目时间 紧、项目组成员经常加班;项目需求变动频繁;项目进行过程中可 能就有项目团队成员离职或调离到其他项目组;项目重复性建设问题严重,每个项目都需要从框架开始重新开发,难以重用已有项目的成
2、果等等。我觉得通过较好的规划和管理能够在一定程度上提高 项目的成功率或者说提高项目的质量,降低开发成本,缩短项目开发时间。 我理解项目管理有两个大的划分方法一是通用的项目管 理体系,也就是PM叶所说的5个项目管理过程组 9个知识领域4 4个项目管理过程;二是具体业务领域的按项目生命期划分的各阶 段的管理。本文主要从项目生命期各阶段的管理方面进行总结。我个人分析一个软件项目生命期大体需要经过的流程(这 只是我个人的一个划分,有可能不是很全面):可行性分析、需求、设计、开发、测试、实施、维护、总结。下面我针对每个阶段谈一下自己的体会。一、可行性分析创作时间:贰零贰壹年柒月贰叁拾日创作时间:贰零贰壹
3、年柒月贰叁拾日一般的项目都是通过外部招标的形式得到的。对于有些公 司在应标的时候对项目就要有个取舍。如果在特殊时期为了生存可能只要不是太赔的项目都会尽量承接。但是一般项目在承接前最好在经济、技术等方面进行可行 性分析,而且这种可行性分析最好是管理者、市场、技术等人员都 介入,因为市场人员一般不懂 (或欠亨)技术,技术不懂(或欠亨) 市场,因此只有大家在一起共同分析讨论才干够得出比较可行的结 果。可行性分析的结果一方面可以作为是否承接项目的依据,另一方面也可以作为承接项目方式或与客户谈判的依据。比方经分析项目工作量很大,如果按标书金额开发有可能会赔,那么可以与用户探讨是否将来能有个二期的项目;另
4、外如果用户要求的时间比较 紧,可是经分析很难按标书时间完成,那么也可以和用户同共探讨是否可以在正式签定合同时延长系统交付时间等。当然这些与用户的探讨工作一般是需要公司高层领导出面协调的,有时单独靠项目组是没有能力达成理想的结果的。另外在此阶段最好对项目的成本和需要的资源进行一下估 算。二、需求需求实际要细分为需求调研、需求分析、需求确认、需求 管理等。因为对于需求要想说清楚可能需要较长的篇幅,所以在此 不进行展开。在此只是先强调一下需要相当重要,如果早期需求做的不敷仔细会给项目的后期工作带来很多的隐患。而且我建议每个项目无论多大也无论项目时间要求多紧急一定要有一个比较详细的需求文档。在需求比较
5、确定之后建议再对项目成本进行估算。同时对需要的资源及相关里程碑进行说明。三、设计对于大部分中小型项目因为时间和人力的问题加上需求变动比较频繁,所以有时很难书写一个比较详细的设计文档。 但是如 果没有设计文档一是为后期维护可能会带来一些问题,尤其是当原来开发人员或主力开发人员离职或调离到其他项目组时;另外没有经过详细设计的项目可能也会存在一些风险。因此建议不必为了文档而文档,除了项目验收的要求外,建议设计文档根据项目特点有选择地包含以下一些内容的说明:系统网络情况。系统平安战略及备份战略。系统相关软硬件环境说明。与其他系统的关系。主要库表及关键字段说明。系统中关键数据关联关系说明。关键字段校验规
6、则。项目中技术的论证及名种技术的结合方法。系统关键技术说明。一些技术使用过程中的注意点。异常处理机制。事物处理机制。日志记录方法及原则。框架中相关命名说明。共通功能描述及调用方法。核心算法。系统性能解决方案。并发的考虑及处理。系统用户及角色权限设计说明。系统的关键配置说明(如数据库服务器,应用服务器等等, 如有需要可另加附件进行说明)。个人认为对于中小型项目如果不是用户要求有时不必在设计文档中对所有数据库表及字段都进行说明,可以只说明比较重要的一些数据库表及字段以及相关数据库的关联关系就可。因为在用数据库建模软件(如 Powerdesigner )进行数据库设计的时候可以 对每个表及每个字段加
7、注释进行说明,在使用开发工具(如: pl/ sql )进行开发的时候自然可以看到每个数据库表或字段的说明。而且一般中小型项目在开发的过程中可能需要经常性地修改数据库表的设计,如果还有文档描述数据库的设计那么每次修改时除了修改数据库之外还要维护设计文档的一致性, 如果项目忙忘记了修 改就会导致文档和数据库的纷歧致, 有时这种纷歧致的文档可能还 不如没有,因为它可能会误导其他人员的理解。另外也可以通过开发过程的规范来减少设计文档的内容。这个将在下面的开发环节进行详细的说明。四、开发整个项目有一个合理的框架是很重要的。框架具体包含哪些内容在此很难解释清楚,但是我想最起码整个框架应该把项目所采取的各种
8、技术(如 java中的Hibernate、Struts、Spring的结 合)比较合理地组织起来,并为具体模块的开发提供一些工具类等, 同时整个框架应该具有较好的可扩展性、可维护性和较好的性能。框架最好由项目组中技术最强的人(在此称他为技术负责人) 进行搭建及维护。另外对于整个项目有一个统一的命名规范(类和方法按什 么方式命名,所有文档都加上时间作者等) 并进行遵守是很需要的, 这样一个人开发的代码其他人很容易就能够读懂。在整个项目进行全面开发前最好先向项目组全体成员讲解 需求及项目框架的机制、使用方式及注意事项,再说明相关规范。 然后每一个开发人员依照理解开发一个简单的功能。然后大家再一起(
9、或者由技术负责人)看一下每个人对于框架的使用是否合理, 规范理解的是否有误,编码习惯是否需要改正等等。在讨论并达成 共识后再进行具体功能的开发。另在具体的开发过程中尽量在关键算法处加一些注释进行 说明。建议定期进行一些代码走查的工作。尽量由技术负责人负 责这份工作,当然也可以进行互相检查等。代码走查的好处很多, 如可发现一些欠好的编码习惯;提高整个系统代码的可读性;发现 一些bug;借鉴他人好的编码思路或技术等。五、测试有些公司有独立的测试或质量包管部分,有的公司只是由开发人员自己完成测试工作。 在此假设公司有一个独立的测试部分 进行系统的测试工作。首先开发人员一定要养成单元测试的习惯。对自己
10、开发模 块的功能进行单元测试过之后再提交测试组进行结合测试、系统测试甚至性能测试。单元测试很重要,在进行单元测试的时候如果条 件允许可以使用junit等一些工具,或其他一些代码覆盖率工具帮 忙分析测试用例的覆盖程度。另外在此再提一点,一般项目可能是整体开发完之后才进行性能测试,可是这时测试出性能问题了却因 为临近上线或试运行时期, 纷歧定有充足的时间进行修改,另外也可能因为整个项目已经都使用了某种影响性能的技术或方法,要想改变要付出很大的代价。 所以建议如果条件允许可以在开发的过程 中(甚至搭建项目框架时)使用一些轻量级的开源性能测试工具由 开发人员对可能影响性能的功能进行测试。对于测试部分的
11、测试人员要尽早地介入到项目中来,建议 在需求阶段就介入。早介入的好处一是可以对需求理解的比较深 入,知道原始需求是怎么来的,中间经过哪些变更,这样会比在开 发结束后一次性地讲解能够更好地掌控需求,更好地书写测试用例及测试计划。另外有些人也比较推荐在需求的时候就开始书写测试计划和测试用例,因为我之前项目的特点我没有这样试过。项目组设计人员一定要把一些关键测试点、数据及功能的关联关系对测试人员说清楚。测试过程中有一个bug管理系统并对bug进行跟踪是很需要的, 在此就不展开说明了。另外在弥补一点,最好是在项目结束后能对发生的所有bug进行一下分类。然后通过分析得出一些规律。通过在以后项目中采纳一些
12、措施进行项 目质量的提高。六、实施对于涉及多个子系统的长期开发项目,在系统设计和开发过程中要优化处理关联性强的系统,同时有一个(或几个)系统成熟了就试运行或上线, 不必等所有系统都好了再上线。 一是因为时 间长了开发人员可能调离至其它岗位,维护代价会增大;二是子系统用户可能会改变而导致需求变动;三是时间长了用户对系统需求会有陌生感,也可能会发生新的需求; 四是时间长会给打消用户对 使用系统的积极性;五是较早地让用户看到系统也可以减轻因双方 理解偏差而导致的系统需求变动的影响。七、维护争取把用户的提过的所有修改都进行记录,并争取所有修改都请用户签字(纷歧定提一个修改就签字一次,可以统一记录然后定
13、期把一段时间内的修改进行签字确认),如果做不到所有修改都签字也尽量做到对于重大修改请用户签字。签字的好处很多:让用户看到项目组所做的工作; 如果修改的内容比较多可以通过双方 高层领导的沟通再新进行系统二期或三期的开发;有了签字有时用户对需求变动会相对少一些等等。另外对于所有修改除了签字留档外争取定期把所有修改的 内容再整理到需求文档中,坚持需求文档与正式环境功能的一致 性。这个工作很有需要,可能带来以下一些好处:方便测试人员在 回归测试时理解系统功能; 如果维护人员的调离其他接手人员比较 方便理解系统功能等。八、总结在此分歧错误项目验收进行单独的说明。只是说一下项目 结束(有些项目可能要持续进
14、行维护,在此主要指系统已经上线并稳定运行)后要进行的总结工作。建议每个项目结束后都召开一个项目总结会。项目总结会建议与项目相关的所有人都介入。由项目经理进行主要总结, 但每个介入人员最好也都进行总结。可以从管理和技术两大方面对项目中的每个阶段的成功与失败进行总结, 目的是总结经验教训, 提高每个人的项目经验, 提高项目组的成熟 度,使以后的项目更加成功。在此要强调一下,一般项目总结时大 家都喜欢只说成功的, 而很少提到失败的或所走的一些弯路,而往往对这些失败的总结更能使大家收获更多,当然这也要看组织的文化,我建议如果可能尽量鼓励大家多总结一些失败的经验教训。另外项目结束后如果有时间最好是把项目
15、中的一些有重用 价值的文档放到公司的组织过程资产库中。如果项目的框架比较合理也可以剔除项目中的业务相关功能的代码,整理出项目框架并加以简要说明文档供本项目组其他项 目或其他项目组使用。九、项目经理职责分析对于中小型规模的项目,项目经理可能既要充当管理人员 的角色又要充当开发甚至实施人员的角色,基本上软件项目生命期的每个阶段都要介入。但是我觉得以下一些工作(其实远不只下面所列)项目经 理一定要重视:项目整体需求的掌控。项目框架的掌控。项目团队的建设。与其他职能部分的协调工作。项目例会。客户关系维护。定期向项目相关人员汇报进度。总之项目经理要对项目的成败负责,要对项目成员的发展 负责,要对客户负责,还要对公司负责,所以项目经理一定要有责 任心、要有全局观。最后是关于本文的几点说明:本文主要从宏观上对软件项目生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际结算流动资金贷款合同样本
- 鞋类定制加工合同范本
- 农村集体土地承包合同版
- 试验检测技术服务合同模板
- 电力调度合同协议
- 化工原料采购合同格式范本
- 新建住房分期付款合同
- 甲乙丙三方租赁合同补充协议
- 搬家行业安全生产与事故预防考核试卷
- 危险品仓储安全操作规程优化考核试卷
- 2024中考英语1500词汇默写汇总表练习(含答案)
- 2024届高三英语作文复习写作专项读后续写:帮我修车的墨西哥一家人(人性之光)任务单学案
- 2022年四川省绵阳市中考语文真题
- 麦琪的礼物全面英文详细介绍
- 使用智能手机教程文档
- 银行前端工作总结
- 初中数学代数式
- 数字资产培训课件
- 2023年山东枣庄滕州市鲁南高科技化工园区管理委员会招聘10人笔试参考题库(共500题)答案详解版
- (医院安全生产培训)课件
- 制程无有害物质识别及风险评估表
评论
0/150
提交评论