【项目管理案例】第八期:如何控制范围蔓延

2023-11-08 20:32

本文主要是介绍【项目管理案例】第八期:如何控制范围蔓延,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不知道大家在工作中有没有遇到过类似情况:需求总是不能很好的得到买方的认可,或者是各个团队之间对需求的理解都不能达成一致,再或者是项目范围总是在变,导致了项目不能够按时交付?

上面这些情况,很多团队都遇到过,特别是软件项目的乙方团队,那更是深受其苦。

同样,参与过软件开发各种角色的我也屡次深陷其中。根据项目管理三角理论,项目的范围、成本与质量相互制约。如果不能在项目中使用合理的手段和方法去确定项目范围,不能在项目过程中有效的控制范围,不能让项目范围在各相关方之间达成一致,那么会对项目造成严重的伤害。

当一群人同时向你提需求……

说到这个话题,不知道大家还记不记得在领导力第13讲的时候,我给大家分享的那个指导相关方的案例,这里我再帮大家简单回顾一下:

 案例背景 

这个项目是给一个区的几个小学做家校系统。因为当时涉及的需求方众多,所以在获取项目范围的时候,也遇到了难以想象的困难。甚至,在很多个关键需求上,有几方表达的观点是冲突的。

不仅如此,需求收集的战线拉的也特别长,消耗了大量的时间。经历了各种波折,最终勉强收集了一个基本涵盖了所有相关方诉求的一份需求文件,虽然根据这份文件签订了合同和开发协议。

但是,在项目过程中,不断有新的需求或变更提出,而且被表述为是必要的修改。我与项目团队对此也感觉到非常苦恼。

做不包含在合同范围中的事情,肯定会影响项目的进度和质量;不做呢,就不能获得客户的验收,陷入左右为难的局面。相信这也是众多的乙方项目经理经常遇到的情况,那作为项目经理,我应该怎么办呢?

控制范围的具体方法

 在PMBOK中对管理项目范围的表述是:

一个系统的、由几个过程组成的管理过程。

在这个过程中,我们对项目范围首先要做的是规划范围管理,以定义《范围管理计划》来记录如何定义、确认和控制项目和产品范围;然后就是要收集需求。在刚才的案例中,我们在收集需求的过程中是相当吃力的,也耗费了大量的精力。

那如何避免这种情况的发生呢,其实我们可以通过一些方法和手段,来确定和管理众多相关方想在项目中实现什么目的。

这里涉及到的方法工具众多有很多,也有近几年才刚发展出来的,比如说用户故事等比较能够适应当前复杂需求环境的工具和方法。

这些方法灵活程度很高,作为项目经理应该能在不同的方法中选择一个合适的,就能获取到项目的真正需求

接下来是定义范围的过程,根据收集上来的需求,去制定项目和产品的详细描述,并且能够定义这些产品或者成果的验收标准。从上面的案例来说,我们做的事情就是将收集上来的需求整理成册,并定义了什么叫“完成”,根据这些需求文件签订了合同和开发协议。

接着,我们要做的事情是很容易被忽略但也是极其重要的,那就是创建WBS,WBS也叫工作分解结构,WBS在项目中起到的作用在于,通过把项目的范围分解到较小的工作包,并形成一定的层次结构。使项目的范围易于维护,便于对项目的交付内容提供框架,以及便于对交付过程进行跟踪。

最后就是确认范围,也就是对项目可交付成果的最终验收,这一步一般是有甲方来做的。

学会“拥抱变化”

当然了在整个的范围管理过程中,有一个极为关键的活动是必不可少的,那就是控制范围。通常我们会将控制范围理解成,在项目进行中要对项目的范围做一个限制,甚至试图去取得客户的承诺,尽量保持稳定性。

其实不然,控制范围的真实意义在于:

让项目范围的变更及时被识别到,而且要用正确的方法去处理这些变更的发生。回到刚才那个案例中,我们在项目过程中就会收到许多变更的要求,且被告知都是必要的。

但是其实是不是必要的这件事,是需要评估和调查的,然后要执行一个固定的变更流程才能在项目中执行。有必要的时候,还要对项目的其他内容,比如说合同,做一些变更才能够执行。

其实作为项目经理,应该在前期收集需求的时候就告知客户做变更的程序和方法,也作为一种交流和沟通的手段,让客户与项目团队能够在一定的程度上尽量在同一个标准下开展工作。

另外,在项目进行的过程中,尽可能多的与用户做演示和交流,及早的发现项目范围的变化。对于项目团队来说,用尽量小的可运行产品甚至原型去与客户进行确认需求,也是业界中最佳实践的一种,这样有利于将变更的成本和对项目的影响降到最低。

经常有人讲,当今的软件会在市场的作用下频繁的变化需求,所以,软件团队要学会“拥抱变化”。

其实拥抱变化不等于范围蔓延,作为项目经理,在多变的需求环境中,要有意识的去管理需求变更对团队产生的影响,而不是阻止或者放任需求的变化。而且,在项目团队中,要尽早的识别这种变化,越早识别对项目的健康越有利,另外,在研发领域也尽量用灵活的框架,使变更的代价降到最小。

关于如何规划和管理范围的案例分享就到这里,希望各位听众能有所感悟,理解范围管理在项目中的重要性和实践思路,以便今后更加顺利的完成项目工作。

 今日要点 

▼ 项目范围控制的关键步骤有哪些?

1、首先要做的是记录如何定义、确认和控制项目和产品范围。

2、接下来采用不同方法来收集项目需求。

3、根据收集上来的需求制定项目和产品的详细描述,并且能够定义这些产品或者成果的验收标准。

4、创建工作分解结构(WBS),把项目的范围分解到较小的工作包,并形成一定的层次结构。使项目的范围易于维护以及便于对交付过程进行跟踪。

5、最后就是确认范围,也就是对项目可交付成果的最终验收。

这篇关于【项目管理案例】第八期:如何控制范围蔓延的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/372349

相关文章

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去