摘录:阿里软件研发总监叶伟:如何处理技术和需求的矛盾
2008-01-16 17:13
501 查看
叶伟认为技术和需要产生矛盾往往是因为两种情况。一是需求不清晰(如细节未考虑)、或者提出的方案不合理。这种情况下,技术会对需求方的方案做补充和修缮;如果从技术角度想到更好的解决方案,也会提出来。在不影响商业价值或用户的体验的前提下,需求方大都会认同,从而解决矛盾。
第二种情况是需求合理清晰,但是从技术实现成本过高或周期过长。这需要站在技术的角度重新考虑各种替代方案。如果替代方案既能满足需求又没有成本周期问题,则矛盾得以调解。比如阿里软件开发的一款外贸软件产品中,有着模糊搜索的要求。直接通过数据库来处理,性能是非常差的;通过搜索引擎,则成本太大;但如果不提供,从需求方来说就是没有达到要求。后来技术团队将多种方案综合,通过适当降低友好度,来实现这个功能的高效性。但有些时候未必能找到合适的替代方案,叶伟认为此时应当从商业价值、性价比等角度来考虑‘变更需求’,而且必须提交给上级经理或者产品会议作决定。
调节技术与需求之间矛盾的方法有很多种,但是原则却是大同小异。阿里软件研发总监叶伟结合自己十多年的带领团队开发经验总结了三个原则:
1,商业驱动。叶伟举例说,一个业务管理邮件收发系统,商业上要求对邮件数量进行统计,但之前和版本中没有这样一个计数器。如果从技术实现的难易度来看,开发人员脑中的第一印象是对保留下来的邮件进行统计。然而,由于用户之前可能删除了部分邮件,统计数目就不可能正确。所以,这个技术方案是不符合商业要求的,所以不可行,尽管它最省时。
2,需求和开发人员之间应当寻求共同的价值点。“这个价值点既不是开发人员的价值点也不是需求人员的价值点,而是用户的价值点。”叶伟说。理解了真正的商业价值,技术人员和需求方也就达成了共识。
3,技术不能逾越商业决策,商业决策引导技术。叶伟带领的阿里软件通常是根据需求做出几种技术方案让需求方选择。例如,阿里软件的最新软件产品AEP(电子商务平台)中要提供促销功能,一共想了三种方式:送用户礼包/优惠券、打折、购买返现金。这三种方式的技术实现成本和对用户的效果都不一样的,技术人员作出了概要的分析、比较,让需求方来决定。需求方最后选择了‘购买时返现’,由于另二个方案是互补的,也没有被废弃,列入了下二个版本。所以叶伟说,“即使某种技术方案不被选择,它仍可以作为下一个版本或者产品的方案。”
实际上,在产品开发过程中也难免会遇到描述模糊的需求,但又必须执行的情况,这种情况怎么处理呢?叶伟表示可以从两个大的方面来解决这个问题。
一是从方法学和流程的角度来处理,归纳为三点:
1敏捷开发方法;
2充分的版本迭代。互联网软件产品的版本周期大都比较短,阿里软件的经验是一般定为一至二个月;每个需求会细分,并按照重要性排定ABC优先级,再参照资源情况归入各版本。
3产品会议。“凡事预则立、不预则废。”在当前版本结束前召开下一版本的产品会议,提前作出产品规划,确定版本功能。
二是从个人执行的角度来处理。通过特征分解(Feature Breakdown)、格式化模板(Formatted Template)、模式化用例(Use Case Pattern)等手段,尽量让需求人员将需求描述得清晰而规范,降低模糊度。叶伟带领的阿里软件还会在开发前专门针对需求中的模糊点、复杂点等问题召开“需求确认会”,开发人员与QA一起补充和明确需求。
“这两个方面只能在开发前使需求更加清晰明确,但不能保证完全消除需求模糊的现象,因为在开发过程中,经常会遇到许多细节方面的问题,”叶伟说,所以如果在开发中遇到问题,他要求开发人员马上去沟通,然后寻找渠道与需求方确认。
第二种情况是需求合理清晰,但是从技术实现成本过高或周期过长。这需要站在技术的角度重新考虑各种替代方案。如果替代方案既能满足需求又没有成本周期问题,则矛盾得以调解。比如阿里软件开发的一款外贸软件产品中,有着模糊搜索的要求。直接通过数据库来处理,性能是非常差的;通过搜索引擎,则成本太大;但如果不提供,从需求方来说就是没有达到要求。后来技术团队将多种方案综合,通过适当降低友好度,来实现这个功能的高效性。但有些时候未必能找到合适的替代方案,叶伟认为此时应当从商业价值、性价比等角度来考虑‘变更需求’,而且必须提交给上级经理或者产品会议作决定。
调节技术与需求之间矛盾的方法有很多种,但是原则却是大同小异。阿里软件研发总监叶伟结合自己十多年的带领团队开发经验总结了三个原则:
1,商业驱动。叶伟举例说,一个业务管理邮件收发系统,商业上要求对邮件数量进行统计,但之前和版本中没有这样一个计数器。如果从技术实现的难易度来看,开发人员脑中的第一印象是对保留下来的邮件进行统计。然而,由于用户之前可能删除了部分邮件,统计数目就不可能正确。所以,这个技术方案是不符合商业要求的,所以不可行,尽管它最省时。
2,需求和开发人员之间应当寻求共同的价值点。“这个价值点既不是开发人员的价值点也不是需求人员的价值点,而是用户的价值点。”叶伟说。理解了真正的商业价值,技术人员和需求方也就达成了共识。
3,技术不能逾越商业决策,商业决策引导技术。叶伟带领的阿里软件通常是根据需求做出几种技术方案让需求方选择。例如,阿里软件的最新软件产品AEP(电子商务平台)中要提供促销功能,一共想了三种方式:送用户礼包/优惠券、打折、购买返现金。这三种方式的技术实现成本和对用户的效果都不一样的,技术人员作出了概要的分析、比较,让需求方来决定。需求方最后选择了‘购买时返现’,由于另二个方案是互补的,也没有被废弃,列入了下二个版本。所以叶伟说,“即使某种技术方案不被选择,它仍可以作为下一个版本或者产品的方案。”
实际上,在产品开发过程中也难免会遇到描述模糊的需求,但又必须执行的情况,这种情况怎么处理呢?叶伟表示可以从两个大的方面来解决这个问题。
一是从方法学和流程的角度来处理,归纳为三点:
1敏捷开发方法;
2充分的版本迭代。互联网软件产品的版本周期大都比较短,阿里软件的经验是一般定为一至二个月;每个需求会细分,并按照重要性排定ABC优先级,再参照资源情况归入各版本。
3产品会议。“凡事预则立、不预则废。”在当前版本结束前召开下一版本的产品会议,提前作出产品规划,确定版本功能。
二是从个人执行的角度来处理。通过特征分解(Feature Breakdown)、格式化模板(Formatted Template)、模式化用例(Use Case Pattern)等手段,尽量让需求人员将需求描述得清晰而规范,降低模糊度。叶伟带领的阿里软件还会在开发前专门针对需求中的模糊点、复杂点等问题召开“需求确认会”,开发人员与QA一起补充和明确需求。
“这两个方面只能在开发前使需求更加清晰明确,但不能保证完全消除需求模糊的现象,因为在开发过程中,经常会遇到许多细节方面的问题,”叶伟说,所以如果在开发中遇到问题,他要求开发人员马上去沟通,然后寻找渠道与需求方确认。
相关文章推荐
- 阿里软件研发总监叶伟:如何处理技术和需求的矛盾
- 专家看台:阿里软件研发总监叶伟:如何处理技术和需求的矛盾
- 阿里技术总监郭东白:创新之歌该如何唱
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 从软件外包到阿里技术专家再到CTO,他究竟是如何一路晋升?
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 从软件外包到阿里技术专家再到CTO,他究竟是如何一路晋升?
- 如何处理软件项目中发生的需求变化
- 自第N次改需求后,如何权衡业务需求与技术交付?业务方策划了一个宏伟的蓝图,只给你和你的团队一个改BUG的时间开发。阿里效能平台技术专家之岳邀你有奖来聊。
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 如何解决新产品开发中的技术导向与需求导向之矛盾
- 一、技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一) 推荐
- 产品经理如何与强势的技术沟通? 技术比较有资历,会以技术无法实现等方面的原因拒绝处理产品提出的需求。 你们是否遇到这样的技术? 产品懂技术的话,是不是会好一些,因为可以和技术说“行话”了,并且产品懂技术就不会被忽悠了。
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)