【项目管理知识】软件项目开发过程与思想

合集下载

软件过程与管理

软件过程与管理
风险的不确定性
风险的不利性
风险的可变性
风险的相对性
风险同利益的对称性
风险分类——参与者、技术、结构、任务
风险管理框架——
软件项目常见十大风险——
德尔菲法(Delphi method),是采用背对背的通信方式征询专家小组成员的预测意见,经过几轮征询,使专家小组的预测意见趋于集中,最后做出最终的预测
风险影响= (可能的危害)×(发生概率)
风险定义——
一个不确定的事件或者情况,若其一旦发生,会对项目的目标,例如,范围、进度、成本和质量,产生积极或消极的影响。
风险是未来可能发生的问题,而不是当前已经发生的事情
风险的产生一般是有原因的,例如,开发人员离职导致项目延期
风险的三要素——
事件
事件发生的概率
事件的影响
风险的基本性质——
风险的客观性
内部和外部质量(internal and external quality)
功能性,可靠性,有效性,可维护性,可移植性,和可使用性
使用质量(quality-in-use)
有效性,生产率,安全和满意度
有效性:软件产品在指定使用环境下,使用户准确、完整地获得规定目标的能力;
生产率:软件产品在指定使用环境下,使用户花费合适的与有效性相关的资源数量的能力;
项目庞大或复杂
项目管理(PM)就是在项目活动中运用相关知识,技能,工具和技术满足项目的要求。
项目管理的十大知识领域——
项目集成管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理
项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理、项目利益相关者管理
项目管理的五个过程组——启动、计划、过程、控制、收尾
软件产品目标的三要素:

【项目管理知识】项目中的方法,工具和技术

【项目管理知识】项目中的方法,工具和技术

项目中的方法,工具和技术关于项目中方法,工具和技术的说明是一个很重要的内容.都是项目管理的重要元素.特举个项目中的例子如下:项目中的方法1.项目采用了RUP的相关方法论,以用例分析为驱动,得出相关的软件需求说明书和用例模型;以架构设计为核心,在软件需求基础上进行4+1视图的架构设计,得出相关的分析模型;具体的增量迭代在需求和架构上不迭代,在后续的结队开发中进行迭代。

2.项目借鉴敏捷开发的部分方法论,在结队开发任务中强调设计开发人员的紧密协作和工件的Review和单元测试。

强调项目个体技能对项目重要性;强调整个团队价值观对项目成功的重要性。

3.项目借鉴MSF的相关方法论,对项目人员角色和职责进行了明确的划分,保证了角色和职责的明确;在项目过程中采用每日构建流程,保证相关功能的持续集成和问题的及早暴露和发现。

项目采用的工具和技术1.需求采用Rose出用例模型和业务对象模型,采用DotNet____开发界面原型。

采用Word出软件需求说明书。

2.架构和设计采用Rose或XDE出分析模型和设计模型,采用PowerDesigner 出数据库设计,采用DotNet____出相关的原型。

3.编码采用DotNet____完成前台编码。

采用PL/SQLDeveloper或Toad完成后台数据库表和存储过程编码。

4.测试采用Nunit进行单元测试,采用LoadRunner进行性能测试。

5.项目方面采用CQ进行需求变更和BUG的管理;采用CC进行项目数据的管理;采用Excel进行测试用例的管理和追踪;采用RP进行需求追踪和需求状态的管理;采用***进行项目任务的管理;采用***进行度量数据的收集后分析;采用**系统管理相关的同行评审。

更多信息请访问:项目管理站论坛。

【项目管理知识】项目管理:配置管理是一个过程

【项目管理知识】项目管理:配置管理是一个过程

项目管理:配置管理是一个过程做了一年多的开发,然后转过来做配置管理,看了一段时间的书,结合理论上的东西,再回头看看以前做过的项目,对配置管理有了一点自己的看法。

在这里写下来,不知道对不对,不对之处还请大家指正。

个人认为作配置管理,不要只把自己定位在一个狭隘的空间里。

一天围着工具写写清单,管管权限就足之够已。

配置管理是一个过程,这个过程不是靠一两个"所谓的"配制管理员对着工具忙忙碌碌的不断操作就能够保证的。

当然,工具的使用对过程的帮助是巨大的,但是对于这个过程,一个真正的配置管理者更多的应该是想着怎么去完善她以适应项目,这是一种思想。

这就需要我们看得广一点,远一点。

