做“以客户为中心”的产品研发
“Min, 我知道你以前有客户支持的经验,有没有兴趣了解一下微软客户服务是什么样的?”Prakash眨眨眼睛,一副吊我胃口的神态。
“当然了。”
“是这样,STB要在中国推广Frontline 项目,我推荐你作为第一个参与者,大概会花3周时间…”
“啊,3周是不是长了点儿啊? SQL Server 2008马上就要发布了,我这儿还天天加班呢…”我有点后悔刚才答应得太痛快了。
“花这些时间是值得的。你知道,美国SQL Server团队里好多资深的同事从这个项目回来后,都说自己彻底改变了。”
我心里还是犯嘀咕:你确信他们都是往好的方向变化吗?
以上是本人荣幸地成为中国区Frontline 项目第一人的过程。言归正传,先来说说这个Frontline 项目到底是个啥东东吧:它是微软服务器与开发工具事业部(STB)为了由“以产品为中心”转变为“以客户为中心”推行的一系列计划中的一部分。参与这个项目的产品研发工程师将用整整2-3周时间近距离观察企业客户使用微软产品和技术的“真实世界”,理解他们实际工作中的迫切需求和“痛苦”,进一步思考如何开发更好的产品和技术。
第一周我在微软亚太区全球技术支持中心与工程师们交流,接听客户的产品支持电话并参与解决问题。余下两周在客户现场,直接参与应用系统部署并听取客户对产品和技术的反馈。
在支持中心的日程安排以小时计。第一天早上9点,准时向我的Mentor小邓报到,她花了一上午向我详细介绍了他们的责任范围、工作流程和使用的各种工具。 来而不往非礼也,当天下午我也为技术支持中心的同事们举办了一个“数据库查询覆盖”的讲座。挑选这个题目我是花了心思的,一个是因为查询优化器是我的团队负责的组件,另外大家对查询优化也比较感兴趣。果然,下午的讨论很热烈。小邓要求每个人发言之前先自我介绍一下:叫啥名字,负责什么组件,哪儿人,家里娃多大了… 印象最深的是一位绰号“BI一条龙”的同事,他负责集成服务、分析服务和报表服务,在BI方面是位专家。这种介绍方式安排得太周到了,我很快和大家熟悉起来。趁热打铁,讲座后我就和负责各组件的同事约好了时间,周二、周三,和热线部门的几位同事在一起工作;周四是Internet支持部门;周五上午是Supportability,下午访问合作伙伴售前支持。
Internet 支持工程师的工作很有意思,我第一次知道我们的技术论坛等网上社区是有专职人员参予问题解答的。我也使用他们的工具浏览了一下未解答的问题,从SQL实现到数据集成服务问什么的都有,想回答还真不那么容易。这也多少反映了研发人员和技术支持工程师的区别,我们对产品局部功能如何实现了解比较深入,支持工程师则对整个解决方案和产品特性了解的都很全面。
在Supportability部门的半天经历也让我获益匪浅,之前我可分不清楚什么是可支持性,什么是可管理性(Manageability)。在负责SQL Server Supportability的小平跟我讲解之后,我算彻底是明白了。可支持性是指软件诊断、修复和预防问题的能力;而可管理性则指监控、维护和控制软件的能力。举例来说,SQL Server支持在线创建索引,支持数据文件自动增长,自动维护统计值,这说明可管理性比较好;可支持性则反映在解决问题上,比如你会用DBCC检查和修复数据文件,也会用到profiler 去帮助你分析性能问题。
在技术支持中心一周结束后,我又现场参与了SQL Server 2008试用客户的应用部署。他们的应用把SQL Server 2008的空间数据支持新功能与商业智能报表相结合,非常直观的展现了各大区域的业务数据。相信随着数据库对空间数据支持的越来越完善,客户开发越来越方便,这种类型的应用会很快流行起来。
最后一周,我和同组的另一位测试开发工程师胡雷访问了一个重要银行客户。通过与项目实施和系统管理人员的交谈,我们了解到用户对SQL Server的能力和易管理性颇为认可,特别是听到用户的几个应用数据量都在n个TB,让我心里颇有些高兴: 我们对企业级数据库的重视还是有点成绩的嘛J。当然也有批评,比如恢复数据库备份的时候, 那个容易被忘掉的”MOVE TO”子句,咋就不能多给点儿提示呢?这个这个,虚心接受。我们就是为了收集意见来的,一定会把中国客户的意见转达到整个SQL Server产品开发团队。
应要求,我们也向客户介绍了SQL Server 2008的情况。客户对一些对银行金融应用相关的新特性,比如外部加密支持、外部密钥管理和可覆盖查询的审计还是很感兴趣的。针对BI数据压缩、数据库备份压缩这样的新功能,他们也询问了很多细节问题。毕竟对TB级的数据库,压缩不单可以提高IO效率,也能节省存储设备上的投资。
为期三周的Frontline项目结束了,比我接受任务时想象的要快得多。我彻底改变了吗?不知道。但是我对什么是好的软件产品的理解有了很大改变:功能强大,有各种超酷特性很重要,但更重要的是能直接满足客户的需求。一个好的产品还要易于使用、方便管理,这叫高可管理性;客户使用上出了问题要容易诊断,最好还能自动修复,这叫高可支持性。
何民