软件测试之敏捷项目风险管理
发布时间:2020-09-04

敏捷项目管理是近年来最为流行的项目管理方式之一。这主要归功于敏捷管理的特点:尽早交付、持续改进、灵活管理、团队投入、充分测试。它能充分利用测试周期,并监测每个测试过程中容易出现的问题,加快项目迭代速度,从而推进项目高效前进发展。


今天,我们就一起来聊一聊敏捷风险管理。


1、对于敏捷项目的理解


如果你也认为传统项目与敏捷项目的区别在于:


传统项目:需求、设计、开发、测试、发布。高中低级需求同时进行,每个阶段的输入依赖上个阶段的输出,越晚发现问题,可控性越差。


敏捷项目:高级需求、设计、开发、测试、演示与变更;中级需求、设计、开发、测试、演示与变更;低级需求、设计、开发、测试、演示与变更;集成、测试、发布。


那么,显然这种看法是不合理的。因为对于敏捷项目来说,整个过程和过程中的人都是倡导自由的,且对整个流程中,从上对下的影响都是很小的。因此,实际工作中的敏捷,其实是没有一个标准的流程模型图。


但,为了让初次接触敏捷项目的人,能够直观地了解敏捷项目是分段开发的流程,笔者想通过一张图,让大家先对此有个直观印象。



我们都知道,计算机技术自从20世纪问世以来,就呈几何式变化。但管理项目的流程却没有跟上技术的发展速度。因此,在很多项目中,由于时间、成本、需求偏差、质量存在很多偏差,因此,很多项目一上市就受到了质疑,甚至有20%左右的项目,还未问世,就宣告失败了。


在这种情况下,敏捷管理顺应时代的潮流诞生了。由于敏捷管理具备能力强、改进效率高等特点,因此,在投入大量项目管理中,敏捷管理出现了很多可圈可点的表现。比如:


● 从高级需求向低级需求运作,大大提高了软件发布后的产品的期望值。


● 产品在开发过程会有很多需求变更的情况,颗粒式开发大大降低了变更成本。


● 需求变更如果影响到了项目的计划,可以用后面迭代中最低级的需求换取时间。


● 个体互动将更加频繁,需求的传递准确性将大幅提高。


● 阶段性和碎片化的迭代,使项目中的评估针对性将更强。


2、敏捷管理的人员配置


在很多传统的开发团队中,IT人员几乎扮演了整个项目的所有角色。但在敏捷项目中,业务人员也被纳入了进来。


这可以有效的减少烦琐的文档传输,直接让人与人进行沟通,不但可以提高质量,还能增加每个人的价值。


3、敏捷项目的管理


1)需求的管理


敏捷项目应尽早地开发有价值的需求,并持续不断的满足客户需求,从而体现软件带来的价值。


敏捷项目提倡提出有价值建议,鼓励任何时候对需求做出变更。另外,成熟的敏捷产品,可在短期内,持续发布有价值的产品。


这意味着在一个版本中,我们需要将需求进行等级划分,优先迭代需求优先级高、风险等级高的产品需求。在明确好本次迭代任务后,做好需求基线,确定需求范围,做好详细的迭代计划,再进行正式迭代。


对于项目进行过程中的需求变更,敏捷项目不提倡更改既定的迭代内容,并提倡预留15%缓冲(buffer)时间,用来完善本次版本的升级。


2)时间的管理


敏捷开发采用时间盒(Time Boxing)的方法,即限定时间但不限定范围。这意味着不过度承诺,不影响迭代周期,避免因为临时增加内容,导致既定的迭代内容无法在限定时间完成。


对于传统项目来说,其中一个重要的痛点就是,计划永远赶不上变化。这个问题产生的原因主要是:


1)所有的需求都是依靠经验来预估的,计划的时间本身就存在偏差;


2)人员技能的不足,业务技能和专业技能都可能存在缺乏的情况;


3)需求设计漏洞,这会造成需求在某个阶段的被动变更;


4)客户主动变更需求,这是我们需要积极配合的,提升产品的价值和价格。


3)成本的管理


项目成本管理,是指为保障项目实际发生的成本不超过项目预算,而在批准的预算内,按时、按质、经济高效地完成既定目标,而开展的成本管理活动。


成本管理主要包括:项目资源规划、项目成本估算、项目成本预算、项目成本控制等。


在实际工作中,管理水平对成本的影响很大。高水平的管理不仅可以提升预算精准度,还能加强对项目的执行和监督,控制工期,从而降低企业成本和风险。


因此,在成本管理这一块,管理者对于实际运作效果影响突出。


4)质量的管理


软件测试的最终目的,是为了保证产品的质量。也就是说,质量的管理是在整个测试过程中,由各环节所决定。


那么,敏捷的质量管理与传统的质量管理有哪些区别呢?这主要体现在:


1.协助角色的变化。敏捷项目中,会有敏捷教练的角色加入。这些熟知敏捷运作流程的专业人士,会协助指导项目团队的流程运作。


2.个人因素的变化。除了测试本身的专业知识、个人能力、测试经验以外,还有测试人员对于敏捷项目的运作理解和节奏把控上。


3.自动化测试比重的提升。传统项目的周期和测试重复率要低于敏捷测试。基于敏捷测试的测试重复率高的问题,因此,在敏捷项目中,持续集成的自动化测试就显得必不可少。但从另一方面来说,自动化测试比重的提升,也对工作效率提升起到了很大帮助。


4.敏捷活动的有效指导。敏捷是个理念的开发流程,只有合适且高质量的流程控制,才能开发出高质量的产品。因此,敏捷模式比传统流程的质量管理更具多样性和挑战性。这也使得所有项目参与者之间的交流变得紧密。只有参与者之间的交流更加充分,暴露出更多产品存在的风险,并积极合力应对,才能在产品开发过程中,使产品质量得以提升。


5)沟通的管理


项目沟通管理,改变了传统注重文档化管理的方式。文档虽然可以有效传承,但效率和应变能力是个弊端。但沟通,却可以快速建立起良好的合作关系,并使日常工作都变得更加简单。


敏捷沟通中,存在的常见活动主要包括:sprint计划会议、头脑风暴、Showcase、Stand-up Meeting、评审会议、回顾会议等。对比传统的沟通管理方式和沟通方法,敏捷沟通管理存在这些特点:



6)风险的管理


风险管理是项目管理的重要组成部分,风险管理主要包括风险识别、风险分析、风险应对和风险监控四个过程。


软件项目风险是指在项目开发的过程中,遇到各方面的问题,以及这些问题对软件项目的直接影响。包含影响项目的进度,增加项目的成本,甚至造成项目周期性的失败。


敏捷流程本身的特点就是尽早实现产品价值,快速的经常性交付,由此看来敏捷项目本身就是解决了最大的传统流程项目的风险,也就是项目无法交付的风险。所以敏捷项目并没有特定风险管理的内容。


即便如此,敏捷测试任然存在风险。这主要体现在:需求风险、人员风险、技术风险和进度风险等方面。


当然,任何测试存在风险,任何模式也无法避免风险的产生。因此,项目管理者需要不断在项目管理中汲取经验,做好项目总结工作,持续优化管理流程和改进管理中的细节,做好降低和解决风险的准备。


文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。

相关阅读
/