所以对于这个过程中的每一个角色,每一个职责,配置管理员都应该深入的去了解。

之前看到一篇帖子,讨论配置管理员需不需要技术做铺垫,我觉得技术是一方面,倒是开发经验还是有帮助的。

技术的掌握有助于我们更好的对工具进行定制,而开发经验就有助于我们更好的对一个过程进行制定和理解。

当我们向项目组提出方案时,我们首先会去思考要怎样说服他们来遵循这个过程,但是我觉得更重要的事情是,在想着怎样说服他们之前,思考一下自己定出来的过程是否正确,是否能真正的帮助项目。

要做到这一点,我觉得应该有一点开发经验的积累还比较好。

但也不否认可以直接跳过开发作配置管理,毕竟学一门就需要精一门,当你真正选择了做配置管理的话,就需要把大量的精力都投入到对配置管理的学习中,学习开发方面的知识肯定少之又少。

不过在管理的过程中,应该经常接触项目,体会项目相关人员的疾苦,这样才能为项目量身定做一套好的"衣服"。

古时候不是经常有皇帝微服私访,体会民间疾苦吗?呵呵,当然这个比喻不太恰当,公司上上下下,里里外外大家都是兄弟姐妹嘛。

对于配置管理所处的位置,我觉得应该从两个方面去考虑她。

首先,请注意是"首先",我们是为项目服务的。

当然这个服务肯定没有贬低配置管理的意思。

项目管理知识点

项目管理知识点

项目:用有限的资源、有限的时间为特定客户完成特定目标的一次性工作。

项目的特点:多目标性、一次性、生命周期性、临时性、渐进性和对资源的依赖性。

项目管理:是以项目为对象的系统管理方法,通过一个临时性的、专门的柔性组织,运用相关的知识、技术和手段,对项目进行高效率的计划、组织、指导和控制,以实现项目全过程的动态管理和项目目标的综合协调与优化项目的生命周期概念:4个阶段——启动、计划、执行、结束项目过程:5个过程——启动、计划、实施、控制、收尾项目的组织理论:矩阵模型及其区别—职能型、弱矩阵型、平衡矩阵型、强矩阵型、项目型。

—PMO:项目管理办公室就是为创造和监督整个管理系统而负责的组织元素,这个管理系统是为项目管理行为的有效实施和为最大程度的达到组织目标而存在的。

WBD:创建工作分解结构WBS:将项目大的可交付成果与项目工作划分为较小和更易管理的组成部分。

WBS(Work Breakdown Structure)主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素CMM的五个等级:初始级可重复级已定义级已管理级优化级Level 1 特点特点特点特点: — 只考虑个案,混乱无序,项目管理差— 不切实际的计划安排,项目超时、超支— 资源不恰当— 危机四伏— 缺乏改变的控制,随意更改— 只想到编程和测试— 成功完全依赖几个能人Level 2 特点特点特点特点: — 对项目和交付的任务实行控制— 严格的项目管理— 对改变有正式控制— 设立了成本、计划和功能跟踪的管理过程— 为再现过去的成功,进行了必要过程的训练Level 3 特点特点特点特点: — 管理和工程活动的软件过程已文件化、标准化— 所有项目包括维护都用经批准,采用被裁减过的标准软件过程仍是定性化的,缺乏数据度量Level 4 特点特点特点特点: — 对软件过程和产品质量收集数据并度量— 用数据管理和控制Level 5 特点特点特点特点: — 对管理的技术数据分析并反馈— 持续的过程改进— 高度的源程序的再利用— 高度的设计的再利用CMMI是目前世界公认的软件产品进入国际市场的通行证CMMI的目标:第一个是质量,第二个是时间表,第三就是要用最低的成本Iso9000(一族标准的统称)的八个原则原则1:以顾客为中心原则2:领导作用原则3:全员参与原则4:过程方法原则5:管理的系统方法原则6:持续改进原则7:基于事实的决策方法原则8:互利的供方关系需求变更的因素有哪些该如何解决软件项目成本估算的方法项目管理:是以项目为对象的系统管理方法,通过一个临时性的、专门的柔性组织,运用相关的知识、技术和手段,对项目进行高效率的计划、组织、指导和控制,以实现项目全过程的动态管理和项目目标的综合协调与优化项目三要素:临时性渐进明细独特性PMBOK9个知识领域整体管理时间管理成本管理人力资源管理采购管理质量管理范围管理风险管理沟通管理生命周期项目的生命周期概念:4个阶段——启动、计划、执行、结束PMI:过程、产品或服务满足明确或隐含的需求能力的特征人们经常对矩阵组织产生的抱怨是,在矩阵型组织中沟通:A.简单B.开放而准确C.复杂D.难于自动化对于许多跨职能部门的活动,哪种组织结构最有效?A.矩阵型B.项目型C.智能型D.任何组织请判断以下所举的例子中,那些是项目:A.每天上班、B.现有设备改造、C.同一型号电冰箱的生产、D.提高产品质量项目利害关系者可能包括最终用户供应商市民所有上述选项项目的成功主要依赖于:A.进度计划、成本控制和项目的质量B.客户满意度C.定义客户需求时客户的妥协D.通过“镀金”超越客户的要求下列哪项不是项目生命期的一个过程:A.计划(Planning)、B.启动(Initiating)、C.收尾(Closing)D.项目可行性研究(Project feasibility study)项目范围管理——定义、控制范围管理:对项目包括什么和不包括什么的定义与控制过程范围管理的过程——项目启动、范围计划、范围定义、范围核实、范围变更控制选择项目(方法——净现值分析)项目章程是一个正式承认项目存在的文件,必须经项目干系人签字一致同意,在启动结束时建立。

