对于To B供应商来说,特别是服务于大型企业的IT供应商,由于其内部管理的复杂性,往往产品在客户化的过程中会有很多游离于标准系统之外的新需求产生,作为面向多个用户的标准化产品,项目经理该如何同时兼顾多个项目的标准化需求,如何更快地交付出客户满意的产品?今天这篇文章,我们来重点讨论这部分的内容。
什么是标准化产品
随着企业信息化的逐渐深入,大量的甲方都希望今天买一个系统,明天就能部署,后天就能使用,甚至几天买的今天就能用。在这个拼交付速度的时代,针对大量同质需求的标准化产品自研项目也正式提上决策层的战略之中。
本文所述的标准化产品,是在完善底层架构的基础上,根据客户需求的广泛性,将具有高度同质化的需求放置在系统功能中,使得大量客户化项目可以尽量减少客户化开发的一系列产品。
标准化产品开发项目的核心
实质上,开发标准化产品的核心目的,一是沉淀自研产品,二是提高交付速度。
针对此,我们在开发标准化产品时,需要注意以下三点:
1. 规范
这里所说的规范,是指是需求规范、设计规范、代码规范;简单地说,就是通过规范沉淀产品。
我们需要有明确的需求文档,每一个需求都是基于标准文档的模块书写,设计也要基于相同的控件(产品流程、UX、UI)进行设计,开发人员也要有相同的技术规范。
如果一个标准化的产品本身没有规范,那么什么样的需求都有可能涌入到这个标准里面来,什么样的设计都可以被开发接受并写入程序,什么样的代码都能保存在数据库里,最后的结果就是,除了参与项目的人以外,没有人能接手这个项目,这样的标准化产品就完全不标准了。
2. 同质
同质,指的是整个标准化产品本身能够适配大部分项目的大部分需求。也就是说,它本身需要足够抽象,抽象到任何项目都能够适配这个标准化的框架,或者退一步说,至少要抽象到同行业的项目能够适配这个标准化框架。
如果产品本身不够抽象,就会导致每一个项目都要针对标准化项目进行大量的客户化开发,出现这种情况本身就是违背产品标准化思想的,是绝对不可能通过标准化提高交付速度的。
3. 易部署
简单地说,就是——没有BUG。
如果标准化产品本身都做不到在核心业务流程里没有BUG,这个标准化产品基本上就是从项目上开发新需求变成项目上改新BUG,是绝对不可能提高产品的交付速度的。
所以,如果你负责标准化产品开发的项目管理,一定要围绕“规范、同质、易部署”这三点去重点把控项目的范围和质量。
标准化的过程中,项目经理应当避开哪些坑?
针对以上几点,我谈谈自己在标准化开发项目上踩过的一些坑。
1. 没有规范的标准流程
标准化系统接收项目需求没有规范,产品功能没有规范,代码没有规范,最直接的影响就是客户化项目在部署标准化系统之后,完全不知道这些功能是怎么做出来的;反过来,客户化产品交付完成之后,产品经理梳理具有广泛需求的功能也会十分吃力。
在我自己的项目刚开始的时候,产品评审的规范没有明确,同时产品的设计规范没有落地,导致不同的表单在设计上完全不一样,到最后验收的时候才发现问题,导致前端开发的大量返工。如果产品评审会有一套标准流程,很显然产品的设计不满足要求就能很快地被发现。
2. 过分关注业务功能而非抽象化
很多标准化产品在标准化的过程中,发现某个业务比较常见,就直接扔到标准里面去,而不考虑这个业务在不同的公司下或多或少都会有所变动,使得标准化产品变得越来越臃肿。产品的抽象程度不足,导致产品自身不能保持足够的灵活性,不够灵活的标准化产品使得项目二开程度高,反过来使得产品愈发不标准。
很多产品经理在管理项目优先级的时候,不把最底层的逻辑架构理清就直接把功能堆进标准里,导致在后期做拓展开发的时候发现原来设计的表结构完全不能覆盖业务场景,不得不外挂数据表处理,导致产品臃肿。我原来在项目上做设计的时候,听到最多的产品组反馈就是:“这个标准系统没有扩展,不支持。”
这就是标准产品不够抽象导致的结果。
3. 和客户化项目沟通不足,闭门造车
闭门造车最直接的影响就是,好不容易做出来一个模块,结果客户化项目上基本不用,甚至项目上不用这个模块的基础上开发了一套能满足相同需求的另一套功能组,两边浪费资源。如果开发没有基于客户化项目的需求,标准将失去标准的意义。
在我们最早的标准系统里,其实都是拿一个实施相对较好的项目拉过来直接当做标准系统处理,这样的结果就是,别的项目拿到这个标准后,大量的功能完全用不上,又由于没有标准文档,使得项目上的实施顾问最多的疑问就是:“这个是什么功能?这又是什么功能?”得到答复之后的反应就是:“哦,这样,这个功能我们用不到。”
4. 从实施的角度做标准产品
一般来说,标准化产品是一个需要运营的产品,是需要不断优化内部模块,不断沉淀。期间应该有定期的产品发布计划,以适配各个项目的不同需求。
原来我们的产品线还没有一个产品周期,如果把产品拿出来给你,根本就不知道是第几个大版本,也不知道它的迭代周期是先迭代了什么后迭代了什么,这就是问题,我们不能通过版本号去判断给到客户化项目的产品是什么时候发布的,里面的BUG是不是已经被修复。
后面我们根据实际的情况记录了产品的发布版本,同时会记录发布的版本号对应的更新内容,这样的好处就是,客户化项目的实施人员能够精确地知道这个产品是哪个版本,里面有哪些待修复和待优化的内容,从而能够避开一些不必要的麻烦。
结语:避开巨坑,从锻炼产品思维开始
标准化和客户化的最大差异在于,客户化的产品只需要考虑现场客户的需求,而标准化系统需要考虑所有可能用户的需求,从中找出高度同质化的模块,同时要给出相应的规范和标准以加快客户项目的交付速度。作为标准化产品的项目经理,一定要有产品的思维,才能更好地服务于各个客户。
本文来自微信公众号“智昊的学习笔记”(ID:hiyuanz),作者 智昊。
原创发布于管理圈,未经许可禁止转载。