软件项目经理求职书—项目过程分析由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件开发项目经理经验”。
项目经理求职书—项目过程分析
2012年7月1日
第一节需求分析
需求分析在整个开发过程中占的工作量不算大(个人认为需求分析占整个项目周期的30%),但是产生的影响巨大。如果分析不够透彻,很容易使项目存在潜在的风险,甚至会伤筋动骨。虽然很多公司都明白这样的道理,但实际情况往往是需求分析人员通过调研报告形成需求分析文档(解决方案),然后在给非专业的客户进行确认(确认过程可能会忽略细节,很容易因为细节问题造成项目的伤筋动骨),确认后进入开发阶段。这样做会导致非专业客户的需求部分被乎略或不能及时的发现和解决。虽然是按照解决方案完成了功能,但是很可能造成客户不满意或不愿在需求确认书上签字等尴尬局面。我经历过几个不太成功的项目,其问题的根源都和需求分析有关。需求分析最要紧的是:搞清楚用户到底想要什么?如果这个问题搞错了、搞偏了,后面的步骤做得再好也是白搭。在搞清楚“用户想要什么”之后,接着要整理出功能列表,并筛选出大约20%的重点功能。这个步骤是我今天主要想介绍的,因为这个步骤和后续的各项开发密切相关。一般来说,功能筛选的依据有如下几个:
1、用户经常用的功能(比如创建模块、权限分配等)。
2、宣传的卖点(要能够超出同类软件,吸引眼球)。
3、和用户利益密切相关的功能(这种功能不允许出错,比如存盘功能)。这个筛选的过程要尽早完成,而且最好是客户、需求调研人员、项目经理、开发人员、测试主管四方一起讨论,以保证立场客观、观点全面。筛选出重要功能点后,其他人员的工作安排要“以重点功能为纲”。
第二节项目管理
如果是我负责的项目,在排项目计划时,就得尽量优先安排重点功能的开发/测试,而且要安排能力强的人员来完成。按照我以前的做法,重点功能编排计划至少得留出1/3的时间余量,以防万一(事实证明,几乎每个稍大点的项目都会出现万一)。至于非重点功能,尽量排到后面,安排能力一般的人开发/测试。然后,在项目进行过程中,肯定要有定期的例会。作为项目经理,应该主要关注重点功能的进度情况和风险情况。一旦项目有延期的风险,就从非重点功能开始裁减(俗称砍功能)。由于是裁减非重点功能,不至于产生致命的影响。
第三节编写代码
开发人员有几个通病:先做有趣或容易的功能,然后再做无聊或者繁琐的功能;对自己有兴趣的功能投入精力多,对自己没兴趣的简单应付。以上这些都是开发的大忌。作为一个职业的开发人员,不应该以自己的兴趣和喜好来决定开发的轻重缓急。正确做法应该如下:
首先得用主要精力完成上述所说的重点功能,而且要保证它们的代码质量尽可能好,尽可能方便维护(重点功能往往是经常有需求变更,经常被修改的)。对于重点功能中的“常用功能”,要保证时间性能够好(能快速响应)。对于“用户利益相关的功能”,要保证bug尽可能少(尤其是安全性、稳定性、健壮性的bug)。
至于其它的非重点功能,只要不出明显bug,有点小缺陷无伤大雅。
第四节测试
测试人员同样要把主要精力用于测试那些重点功能。对于“用户利益相关的功能”,多进行一些健壮性测试、稳定性、安全性等测试(比如测试保存大文件是否会出错)。对于常用功能,主要进行易用性和性能测试(比如拷贝、粘贴是否易用)。至于其它功能,只要进行普通的测试,保证它不出现明显和严重bug即可。
第五节产品演示
有些软件开发完之后,会搞一些Demo进行宣传。这时需要把重点功能的Demo进行较长时间的介绍用来增加软件的卖点,这样给客户的印象最深刻,效果最好;
下面是我个人理解的项目开发过程: 1.首先进行用户需求调研,先弄明白用户想要什么(如果有老系统,可以先参观老系统,看有什么可以改进的,有什么可以继承的)熟悉业务。还包括:系统应用的网络环境、应用范围、数据量的大小、使用人群等内容)需求调研完成后,完成系统用例图以及用户调研报告,然后根据调研,列出功能列表,同时区分重点功能和非重点功能。
2.调研完成后,进入流程分析,以流程图为主并画界面原型让用户来确认,如何使用等讲解清楚(这个过程中,会产生需求的变更),同时完成《用户需求
规格说明书》,并进行流程图和文档的评审工作。完成这些内容,可以说是一个软件系统的里程碑。
3.需求评审完成后,进行数据库设计和详细设计(流程图、类图、系统接口),此时形成的文档有《数据库设计说明书》,《详细设计说明书》,并完成评审工作。
4.设计完成以后,就要进行开发工作了。依据详细设计说明书,此时要先进行重点功能的开发,然后进行非重点功能的开发。在此过程中开发人员进行模块的单测,确保系统的可运行。在任务分配过程中,因软件开发是一个思想过程因此不太容易量化工作,所以在任务分配时,应把功能分的越细越好,达到颗粒(细化到按钮功能)的效果为最佳。这也是确保项目在工期内顺利完成的重要内容之一。
5.开发完成后,由专门的测试人员进行单元测试(国内由程序员完成)、流程测试、性能测试等。(还可能有第三方测试人员和用户代表的参与)。
6.用户测试。首先进行用户测试的培训,然后挑选部分用户进行系统的测试,此时一般会有开发人员进行现场的技术支持,使用用户尽快的熟悉系统的使用。
7.系统上线试运行。如果是大项目上线试运行是万里长征的第一步。
整体感觉:(7.4)
一、对项目开发的整体工作:
1、流程清晰、较全面;
2、重点、特点、步骤认知度较高;
3、有相关大型项目开发的经验及管理经验,由其是失败经验。
二、从整体工作需要的角度出发,仅是经验值,目前尚只能在项目经理位置,从前瞻性上没看出来,即对整体黑软件市场的认识尚未看出,或无!
三、个人目标还是没有设定。