项目管理5大过程知识

项目管理5大过程知识

项⽬管理5⼤过程知识项⽬管理包括五⼤过程:启动、计划、执⾏、控制、验收。

本章主要介绍项⽬管理五⼤过程定义,及实施各个过程的主要内容及特点。

项⽬启动⼀、项⽬启动主要内容项⽬启动就是要在现有资源条件的限制下选择最佳的项⽬,认识项⽬的收益,准备项⽬许可所需的⽂件,委派项⽬经理。

即有关⽅⾯正式认定⼀个项⽬应该开始,并向这个项⽬提供相关资源,其主要的⼯作内容如下:1、任命项⽬经理、建⽴项⽬团队项⽬启动后要任命项⽬经理、建⽴项⽬团队或管理班⼦,着⼿项⽬的具体准备。

(1)项⽬团队:具体技术新⼯作或管理职能均由参加项⽬的成员承担。

(2)管理班⼦:核⼼班⼦仅履⾏管理职能,具体的技术性⼯作由其他⼈或组织完成。

(3)项⽬经理的选择:项⽬经理是委托⼈的代表,是项⽬班⼦的核⼼,是项⽬起动后项⽬全过程管理的中枢,是项⽬有关各⽅协调配合的桥梁和纽带。

⼀定要慎重地选择适合的⼈担任项⽬经理。

(4)项⽬经理应具备的技能:——沟通技能;——组织技能;——应⽤知识、技术与创新技能;——制定预算技能;——解决问题和应变技能;——谈判和影响技能;——领导和⼈际交往技能;——队伍建设和⼈⼒资源管理技能。

2、配备资源和管理根据项⽬组织结构,安排具有能⼒的⼈员;配备适⽤的⼯具、技术、⽅法和实践去监测和控制各过程。

3、确定项⽬⽬标项⽬⽬标要指出需要完成什么,或者产出什么;要明确达到项⽬⽬标的识别标志(当达到这个⽬标时,项⽬即算完成)。

项⽬⽬标应当具体、可度量、准确、实际、并有时限性。

4、规定项⽬要求项⽬要求与项⽬⽬标不同。

项⽬要求是指对⽬标或者可交付成果的规定。

项⽬要求构成了对产出的项⽬产品或服务的规定,或必要的前提条件。

5、明确项⽬的可交付成果成果项⽬的可交付成果是项⽬要求之⼀;可交付成果与⽬标相似,必须是具体的并且是可以检验的;可交付成果要形成⽂件并通知到有关的负责部门和⼈员。

6、与项⽬⼲系⼈沟通(与⽤户沟通)项⽬与他们的利益有关的⼈是项⽬⼲系⼈,在制定计划过程中得到认定的;为了确定项⽬的具体⽬标,需要会见每⼀个关键的项⽬⼲系⼈,了解他们对项⽬⽬标的想法,并记录到⽂档中。

项目管理的要点

项目管理的要点

项目管理的要点项目管理的要点成功的项目管理需要诸多的因素,但以下8个方面相对来说是比较主要的,是作好项目管理工作的关键,我们一起来了解一下!1、明确客户需求在接手一个项目时,有些项目需求的是明确的,有些项目的需求是隐含的。

