软件项目管理面试题_项目经理面试必看PMP知识_百度文库.

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

_项目经理面试必看 PMP 知识

软件项目管理面试题

1. 范围、时间,成本,这三项中哪些是可以由客户控制的?

范围、时间、成本,是项目管理中常说的三角关系。任何一方改变都可能牵扯到其他两方的变动。项目管理的本质, 就是在保证质量的前提下, 寻求这三者之间的最佳平衡。因为客户是需求方和投资方, 客户有权对这三者进行控制, 当然客户主要控制范围, 即提出他们的需求——项目要实现的功能特性, 其次, 客户也非常关心能交付的时间和所付出的成本。在满足客户的需求情况下, 可以在时间、成本

上和客户进行交流、谈判。从项目管理的角度看, 最好固定其中一项, 其他两项可以根据实际状况来调节保证项目质量。

2. 谁该对项目中所要付出的一切做出估算?谁有权设置最后期限?

项目成功是团队协作的结果。在对项目进行估算的时候, 需要由参与项目各个环节的人进行符合实际的估算, 最后汇总起来进行综合分析计算, 获得项目总的估

算结果。

项目的最后期限设置除了客户定死最后交付时间, 其他的情况都是根据项目的进度估算结果而进行符合实际的计划得出的。

3. 减少交付的次数,或是减少每个每个交付中的工作量,你喜欢哪种做法? 根据

项目的类型和项目进行中的实际情况来决定,如果项目是规模比较大, 时间长的, 那

么就应增加交付次数或者减少每个每个交付中的工作量, 以便及时考察项目进展,

