[读书笔记]《敏捷项目管理》--客户

这是本书的第二章,首要的就是讲述了顾客在开发过程中的重要性。
关于这点,我有一些自己的理解。关于什么是客户,书中的回答:“用创造的产品
产生商业价值的个人或者群体”。看起来很简单的回答,并没有完全解决我们可能
遇到的问题。比如下面这种情况:
A公司计划开发一种ERP产品,他已经通过B咨询公司做了市场调查并得出了目标用
户(对ERP有诉求的企业)的需求。A公司没有能力完全独立的开发这个产品,它又
把产品开发的一部份外包给了C公司。那么在这个生产过程中,C公司所面对的客户
到底是什么?A公司?的确,A公司通过产品产生了商业价值。那么对于那些目标用
户呢?他们通过使用该产品也产生了商业价值。还有一个问题就是,A公司所面临
的客户是那些目标企业,可是所使用的需求确实B公司的调查结果。这样的产品研
发,是否真正能够反映用户的需求?

我终于能明白,为什么需求分析能够成为一门学科并且在软件开发流程中扮演者如
此重要的角色。

显然,按照前述的解释,对于C公司来会所什么是真正的客户就会产生混乱,显然
作为外包公司C来说,他无法左右A公司的产品策略,也没有必要分配资源来重复 B
公司的调查工作。所以,我在这里,想得是重新定义客户的概念:对一个团队或者
开发群体来说,客户,就是对他们产生需求的接口。这个需求可以来自外部,比如
用户需求说明书,需求变更,用户体验等等,也可能来自内部,比如技术的限制,
数据库的配置。所谓敏捷的软件开发,就是在不断的迭代,演进的过程中,同时满
足内部和外部的需求。也就是书中所描述的,减少功能风险和减少技术风险。当
然,在可能的条件下,C也可以参与到A的产品策划的阶段,与A一起推动产品的演
进,但这只是一个客户策略问题或者可以叫做客户管理。
* 理清了这个概念,我们再回到前面的例子,刚好构成了如下所表述的情形:

1、最终用户是B的客户:最终用户向B提供了对ERP产品的需求
2、 B是A的客户:B的调查报告系统的阐述了此产品的需求
3、 A是C的客户:A从系统的角度把需求映射成了某些功能模块,并外包给了C。这
些模块所代表的功能是C的需求
4、 C同时也是C自身的客户:软件开发中必然会遇到许多技术上的问题,这些内部
需求同样也是C索要完成的

* 那么怎样开始迭代呢:

1、C完成了一些功能反馈一个版本给A:这样一个迭代过程中可能包含了C团队内部
的多次迭代用来解决内部和外部的需求
2、 A可能会反馈早期版本给B或者试用版本给最终用户:反馈是根据情况来变化
的,并不需要严格的反馈给B,虽然早期的需求来自B
3、 A通过B或者用户得到反馈信息,新的需求产生了

* 在开发过程的后期,可能B的作用不再重要,客户关系变成了如下的形式:

1、最终用户或者试用版本用户是A的客户
2、 A是C的客户
3、 C同时也是C自身的客户

这就是我对软件开发过程中客户的理解,也许用“需求方”更能准确地表述这个含义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值