在看到这张图后,你懵逼的概率达到了百分之99,但是,一定要蛋定。首页,你必须跪教(跪着请教)程序猿大哥们,让他们告诉你图中所有不同形状的组件(包括各种客户端、服务端及数据库)都是干什么用的;如果你请教的姿势是对的话,那么,他们会告诉你哪些东西是用来处理网络请求的,哪些是用来实现业务逻辑的,哪些是用来储存用户数据的。 当然,你不要作死的认为程序猿哥哥在忽悠你,他刚刚说的一切对你都是非常有用的。 成为一个更好的PM——当你大致了解了系统的架构后,你就会逐渐的像程序猿们一样的把你的产品看做一个系统来去思考。这样,当你清楚的了解了产品中的每一部分在总体中起的作用时,你就会做出更好的决策和需求权衡,在考虑需求方案时,会更加的周全以及更加清楚它的可行性。 一般来说,如果一个产品中的某个模块与系统的其他模块的关联越多,那么它的变动则会越复杂和困难,因为产品中的其他模块都要依靠它来提供数据传输或是功能支持。如果在实现某个功能的时候,你的产品需要改变的模块越多,对外部的数据或功能依赖越多,那么,你的这个功能将会很难执行并实现。 在大公司里,产品执行工作中涉及的不同模块的数量通常是和你要去沟通的部门或团队的数量是一样的,所以,这也意味着你要获得同等数量的人的同意和支持。 3. 数据结构和API 数据结构负责把产品中用到的各种数据高效的组织起来,并且标准化了这些数据是如何与其他“信息”关联起来的。而这里说的“信息”指的是用户、产品、信用卡等等,那些具体的东西。这些东西通过确定的、结构化的方式相互关联,例如一个用户可以拥有很多的产品,但通常情况下只有一张信用卡。 数据结构与上面说到的系统架构有非常紧密的联系,之所以这么说,是因为特定的数据信息是存放在特定的系统模块中的。你的用户信息以及与用户相关的产品数据可能存放在A模块中 ,但是由于用户隐私信息的敏感,信用卡信息可能会存放在B模块中。所以当你有一个需求是需要将一个产品拥有的用户的信息展示在一个列表中时,那么这将相当简单,因为这些信息是存放在同一个模块中的。但是,当你需要知道这些用户当中哪些用户绑定了信用卡时,A模块就需要与B模块进行关联,以此达到数据传输的目的。这样做有一定难度,需要用到API来去实现。 API是建立在数据结构之上的,它体现了不同的两个模块(前后端)之间在是如何进行通信以及做数据传输的。更重要的是,API也可以让你与第三方(外部模块)进行数据上的通信。当你在谷歌地图上叫Uber时,谷歌地图则会调用Uber提供的API,与Uber的相关模块进行数据通信。大多数的产品会有它的“公共API”和“私有API”,“公共API”是产品开放提供给外部所有人都能使用的API,也就是我们经常会用到的“第三方API”,“私有API”则是我们自己的产品使用不对外公开的API。 如何快速学习——第一时间去了解你产品开放或提供出来的一些API。这些API大多数都很容易找到,它们大多数存放在产品开发文档下的API接口文档中。当你看到这些API接口文档时,你会看到上面写着一些代码,这时,你到底会不会被这些代码吓一跳将取决于你的背景知识;但是,如果API接口文档写得比较规范的话,你还是会比较容易读懂它们的,毕竟他比写在程序上的代码还要简单。API通常常体现了一个产品的内部数据结构,这样,当你研究完API时,也会对产品的数据结构有一个大致的了解,可谓一石二鸟。 成为一个更好的PM——了解清楚产品的数据结构,它可以扩展你的能力,让你知道你可以利用哪些信息来创造出更好的产品,同样的,你也会清楚获取该信息的难易程度,自己心里会有个底。了解清楚产品的API意味着你也了解清楚了你的合作伙伴和第三方开发者会从你这里获取到什么样的信息,所以你也应该知道产品上哪些外部合作或是可行的。一个产品拥有的可扩展性是其最具有价值的属性之一,一个产品能与外部的产品(你的用户每天都在使用的产品)进行良好的协作变得越来越重要。 4. 不能踩的坑 (责任编辑:本港台直播) |