有时候客户的前期需求是比较模糊的,要通过项目进展的逐渐推进进而清晰。

明确客户需求,进行准确的市场定位,是开展项目的前提,它有利于制定项目目标。

如果你接手了一个开发软件项目,可能客户只是大体描述主要用途,因其不是该方面的专业人士,不会描述的那么具体,这就需要我方为其进行咨询,通过几次交流不断研讨,使项目目标逐渐清晰;切记不要盲目开始,这涉及到项目范围、开发成本和进度问题,还有造成返工的风险。

要记住客户永远都是吝啬的,他多数情况下不会为你的返工买单;开发房地产项目,首先要进行市场调研,进行城市总体定位,明确当地客户需求,喜好哪种户型,塑造哪种小区环境,只有将这些工作做到前面才能使项目有一个良性的开始。

2、争取高层的支持高层不良表现主要在下面3种情况:①过多干涉你的管理质疑你的管理能力,事无大小,均加以过问,让你频繁汇报,这样会加大你的沟通成本。

碰到这种“敬业”领导,你首先要制定一个完整的项目计划,让他知你所为;从组织要一道圣旨(项目授权书),明确你的权限;按照组织程序定期向其汇报;②指令朝令夕改朝令夕改令你无所适从,不能进行良好的计划,影响下一步工作的开展。

造成工作暂停,还会造成不必要的返工。

这是由高层个人秉性造成的,你要提供充分的项目信息供其决策,关键时刻利用组织程序签下备忘录。

国人往往就是这样反复无常,嘴上说的不算数,只有落到纸上才承认。

③不充分配置和抽调项目资源认为你的项目不是公司主要项目,对你的项目不能配备需要的人员,甚至有些岗位空缺;碰到别的项目人手紧缺还会从你的部门抽调人员,使你雪上加霜;项目经理最怕碰到公司分派的不是优先权的项目,各种资源都成问题,碰到这种项目你别无选择,只有两种出路:一是让你项目获奖;二是作好这个项目争取引出客户后续大定单,这个项目只算做广告了。

【项目管理知识】10件项目接近尾声时应该做的事

【项目管理知识】10件项目接近尾声时应该做的事

10件项目接近尾声时应该做的事于你的组织规模,你可以把项目管理视为一项偶尔的实践或者可以拥有一个复杂的PMO。

不论那种情况,你可能通过典型的项目初始、精化和构建过程。

但是到了项目终结的时候,很多项目经理只讨论短期的终点线。

后的步骤处理不好会给行动增加混乱并且可能导致客户不满、员工不悦,并把项目拖得比所需时间更长。

这里是一些你需要在达到你下一个项目的终点时要考虑的事情。

其中有些项目是纯管理的,但其中很多能帮助你进一步保证你的项目能够成功。

一、终测试测试会耗费人员,而我们很多人都不愿意去做――特别是做过几轮之后。

我见过大量的四到六个月的项目有一两天的计划去测试。

没有安排适当数量测试的项目通常在实施的初几周内因问题而结束。

这里不要走捷径和将测试的重要性减至小;否则,你会为痛苦的进展过程而承担额外的风险。

二、终培训用户?谁关心用户?好了,很多项目都为了他们的利益而做,所以确信把你所有的测试资料完成并移交。

这个不做好有可能体现在发怒的客户半夜三更打来的愤怒的电话上。

三、确认交付物你检查了所有的箱子并清理了收件箱,而且你想真地结束了。

[提供]但你的客户怎么想?安排时间和你的客户检查所有的交付物并且确认他们已经得到满足了。

有些情况下,可能有一些特殊问题到你计划终止日期时尚未解决。

在你项目的早些时候,应该有一份协议来决定如果发生这样的情况会如何影响你的结束日期。

四、获得项目签字当你获得所有交付物都已满足的认可以后,请求在项目文档上做一个正式的签字。

这样做帮助确保所有人都认可项目状态。

因为这个签字通常标志着项目的正式结束,注意不要让你的客户感觉签字的压力。

如果他们在不明所以的情况下做了,你可能会在日后出现问题的时候终得到一个不满意的客户。

五、解散团队现在项目完成了,你的团队何去何从?基于你的组织,他们可能被送回一个开发池或者去做业务。

或者他们需要在企业内部为自己发起一些工作。

不管是什么,你要保证花点时间和他们在一起,并且设置一个明确的不再需要他们的服务的后日期。

【项目管理知识】综合管理:项目的生命周期

