在设计To B产品的时候,因为客户的行业,规模体量,商业模式以及内部管理流程的不同,同样的一个需求在不同的公司可能需要不同的解决方案,所以在产品的设计上,如何能以灵活的方式在同一个应用体系上满足不同客户的个性化需求,成了To B产品经理的必修课,本文将基于SaaS+PaaS平台的产品设计,重点解决如何让产品满足客户个性化需求的问题。
一、 SaaS产品设计
a) SaaS产品结构
与To C产品通常的管理后台和用户客户端两层产品结构不同,SaaS产品至少有三层结构,分别是产品管理后台,租户管理中台和用户客户端。后台对中台可用的产品功能进行管理,而中台对客户端可用的功能进行管理,从而形成一个最基本的SaaS产品结构。
b) 产品管理后台
产品后台最重要的功能,是针对每个租户所需要的账号多少以及所使用的功能进行控制,目前SaaS软件常见的收费点有按使用账号收费和按增值功能收费两种,按账号收费的方式是最普遍的形式,按照租户每年使用的账号数来结算,例如一个企业有500名员工,那么一个员工使用一个账号,每个账号200元,那么一年的费用就是10万。
另外一种是按照产品的功能收费,如果产品提供了收费功能,那么可以按年收取增值功能的费用。根据增值功能的不同可能会有不同的定价模式,例如网盘可能会根据存储空间的不同来收费,需要给不同的租户设置可用空间等等。
除此之外,产品管理后台还需要对平台通用的一些功能进行管理和设置,例如平台给租户发送产品站内短消息,或者是上传最新版本的操作手册供租户查看等等。
产品后台对于SaaS产品而言就是总控中心,但设计起来并不复杂,通常都是公司内部的运营人员和销售人员使用。需要注意的点是对于租户在使用权限上的控制需要做到灵活处理,例如如果租户购买了500个账号一年的使用权,但是因为租户业务增长,所激活的账号超过了500,那么这时候就需要给租户提示,并同时通知客户经理与租户进行新的商务洽谈。
c) 中台权限管理
对于企业产品而言,权限管理系统可以说是整个中台的基础,所有的产品功能都是基于权限系统之上来设计的。
权限管理又分为功能权限与数据权限两种,功能权限是指用户在系统中是否有权限使用某些功能,而数据权限是指当用户在使用该功能时,可以在哪个数据权限范围内使用。
举个例子来说,如果某SaaS产品提供包含财务和人事两大模块的产品功能,那么能够使用财务模块功能的应该只有财务人员,而能使用人事功能的也只有人事人员。这是对功能权限的控制。
当授予了某个财务人员功能权限之后,还要对他的数据范围作出限制,例如总公司的财务总管可以查看全公司的财务情况,而A分公司的财务人员仅能查看A分公司的财务情况,无权查看B分公司或总公司的财务情况,这是对数据范围的控制。
在设计功能权限管理系统时,如果将权限直接授予个人会比较麻烦,而且不利于权限的管理,所以通常会先将功能权限组合成对应的一个管理角色,然后再将角色授权给对应的个人,这样如果后续对角色授予了新的功能权限,或删减某些功能权限的时候,只需要对角色的功能权限进行设置就可以了,不需要一个一个用户来进行设置。
如果产品的业务形态较为简单,那么可以在设计权限系统的时候用比较简单的一级菜单控制的方式来进行控制,即只有拥有权限的角色可以看到对应模块的一级菜单,无权限的人则 无法看到该模块的一级菜单,这样就可以确保权限管理的正常。
但是对于业务形态较为复杂的产品,只控制模块的一级菜单可能无法满足,需要对功能模块中更细小的功能进行权限控制,在管理系统中最常见的管理操作有增删改查,对于某些用户可能可以授予全部的权限,而有些用户就只能有查看的权限,没有编辑的权限。
例如纷享销客CRM系统中的关于角色权限的设置就非常的细致和灵活,租户可以在中台自由的给管理角色授予对应的权限,除了系统提供的角色外,还可以自定义创建管理角色。
d) 中台功能设置
功能层级的设置
在To C产品设计过程中,通常都是由产品经理根据调研或自己的专业经验来定义用户的使用流程,然后以流程图的形式表示出来,用户在使用产品的时候就遵循设计好的流程来使用。
但是对于To B的产品而言,即使是同一个任务,不同的客户也可能有不一样的需求,从需求的实现难度从低到高来看,分为共性需求,特定场景需求以及个性化需求
先来看看共性需求,这个较好处理,直接排入需求池,然后根据优先级排期进行迭代就可以了,判断共性需求的原则是这条需求除了提需求的这个客户之外,是否其他的客户也可以用上,如果答案是肯定的那就是共性需求。
而对于特定场景需求,则有可能是某一行业的客户在特定的业务场景下才需要用到的功能,如果把这类的需求当成共性需求来实现,那么对于那些不需要这个功能的用户来说,系统就会变得越来越臃肿,使用起来越来越复杂。
所以最好的方式,是在管理后台的功能设置中,将这个功能设置为只有配置了才可以使用的功能,然后针对需要的客户开放,只有通过这种灵活的设置方式,才能确保不同的用户都能基于自己的实际需要使用产品功能。
通过管理后台可以对功能层级的使用进行设置,但是对于功能内部的字段层级使用,不仅在不同的公司之间可能有较大的差异,在公司内部不同的用户之间也有较大的差异。所以产品经理在设计用户的流程图的时候,有必要将流程图的流程块拆解到字段层级,并标注哪些字段是必填项,哪些是可选项,哪些是可配置项,然后在租户的管理中台做一个设置功能,由租户的管理员根据需要,将字段的权限配置给不同的角色。
最后是对于客户完全个性化的需求,即只有该用户才会需要的功能。如果这个功能是用户需要但还未开发的,那么可以根据客户的预算来评估是否可以给用户做定制化的开发,而如果是客户已经通过其他系统实现了的现有产品,则需要在产品内部提供对接,允许外部应用以插件的方式接入到我们的产品中来,如果是native方式实现的外部应用,则需要我们的产品能动态配置跳转协议,允许应用间的跳转。
二、 PaaS产品设计
a) 什么是PaaS
对于企业而言,使用SaaS的好处是显而易见的,那就是可以快速而又简单的使用已有的成熟产品,帮助企业降低成本,增加利润,避免重复造轮子。
但是SaaS平台有一个弊端,那就是SaaS多数只能满足共性需求,虽然可以通过个性化的二次开发来帮助用户实现需要的功能,但通常来讲都需要较长一段时间的开发周期,客户的需求无法得到及时的满足。
而对于SaaS平台而言,核心的要点还是服务于大多数的共性客户,给单一客户开发一个个性化的需求性价比是非常低的,除非客户愿意花费一定的预算来投入开发,或客户的重要性很高,否则这类需求的优先级一般会比共性需求要低,导致迟迟无法上线而引起客户的不满。
PaaS平台就是针对这个问题的最佳解决方案,PaaS指的是给开发人员提供构建应用程序的环境,通过在PaaS平台上进行编程创建的应用功能可以快速部署到平台上并且实时生效。
简单的来讲,PaaS就是在线编程平台。
相较于常规的编程工具,PaaS平台的好处是可以基于SaaS产品已有的字段和对象来进行二次开发,快速对接平台已有的功能,在SaaS已有的功能之上进行个性化功能的设计,具有快速,灵活,稳定的特点。
下图是早期的PaaS平台,著名的HR应用PeopleSoft,它能提供字段级别的功能自定义,并且有自己专属的编程语言PeopleSoft code。开发者必须使用专属语言进行二次开发。
目前国内做PaaS平台的公司并不多,知名的有做财务系统的金蝶,CRM领域的纷享销客,以及做HRM的北森云计算。且不再使用专属语言,而是支持多种主流的编程语言例如python,php等,极大的降低了开发的门槛,让有经验的开发人员可以快速上手。
另外,为了进一步降低PaaS平台的使用门槛,很多公司正在开发图形化PaaS平台,只需要拖拽和点击就可以完成编程的工作,无需专业的开发人员,而是售前工程师或客户方的管理员也可以很方便的进行个性化功能的配置,相信未来PaaS平台在产业互联网的应用中一定会迎来一波高速发展。
对于PaaS产品的设计而言,主要分为三个部分,分别是创建个性化对象,创建个性化流程以及部署个性化功能。下面以纷享销客为例大致的介绍一下PaaS平台是如何进行个性化功能快速开发上线的。
b) 创建个性化对象
对于开发工程师而言,万物皆对象。所有的事物都是由一个个的对象构成的,所以在创建个性化需求的时候,首先要创建个性化对象。
CRM管理员可以创建自定义对象,添加任意类型的对象字段,并且可以对对象的管理权限进行设置,通过设置对象的主从关系,可以将自己创建的对象与系统已有的对象或其他自建的对象进行关联,做到了充分的灵活性。
c) 创建个性化流程
创建完自定义的对象之后,用户可以根据业务的需要,创建自定义的业务流程。业务流程包含触发条件,传入参数,完成条件,传出参数等多个设置项。
管理员可根据自己业务的需要选择系统自带的对象来进行某些操作,或使用自定义的对象来实现某些功能,在这一步的时候可以使用平台自带的编程工具进行编程。
d) 创建个性化功能
当功能创建好之后,可以将自定义的功能自由的配置在菜单或者是页面上,到这一步,基本就可以满足于用户的任何个性化需求了。
三、 产品私有化部署
私有化部署,是指客户将产品的部署在自己的服务器上,而不是与其他用户一样使用平台提供的云服务,可能有人会奇怪,如果SaaS+PaaS的模式已经可以满足任意的个性化需求了,那为什么还会有公司要进行私有化部署呢。
原因有两个,一个是从数据安全方面考虑,有一些公司对于数据的安全性要求非常高,希望所有的数据都能保存在自己的服务器上,所以如果要使用外部的产品,让自己原有的数据和外部产品进行打通,就需要做私有化部署。
另外一个原因是从性价比方面来考虑,SaaS产品通常按照用户的账号来收费,对于员工人数非常多的企业而言,按这种方式收费会导致成本很高,例如一个100万员工的企业,如果按照200块钱一个账号来采购某SaaS产品,一年成本就是2亿,这笔钱与其去买SaaS服务,不如自己组建一个开发团队自研产品了。而如果不想从0开始的话,也会选择将市面上已有的产品进行私有化部署之后,再进行迭代开发。
四、 总结
根据行业预估,产业互联网的市场规模在未来数年将持续保持40%左右的增长率,市场前景广阔。而对于产品经理而言,最重要的核心竞争力是对行业的理解深度,只有深入了解某一个行业的业务流程,了解这个行业的从业人员诉求,才能设计出真正符合客户需要的产品。
参考文章
- 《PeopleSoft技术(Application Designer学习,简称AD)》——灵魂_漫步