企业软件开发新模式:数据居于中心地位
过去二十年间,企业级市场的软件开发和发布总是有规律可循:需要对一款产品做出改进;从利益相关方那里搜集意见;根据这些意见提出相应的功能参数;开发和测试相关代码;功能最终发布。整个过程通常耗时数年之久。
但时代变了。在云计算的支持下,面向个人用户的互联网公司首创了一种开发和发布技术产品的新构架,而且迅速在企业级市场得到推广。所有成功的消费类应用都采用这种构架,人们用各种各样的词汇来描述它的要素:灵活、快速发布、数据驱动设计、迭代部署、精益创业等等。
数据驱动设计
我们在预测哪种功能会推动产品走上一条正确的发展道路时,大多数时候都不准确。实际上,大量研究表明即便是最优秀的产品经理,他们的直觉也往往会出现问题。不做任何的规划和预测,让团队可以在最相关的时间里不断从事与自身业务最具价值的工作。
因此,企业始终在寻找组织项目、团队和路线图的不同方法,以更有效地利用他们的资源。新的技术开发模式不再完全依赖于少数有发言权的技术人员的反馈和产品经理的直觉,而是将数据放在产品决策的中心地位。
由于人为判断自身的局限性,加上数据天生具有说服力的特点,这便要求软件开发应该采用更为可靠、始终以数据驱动的方法。我们可以在总统大选的竞选活动中看到这种方法的典型实践案例,有人将奥巴马阵营新增的400万支持者和7500万美元的筹款都归功于他们在其网站上采用的以数据为驱动的设计策略。
最小可行性产品(MVP)
尽管数据分析正在转变科技企业的产品决策方式,但开发和推出新功能的整个流程也正以一种新的形势呈现在大家面前——最小可行性产品(MVP)。
传统企业级技术产品开发流程之所以效率不高,是因为它试图先打造出完美的产品,然后再推向市场。经过漫长的需求搜集和分析会议,产品规格会发送至技术团队,后者会花费数月甚至数年的心血开发可以满足这些要求的功能。在今天瞬息万变、竞争日趋激烈的企业领域,由于这种方法倡导的技术资源分配方案效率低下、缺乏灵活性,它注定会失败。
如果上述工作一切顺利,那么开发团队现在就开始专注于打造MVP产品。我们可以将MVP看作是产品或功能概念的“精简版本”,相比完整的产品或功能,开发它们所耗费的时间要少得多。一旦开发出来,MVP就会发布给用户搜集数据。由此,服务提供方可以有效测试他们的假设,最终开发出一款产品,而这款产品会渐渐、持续地转变,最终拥有它本该有的功能,而不是人们所认为它应该有的功能。
避免一成不变
世上没有两个公司是一样的。每一个公司都有自己特有的文化、需要和工作流程。如果你之前参与过重大技术产品的安装或升级,那么可能曾将大部分时间都用在配置产品上了,以满足公司的具体要求。如果这听起来耳熟的话,那么你可能还对与自定义配置有关的间接成本十分了解。你越偏离某一产品的“开箱即用”(out-of-the-box)版本,用以支持和升级这一产品新版本的成本就越高,耗费的时间也越长。
保留产品的单一“版本”有助于避免“技术债务”(指匆忙的实现一个功能,却对现有程序库造成了破坏),加快服务提供商将产品投放市场的速度。在预置(on-premise)技术领域,这被称为“开箱即用”产品;在云服务领域,这被称为“产品服务”(production offering)。随着厂商继续向云计算的转型,他们也会避免核心产品序列过多。
实际上,一款产品的序列越多,数据搜集和分析就越困难,诊断解决问题并加以创新的难度也越大。最终,每增加一个不重要的自定义选项,产品的当前和未来价值都会减损。
灵活的产品发布时间表
鉴于数据是产品决策的核心,产品发布日期会变得越来越灵活。通常情况下,MVP产品会预先向少数用户发布。如果从提前发布搜集的数据表明,某项功能并不会产生预期的结果,那么重新回炉进行改进,而非发布效率低下的功能,这既符合用户的利益,对服务提供商而言也是好事。
由于产品发布日期变得更灵活,就需要对变更管理计划做出相应的调整。新产品向整个用户群的发布不再像以前那样拘泥于具体日期,而是覆盖好几天的时间。随着我们做出的调整逐渐被采纳,变更管理专业人士和IT部门应该侧重于对新功能意图的理解,阐明它们可以帮助员工的实用案例。
令变更管理更顺畅
MVP新功能和初始交付版本的快速发布,将使得产品变更诱发的问题得到缓解。传统的做法是,发布新的应用版本,采取重要变更管理措施培训用户熟悉新功能。反反复复、数据驱动的方法有助于随着时间完善整个过程。
我们想象一下,以前服务提供方是每隔三年对产品进行一次升级,每次升级便一次性提供100项新功能,而现在他们或每周或每月升级一次,将这100项新功能逐次推出。结果,用户自然就能适应这些变化,服务供应商也能打造一款更能满足用户需求的产品。正是出于这方面的考虑,Facebook现在每天两次发布新代码。
服务提供方赢取信任
过去,软件一直被当做产品。个人或公司购买软件产品,并将其安装在电脑上或公司的服务器里。软件即服务(SaaS)的引入使得这一模式发生了根本变化。以前,购买产品是交易行为,一切围绕实际产品展开,而现在购买服务则涉及建立某种关系,这种关系是建立在信任、可靠和质量的基础之上。
当你在研究为自己的公司采购技术产品的选择时,不应专注于服务提供方的现有产品,而是应该着重了解他们的发展方向、他们客户的反馈以及在产品实用性和创新方面的记录。企业级技术创新如今迎来了激动人心的时刻。过去,应用是按照机器人开发的原则进行设计,如今则不一样了,企业级软件变得更有魅力。