【项目管理知识】综合管理:项目的生命周期

综合管理:项目的生命周期概述项目的生命周期描述了项目从开始到结束所经历的各个阶段,一般的划分是将项目分为“识别需求、提出解决方案、执行项目、结束项目”四个阶段。

实际工作中根据不同领域或不同方法再进行具体的划分。

例如,按照软件开发项目划分为需求分析、系统设计、系统开发、系统测试、运行维护几个阶段,而在建筑业中一般将项目分成立项决策、计划和设计、建设、移交和运行等阶段。

项目生命周期的划分对于IT服务项目来说,从厂商看项目是从接到合同开始,到完成规定工作结束,但如果从客户角度看,项目是从确认有需求开始,到使用项目的成果实现商务目标结束,生命周期的跨度要比前者大。

因为项目的根本目标是满足客户的需求,所以按后者划分考虑比较有益,对项目管理成功也大有帮助:,识别需求。

当需求被客户确定时,项目就产生了。

这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。

商务上这个阶段以客户提出明确的《需求建议书》或《招标书》为结束标志。

这个阶段尽管可以由客户单独完成,但如果厂商介入则非常有利:一方面可了解客户真正需要什么;另一方面早期的交流可建立良好客户关系,为后续的投标和合同奠定基础。

收集整理第二,提出解决方案。

主要由各厂商向客户提交标书、介绍解决方案。

这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。

如果竞标成功则签定合同,厂商开始承担项目成败的责任。

这个阶段容易出的问题是:因看不见终产品,销售人员可以“随便说”,甚至过度承诺(因不用他们去执行),由此会造成公司的损失。

防治的方法是一方面在合同中明确定义项目的目标和工作范围,另一方面在公司一层建立合同审核机制。

第三,执行项目。

从公司角度来看这才是项目的开始。

这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。

一般需要细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。

因为IT 项目的不确定性,项目监控显得非常重要,特别是有众多项目同时运行的IT公司,必须建立公司一级的监控体系跟踪项目的运行状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目开发过程与思想
引言
计算机软件尤其是数据库软件,成为了当代计算机应用的主流。

因此软件开发人员就必须掌握正确的开发手段,了解软件开发的主要过程,这样心中对软件项目才有清醒的认识,才能达到事半功倍的效果。

本文就软件开发过程中的一些方法,结合本人开发过的一些软件项目做一些详细论述。

1开发前的准备工作
一般软件项目在开发前都有系统任务书,主要规定软件的开发目标、主要任务、功能、性能指标及研制人员和经费、进度等安排,作为系统设计开发和检验的基本依据。

系统任务书的基本框架如下:
(1)引言
包括编写目的,背景,参考资料。

(2)系统的目标及任务
包括系统建设目标,系统的主要任务,系统性能指标,系统标准化要求。

(3)系统的结构及功能
包括系统应用组成及结构,系统主要功能。

(4)系统的规模及进度要求
包括系统规模,系统研制进度,人员计划。

但是系统任务书只是这个软件项目的一个基本要求,针对具体情况,软件开发人员和需求分析人员就要联合对软件项目的细节进行具体分析,必要时还要进行实地调研,然后共同商讨写出系统的需求分析,需求分析的编写目的在于:
a.说明系统在军事方面、技术方面、经济方面和社会条件方面实现的可行性和必要性;
b.分析原系统(工作环境)现状,描述待开发系统的详细需求,提供用户和开发人员之间沟通的基础,提供项目设计的基本信息。

需求分析报告的基本框架如下:
(1)概述
包括编写目的,背景,参考资料,术语及缩写词。

(2)对现有系统的分析
(3)待开发系统的详细需求
包括功能需求,使用范围,业务流程,用户界面,输出要求,故障处理。

(4)使用环境
包括网络环境,硬件环境,软件环境,与其他系统的关系,安全与保密。

(5)可行性分析
包括技术可行性分析,经济可行性分析,人员可行性分析,影响待开发系统的主要因素。

(6)结论意见
2软件开发过程
有了系统任务书和需求分析报告,软件设计人员就要对软件项目的实现进行系统分析,系统分析包括系统的总体方案,系统的设计说明,作为软件设计的依据。

具体说明如下。

2.1系统总体方案
在系统开发单位和用户充分交互、理解的基础上,提出系统的技术构架,对系统功能、性能等主要指标作描述,对实现方法和要求作规定,是系统进行详细设计的依据。

相关文档
最新文档