首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统集成项目管理工程师:项目管理一般知识--敏捷方法和V模型

一、敏捷方法

什么是敏捷方法?是一种以人为核心、迭代、循序渐进的开发方法,适用于一开始并没有或不能完整地确定出需求和范围的项目,或者需要应对快速变化的环境,或者需求和范围难以事先确定,或者能够以有利于干系人的方式定义较小的增量改进。敏捷方法,也叫适应型生命周期、或者变更驱动方法。在软件项目的敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷方法的目的在于应对大量变更,获取干系人的持续参与。

敏捷方法里迭代很快(通常2~4周迭代1次),而且所需时间和资源是固定的。虽然早期的迭代更多地聚焦于计划活动,但通常在每次迭代中都会执行多个过程。以前,很多软件项目经理在学习项目管理时,一方面陶醉于其清晰的过程流程,但同时又困惑于它与自己的实际工作的差异。例如在开发软件产品时,一开始并没有或不能完整地确定出需求和范围,而是首先实现一个可以运行的大概的软件,然后和客户进一步地不断沟通探讨,不断修改甚至重构,“边设计、边建设”,小步快跑,并最终实现客户需求。

所以说,实际工作中的项目可能有两类比较极端:一类就好比是建设奥运场馆,它是大型的、相对固定或变更较少的、需要“集团军”来完成的;另一类就好比是建设个SNS 交友网站,开发一个桌面应用软件,或设计一款时尚手机,它们是小型的、不甚确定或变更很多的、需要“特种部队”来完成的。相应的,项目阶段之间的关系大致有三类:顺序、重叠,以及迭代。对于奥运场馆,阶段间的关系一般是顺序的:设计、采购、施工、验收及交付。而对于软件项目而言,很可能采用的是迭代关系:需求分析一设计及编程一得到部分可交付成果,然后再这样进行下一轮,即把软件的整个需求分析和设计编程都分散开来到每个阶段,每次只实现一部分可交付成果,尽早得和客户沟通、分析、调整,以满足最终的要求。对后者而言,如果一开始就消耗很多的资源、时间、花费在前期工作比如设计上,到中后期却发现并不适合客户的需求,这样的风险和变更所造成的代价是非常大的。

二、V模型

首先,看V模型的图示,V模型如图所示。

V模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。在不同的组织中对测试阶段的命名可能有所不同。在模型图中的开发阶段一侧,先从定义业务需求、需求确认或测试计划开始,然后要把这些需求转换到概要设计、概要设计的验证及测试计划,从概要设计进一步分解到详细设计、详细设计的验证及测试计划,最后进行开发,得到程序代码和代码测试计划。接着就是测试执行阶段一侧,执行先从单元测试开始,然后是集成测试、系统测试和验收测试。

V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。

(1)单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

(2)集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其他程序部分之间的接口上可能存在的错误。

(3)系统测试主要针对概要设计,检查系统作为一个整体是否有效地得到运行,例如在产品设置中是否能达到预期的高性能。

(4)验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要。

在不同的开发阶段,会出现不同类型的缺陷和错误,所以需要不同的测试技术和方法来发现这些缺陷。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OOiWDkafXgPb09im9ty3k3Qw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券