保证项目进度。例如, 一个项目按计划进行到第一个里程碑发现项目进度明显落后, 而下一个检查点 (也就是交付的工作量距离还很长管理层需要及时了解其进展, 那么交付的次数的就要根据现在的时间状况来增加。反过来,如果这个项目的进度非常好,甚至超前,而下一个检查点(也就是交付的工作量距离还很短,我们就可以减少

交付次数。

在传统的软件项目中, 开发周期比较长, 往往减少交付的次数, 更好地控制质量; 而现在, 有一部分公司比较倾向于敏捷方法, 喜欢减少每个交付中的工作量,交付周期只有几周时间(最短的周期,可能是一周 ,拥抱变化,更好地、更及时地满足用户的需求。而对互联网上的 web 应用软件开发, “减少每个每个

交付中的工作量” 是一个比较好的策略, 力求及时获得用户的反馈, 将用户的需求及时融入新的版本,及时发布出去,赢得竞争市场。例如,在我新书《软件工程导论》中专门有一节讨论“永远的Beta ”的软件工程思想。

4. 你喜欢用哪种图来跟踪项目进度?

还是要根据项目的特点来决定, 具体项目具体对待, 当然, 有时也不能由自己决定,而是取决于公司已有的工具和习惯。对于复杂、规模大的项目,可能要借助甘特图和网络图来分析和跟踪进度。简单、规模小的项目根据进度报告百分比和表格跟踪就可以了。

5. 迭代和增量的区别在哪里?

软件开发不是一躇而就, 其过程犹如雕琢一件工艺品, 由无形到有形、由粗到细,很难一次就能开发出功能完善、强大的一个版本,而往往是分阶段进行, 一个版本接一个版本的发布出去。软件开发分阶段可以通过两种模型来描述, 即增量模型和迭代模型。

增量模型描述软件产品的不同阶段是按产品所具有的功能进行划分, 先开发主要功能或用户最需要功能, 然后, 随着时间推进, 不断增加新的辅助功能或次要功能,最终开发出一个强大的、功能完善的、高质量的、稳定的产品。

迭代模型描述软件产品的不同阶段是按产品深度或细化的程度来划分, 先将产品的整个框架都建立起来,在系统的初期,已经具有用户所需求的全部功能。然后,

随着时间推进, 不断细化已有的功能或完善已有功能, 这个过程好像是一个迭代的

过程。最终的目标是一致的,也是为了实现一个强大的、功能完善的、高质量的、稳定的产品。

举一个例子:假设现在要开发 A , B , C , D 四个大的业务功能,每个功能都需要开发两周的时间 . 则对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成 A , B 功能,第二次增量完成 C , D 功能;而对于迭代开发来将则是分两

次迭代来开发,第一次迭代完成 A , B , C , D 四个基本业务功能但不含复杂的业务

逻辑,而第二个功能再逐渐细化补充完整相关的业务逻辑 . 在第一个月过去后采用增量开始时候 A , B 全部开发完成而 C , D 还一点都没有动; 而采用迭代开发的时候A , B , C , D 四个的基础功能都已经完成 .

6. 试着解释一下风险管理中用到的实践。风险该如何管理?

风险管理的实践很多,包括头脑风暴、风险列表(checklist 等。例如,人们常采用十大风险清单:在项目进行中, 不时地更新和处理项目当前风险最高的前十项风险, 以保证项目不脱离主轨道。因为项目中的风险大大小小会很多。十大风险清单就是抓住重要的风险及时处理,而又关系的小风险可能也就随之消失。从这里可以看出,风险也是动态的,需要经常地、及时地评估当前的风险, 例如每周或每两周进行一次风险评估。

风险管理就是通过风险的识别、预测、估算和衡量、选择有效的方法和手段, 对风险进行预防、避免、降低或者转移的管理过程。

7. 你喜欢任务分解还是滚动式计划?

根据项目特点来定,一般会选用任务分解的计划,责任清楚,可控性更强。滚动式计划的灵活性比较强,适应性比较好,但容易引起大家对计划不够重视, 计划能力降低,或者可控性会差些。有时会将这两种方法结合起来使用。

8. 你需要哪些东西帮助你判断项目是否符合时间要求, 在预算范围内运作? 前提是这个项目的进度计划和成本计划是符合项目实际情况并不断随着项目的时间发展而滚动更新的。

确保收集的进度和花费的成本就真实可靠的。

在此时项目的范围没有影响到时间和成本的规划。

那么就可以根据项目时间与计划的内容进行对比来判断项目符合时间要求, 在预算范围内运作。常用的方法有基线对比法和挣值法。

9. DSDM 、 Prince2、 Scrum ,这三者之间有哪些区别?

动态系统开发方法(Dynamic System Development method, DSDM 是众多敏捷开发方法中的一种, 它倡导以业务为核心, 快速而有效地进行系统开发。该方法的详细内容,可以参考:DSDM 业务中心框架开发方法(第二版。这种方法主要是在英国应用比较广泛。一般来说, 敏捷方法适合于规模比较小、变化比较快(需求不够稳定的项目,而对大规模软件,特别是在关键性、可靠性、安全性方面有很高要求的开发项目, 则不适合。当然, 可以在某些项目小组内实施; 也是可以的。敏捷开发的方法很多,包括下面所说的 Scrum 、自适应软件开发 (Adaptive Software Development , ASD 、 Crystal 方法和特性驱动开发 (Feature-Driven Development, FDD ,可以参考《敏捷软件开发生态系统》。

PRINCE2(PRojects IN Controlled Environments 2 为项目管理提供了一种结构化的方法,这种方法最早是在 1989年由英国政府计算机和电信中心(CCTA 开发的,作

为英国政府 IT 项目管理的标准。 PRINCE2如今日益流行,是英国项目管理的标准, 它为管理项目提供清晰界定工作框架, 介绍如何协调项目中的人和活动、如何设计和监督项目以及在项目发生变更的情况下如何调整的流程。每一个流程都详细标

出关键的输入、输出和具体目标及要执行的活动, 这为计划偏差提供了自发的控制。这种方法把项目划分为多个管理阶段, 保证让所有资源得到有效的控制。依靠严格的监控,项目在控制和组织的方式下得到执行。 Scrum 是一种迭代式增量软件开发过程,通常用于敏捷软件开发。 Scrum 在英语的意思是橄榄球里的争球。Scrum 是一个包括了一系列实践和预定义角色的过程骨架,其主要角色包括同项目经理类似的 Scrum 主管角色——负责维护过程和任务, 产品负责人代表利益所有者, 开发团队包括了所有开发人员。在每一次冲刺(一般为 15到 30天周期 ,开发团队

创建可用的、可随时推出的软件一个增量(小版本。每一个冲刺所要实现的特性来

相关文档
最新文档