交付|创造价值,持续交付:B端产品经理的方法论( 十 )


其次是了解数据库和使用SQL 来对数据库里的数据进行操作,进行数据分析和查询;简单来说,数据库是对数据按一定规则进行组织存储和管理,同时支持外界对数据进行增删改查操作的技术。
简单来分,有关系型数据库和非关系型数据库这两类:

  • 关系型数据库通过二维表及数据字段和字段类型来表示数据;关系型数据库中,现实世界的实体被映射成二维表,然后数据之间的关系模型,通过实体关系来关联不同的表来实现。常见的关系型数据库就有Oracle、DB2、MySQL等。
  • 而非关系型数据库是一种新的数据存储模型,储存的结构相对松散,可以不严格按照结构范式进行存储;非关系型数据库没有关系型数据库那样的严格数据结构约束,在存储的形式上也不同;常见的产品有MongoDB等。
两种数据库会针对不同的数据存储需求而选定。了解数据库和对应的技术使用,能够帮助产品经理优化功能设计和平衡利弊,把控开发进度。
例如,一些产品功能需要调用分布在不同数据库技术平台上的数据,那么相关的技术可行性、实现难度和性能问题和使用影响等,都会需要产品经理参与讨论,作为最终方案确定的依据。
而SQL(Structured Query Language)是数据库操作语言,被用来对数据库执行指令;SQL可以对数据库进行各类的操作,包括数据库表的创建和修改;它本身的语法并不复杂,但是用好它也需要不断学习提升水平。
SQL的学习和使用,可以帮助产品经理进一步了解表结构和表与表之间的关系,从而从数据模型角度进一步理解产品背后的数据逻辑实现方式;另外,可以提升产品和开发之间的理解,减少信息传递间的误解;问题的讨论可以当具体到某个表,某个字段,避免歧义;在数据查询和分析时,了解SQL可以大大方便产品的工作效率和质量。
了解了基础的开发技术和工具,接着就是操作这些工具的人员之间的分工和合作;产品经理需要了解不同职能分工,在处理开发事项时,快速定位需要沟通的对象,和调整沟通时需要的背景信息。
简单来说——从技术角度上开发人员分为前端开发,负责用户所能看到的展示界面,与用户交互的部分;和后端开发,主要针对服务端,让服务器、应用程序和数据库进行交互;虽然职能分工不同,但是工作都是相辅相成的,所以在一些具体实现的时候,会需要彼此平衡技术难度和工作量,达到最有效且精简的方案。
开发工作进行和完成的同时都需要质量的把控,所以会有测试工程师(QA)这个角色;从字面理解可以看出,这个角色主要是针对开发质量相关工作的。
这里有几个重要的理念需要强调,就是质量是谁的责任的问题;好比生产汽车的流水线上各司其职在制作产品,每个环节都需要有质量把控,每个人都要对自己环节的质量负责,确保最后的质量检测的合格达标。
同样,在软件产品开发当中,质量不是靠QA最后来测试来发现和确保合格的,而是每个开发人员的本职工作;在规划对应的产品测试战略和方法的时候,需要以此为基本出发点来统一协调团队的认知。
另外就是——质量容错的阈值;在敏捷开发,快速迭代的理念下,质量测试的力度需要平衡;不能一味的追求极致完美而投入和占用资源而措施战机,要达到质量把控,也要避免过度测试。
在开发工作过程中还有重要的一组就是数据库管理员(DBA)——DBA的职能覆盖从数据库涉及、测试到部署交付和运维的全生命周期的管理;产品经理需要和DBA打交道最多的就是对应的数据查询和分析事项;另外在一些产品性能和设计优化上,DBA也是需要被咨询和听取意见的人员。
2)基础设施
产品经理也要对基础设施有大概的了解。产品的开发过程中和开发完成后的部署都需要对应的基础设施来支持。
这里涉及到机房、服务器、网络、路由器、交换机等等相关的软硬件的概念;在以往的开发发布的环节上,企业需要把完成的代码打包发布在公网上服务器上,让外界可以使用;这种情况下,企业需要自己搭建机房和对应的基础设施或外界租用这些设施;而现在云的迅猛发展,让软件产品的开发和发布成本大大降低。
软件产品开发出来后,企业可以直接部署在云服务商(例如,阿里云、AWS、华为云等)的平台上;这样省去了购置服务器和搭建机房的费用,而只要支付流量使用费用,也无需操行基础设施设备的维护,升级等事项。
简单的比方就是——以前是每个企业自己买柴油发电机,自己发电,自己用;维护成本高,而且使用率也不是最优;而现在云平台类似统一接入到国家电网,按使用量付费。