文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

风险被定义为由于外部或内部因素而导致任何负面因素的发生,风险可以通过预防措施减轻。所有的项目都有风险。事实上,当你进行项目工作时,会有无数的事情阻碍你实现目标。风险管理最大限度的减少了那些会导致项目失败的威胁,并允许你保持项目的进程、预算以及质量要求在你的掌控之中。

依据经典的PMBoK指南,风险管理可以被分为四个过程:

  1. 识别。 检测可能会妨碍实现项目目标的风险。

  2. 分析。 确定什么样的风险是最危险的。

  3. 计划。 对最危险的风险进行计划。

  4. 监控并控制。维护项目计划,不断识别风险。

正如任何行业一样,web开发有其独特的风险。本文我们将谈论当开发IT产品可能会面对的风险,以及在RubyGarage公司如何减少这些突发事件发生的可能性。

本文列举了在web开发过程中几个常见的风险。

 

第 1 段(可获 2.33 积分)

风险: 项目工作范围

在规范中, 项目工作范围(SOW)包括合同信息、客户、项目交付物以及里程碑。定义相关的项目工作范围是具有挑战性的,因为每一个合同以及所有的需求都是不同的,写一个完整的描述项目工作范围的文档是费时的。有关项目工作范围的常见风险如下所示:

  • 项目工作范围很少被指定. 这里的风险是指错过重要的细节或者是当定义工作范围是仅仅简单的犯了个错误。

  • 范围蔓延. 范围蔓延是指无预期的变化以及一个项目范围的无控制的增长。范围蔓延可能意味着满足时间约束的失败、额外的花费甚至是整个项目的失败。

  • 增添不必要的功能. 依据PMBoK所说,那些不在原本范围内的额外功能被称为“镀金”。镀金是额外风险(额外的花费、人力资源、时间、测试等等)的来源,被认为是糟糕的管理实践。

第 2 段(可获 2.09 积分)

risk management in development

虽然项目经理试图最小化SOW改变,有一些改变对于项目来说是紧急并且必要的。在工作流程中  我们坚持适使用适应任何变化迭代的敏捷方法。这种方法通过sprints (持续2到4周的开发过程) 来实现。在一个sprint里,团队成员决定在下一个sprint里应当实现产品的什么功能,应当如何测试,如何确认(通过制定验收标准),等等。。。。。。

敏捷方法在每个迭代的开始时重新规划范围,并在项目开发过程中不断的估计变化以解决范围蔓延的问题。这样,范围蔓延的问题成为了有争议的问题。当范围蔓延是由应用程序中的缺陷导致的,这种方法在持续的测试环境中很有效。用这种方式,一个项目团队在最初阶段就能直接解决问题,并且保证项目在期限内完成。

第 3 段(可获 2.04 积分)

风险: 人力资源/团队

人力资源不应当被低估。项目经理的职责之一是促进沟通顺畅并建立起客户和开发团队之间的合作。一些由人力资源提出的常见风险如下所示:

  • 团队的转换. 情况可能各有不同:开发人员可能病了,度假了或者在项目中途立马离开了。

  • 学习时间. 一个团队成员学习一门新的编程语言,软件,或者是硬件部分是需要花费时间的。

  • 低下的团队凝聚力. 内部冲突可以让一个团队瓦解。

  • 招聘过程. 雇佣具有核心技能的专家是需要花费时间的,在某种情况下,雇佣过程会花费太多时间。

  • 空闲的利益相关者. Stakeholders是那些与项目有利益关系,却不直接参加开发过程的那些人(终端用户也是Stakeholder)。在项目中,利益相关者(Stakeholder)的角色是由他们的影响力和利益决定的。在项目管理中,一个典型的错误是未能识别充分参与的利益相关者,这会导致利益相关者缺乏热情,并导致无法建立成功的产品。

第 4 段(可获 2.6 积分)

management risk

在RubyGarage,我们意识到人力资源对于实现项目成功的重要性。我们挑选、聘请并培训员工培养敬业精神和团队合作精神。内部员工的一个极大的优势是公司对于员工的表现有直接的责任。RubyGarage团队由5个部门、70人组成,公司拥有超过5年的Web开发经验。通过与RubyGarage这样的知名公司合作,你会得到一个成熟的团队管理。

此外,在RubyGarage,我们有三级人力资源风险控制。首先,我们公司内部有一位心理学家,正开展一个保留项目,以开发更好的工作环境。心理学家有助于帮我们有意识地创造一个积极的工作环境,为我们的团队提供一个更好的氛围。

 

第 5 段(可获 1.7 积分)

第二,我们确保如果一个程序员休假或生病,有其他具有相同的水平的技能的开发人员可以替代他。第三,我们的开发团队成员由项目经理管理,他可以解除问题并消除团队成员间的误解。

风险: 技术

技术性质的风险存在于每一个IT项目中。我们已经选出了一些非常重要的风险,需要在管理web开发项目时谨记于心。

  • 应用程序是不可扩展的可扩展性是软件的能力,以应付日益增加的负载或者能在另一个地方很容易复制。如果一个应用程序已经由以前的团队开发且不具扩展性,那么在满足性能需求方面可能会遇到困难。

  • 应用程序不稳定. 有充足的原因为什么应用程序会崩溃:浏览器不兼容,不正确的内存使用,致命的产品缺陷以及其他更多的原因。总是会有这样的情况发生:程序崩溃导致用户失望并且阻碍了应用程序的成功。

第 6 段(可获 2.2 积分)

web risk management

在Ruby Garage,我们实现了各种技术来加速应用程序稳定性。一个是版本控制系统 (VCM)--它允许软件开发人员集体管理他们的工作,避免重写彼此的代码版本。简而言之,VCM让团队成员访问代码修订版本并快速找到引起缺陷的大段代码。

我们也使用Git来确保我们的代码质量。在一般情况下,VCM被用作整个流程的一部分,称为代码审查。在风险管理方面,这种方法使我们能够在最早期阶段识别和修复错误并且能长期维护代码。

第 7 段(可获 1.51 积分)

此外,我们的开发团队还应用了自动化测试。我们使用自动化测试检测每一块新写的代码,检查其代码质量,并保证以最小的代价确保正确的功能。事实上,我们坚持这样一条准则,在测试用例创建出来检测代码之前,不应该写代码。这让我们尽量减少(如果不是消除)风险类型、语法错误以及在产品代码中其他不可预测的错误。

在一个项目发布后,我们将应用程序连接到崩溃报告软件,比如 Airbrake或者Crashlytics,追踪哪一块代码导致程序崩溃并立即实施调试。

第 8 段(可获 1.28 积分)

结论

这些都是你在web开发过程中可能会遇到的几个常见风险以及解决它们的常见方法。 RubyGarage的项目管理团队在工作中依靠经典的PMBoK指南来预测并减轻风险。我们也通过专注于团队间的有效沟通以及类似自动化测试的技术层面来减少未能按时完成任务的风险。如果你想讨论我们如何处理风险管理的有关细节,请在社交网络上联系我们,并且给我们发送邮件!

第 9 段(可获 1.1 积分)

文章评论