分享豌豆荚基于团队协作的基本产品开发方案

所属分类: 网站运营 / 建站经验 阅读数: 114
收藏 0 赞 0 分享

首先从技术角度看。去年,豌豆荚的研发团队首先拟出了应用内搜索的技术协议,然后基于这个技术协议接入了一些合作伙伴的内容。在他们的配合之下,这些内容被应用到豌豆荚主产品里面,比如跟猫眼做的电影票,再比如可以直接搜到知乎的问答,还有具体场景底下的一些用例。

今年,研发团队调整了具体的执行策略,但觉得还是不够快,所以又探索了一些新的方式。仍然是原来的那一套协议,但是不用开发者进来,不用他们配合,而是自己做最快的数据接入的工作。这是今年的改变。这主要是从效率方面考虑的:需要开发者来配合的话,要考虑开发者的响应时间,来来回回去沟通协议具体是什么样的,可能一个来回就是一个星期,有两三个来回一个月就过去了。其他的方向都是一样的,接入的内容还是会跟开发者沟通,一定是他们愿意接入的东西。

进展确实很明显,改变了策略之后,目前已经接入了500家左右的应用内容。

还有一个很重要的事情,豌豆荚有一个很重要的、叫做Chana(刹那)的技术,集成到了一览里面。Chana是豌豆荚的邓草原老师基于Akka开发的一个实时计算框架,是用 Scala语言编写的。研发团队在底层做了应用内搜索的架构升级,包括把这样一个实时性和扩展性都很棒的实时计算平台引入进来,以及对于底层的Storm等平台的升级,这些可能是用户看不见的,但是能很大地扩展数据处理能力。

再从产品角度看。产品方面也很清楚,在去年一开始的时候,研发团队主要是在豌豆荚的主产品里做了很多创新的探索,看一下如何将提供给用户的价值最大化。今年又有了更进一步的全新的探索,基于应用内搜索技术,推出了“豌豆荚一览”和“Snap效率锁屏”这样的产品。研发团队也在产品中加了很多的应用场景,比如用户购买了电影票,可以很快地告诉用户,你的电影马上开始了,可以选择打车过去,或是附近有什么好的餐厅,这些都是通过应用内搜索的技术把服务和内容跟用户当前的产品结合在一起的具体例子。这两个产品也是豌豆荚在应用内搜索产品化上给出的阶段性答案。

协议:应用内搜索的基石

在刚开始的时候,研发团队会把每一个门类特别细节的东西都定义得很清楚,在接入的时候希望接入的内容在每个门类下,这些字段都应该很清楚再接入,这样效率会比较低,现在会倾向于尽可能结构化,一些不能结构化的东西先把它半结构化地拿进来。这样达到一个效率和最结构化的信息和将来结构化信息的利用有一个平衡。

另外,研发团队也在不断地做一些细节的优化。像前面提到的今年的变化,不再需要开发者主动的配合,所以内部要考虑怎么能够把各种各样不同的、千奇百怪的应用内容跟协议搭进来。说得通俗一点,是怎么样才能够更聪明地去做适配,怎么样才能更智能化地提高适配效率,在这方面做了很多工作。这个工作可能不是重新制定协议,而是对协议进行一些简单的升级,让它能够普适性做得更好。

这里还要提一下Deep Link。之所以有这个概念,是因为移动互联网发展起来,原来那套基于 HTTP、超链接实现互联互通的互联网被割成了以应用为中心的信息孤岛。要解决这个痛点,所以很多厂商纷纷提出了自家的Deep Link,但是目前还没有一个事实上的行业标准。比如说谷歌做了一个 App Indexing,Facebook 做了一个 App Links,大家的协议都会有或多或少的差异。目前看来,Facebook的协议因为考虑得更全面一些,所以成为事实标准的可能性会更大。但不管怎么样,这个格局还是很纷乱的,大家更多是从自己的应用场景、自己的应用需求出发,制定这样的一套一套的规则。

豌豆荚去年做这件事的时候,更多是从自己和用户的角度去考虑这件事情,主要是从三个点来考虑,一是普适性,二是经济性,三是实时性。先看普适性,豌豆荚做这件事情的时候,市面上已经有谷歌和 Quixey的两种协议,所以想兼容这两种协议。如果开发者支持这两种协议,可以直接接入进来。再看经济性,豌豆荚采用的方案都是 Microdata 这种很成熟的技术方案,开发者可以很快地、比较容易地通过这些技术提交内容。最后看实时性,对于豌豆荚接入的应用内容,如果在手机上看到一个内容,它能够更快地触达用户,还是很重要的。所以开发者可以通过实时API,快速提交内容。当时整个协议的思路主要是从这三个点出发。

在应用调起方面,国内的开发者其实对调起支持都不是特别友好,有一个效率比较高的方法,先去看开发者到底对调起的支持怎么样,对于支持好的会在产品里直接调起应用去打开这个页面,如果不行的话,则会调起H5页面。如果所有的开发商和厂商都能够更重视调起这一块,能够把 Deep Link 这一块做得更好,将来有希望做到应用里面的每一个页面都能够被标准的调起,这样以后应用内搜索可以做成跟网页搜索一样。不过这是下一步要做的工作,当前还不是最重要的。最重要的是先让用户看到这里的价值,用户喜欢用,反过来开发者就会看到里面的价值。


团队:小而美

应用内搜索方面,豌豆荚一直保持着一个小而精的工程团队,工程人员一直没有特别大的增长,但是工程师搭配比较合理,有搜索领域的专家,也有工程能力很强的软件工程师,还有很有创新精神、勇于探索的年轻人。另外,这个团队的工作也并不是完全自成一套,不是说完全从头开始做的,也会用到很多外界成熟的第三方开源软件。像公司里的Codis和Chana,觉得做得很好的东西,都会有机的结合到产品和工程里面来。团队也是挺开放的。

另外,像搜索团队,其实负责了豌豆荚的应用内搜索和应用搜索等工作。


改组为项目制

要想了解一个团队的工作流程,必须先要了解团队的架构。可能和你想的不一样,豌豆荚团队的架构并不是比较普遍的部门制,而是项目制。改组的原因是之前采用的部门矩阵管理制度使得同一位设计师或工程师会同时负责多个项目,不仅沟通成本大,排期优先级也混乱难以协调。

新的项目制的流程是这样的,当一个新的项目确定后,便会确定对应的设计、开发、运营人员临时组成一个项目团队。项目完成后该项目团队解散,再重组进行下一个项目或进入其他项目中(中间过程,项目成员每过3个月也可以申请调换到其他项目)。

没有产品经理

另外一个你可能意想不到的是,豌豆荚是没有专门的产品经理的。当一个项目组建后,如果该项目产品是以设计为主导的,就由产品设计师整体负责,如果该项目产品是以开发为主导的,就由开发工程师主导。主导人相当于该项目临时的产品经理。

对工程师能否负责起这个角色的疑问,张涛告诉极客公园,在豌豆荚,很多产品都是由工程师自己做出来的,包括产品的原型、界面设计等,刚刚又有一位工程师从开发转岗到产品设计,这在豌豆荚并不是第一例。年初王俊煜在接受 infoQ 采访的时候也有提到过,“有不止一位豌豆在工程师和产品设计师之间有过相互转换的经历”。

基础了解后,下面就来从一个项目的流程(从设计开始到开发、测试、上线、后续的运营、反馈迭代)来看看豌豆荚是如何利用工具增加工作的效率,减少那些“为了能够完成工作而需要做的工作”的吧。


产品设计

前期设计

通过团队头脑风暴讨论,然后用便签把 idea 分类,然后作为一个个的任务归类到项目管理工具 Asana 里,并指派给负责的人。以后这件事情只和这个人相关,后续的进度、流程都通过 Asana 的邮件通知去了解和安排。另外在 Asana 中默认所有人都能看到所有项目,如果想和该负责人一样实时跟进的话只要 follow 一下就可以收到邮件提醒,保证透明性。

20151210104054086.jpg (1426×748)

产品开发

开发的进度管理也是使用 Asana,就像前面提到的那样,最早人少的时候开发进度是通过 Excel 管理的,后来使用一个类似微软 Visio 的工具,但因为比较臃肿且无法跟踪 BUG 所以很快就被抛弃。再后来转向使用 Jira,因为 Jira 对 BUG 跟踪以及进度控制得很好,分配也比较细,还可以统一协调。但后来因为使用成本太高,也被抛弃。Jira 之后开始试用 37signals 的 Basecamp,后来因为进度不明确、速度慢也被抛弃。

最后开始试用 Asana,当时豌豆荚是 Asana 的第一批用户,也是第一个完整地将团队切换到 Asana 平台上的(现在使用的团队还有Foursquare,Airbnb,DISQUS等)。

继续接着上面的流程,当设计输出高保真原型图后,将包括每一个像素点是多少等在内的具体细节描述都写在 Google Docs 文档上,稍后工程团队会跟进,在这份文档上与设计沟通确定好(中间会有改动),然后工程团队这边也会出一份和设计文档类似的实施文档。这份文档会给工程师以及一些技术大牛们过一遍,大体指出哪些地方应该是什么样,中间可能会面临哪些风险及遇到哪些问题,做一些技术上的指导。然后就是最后的 Coding 编码了。Coding 过程中也是使用 Asana 进行管理,哪些功能完成了就勾选一下选择完成,之后工程师会收到通知,确认这一块已经完成。后续每周有一个周会来检查回顾上周碰到什么问题并确定本周来做什么,整个研发的过程就是这样。

更多精彩内容其他人还在看

医疗行业怎么做好网站建设?建站注意事项及经验

踏足互联网,医疗行业可以将自身优势资源整合到网站中去,为大家提供病理知识、在线咨询或者预约就诊服务等。那么如何做好医疗行业的网站建设呢?本期为大家分享一些在建站过程中需要注意的东西和建站经验,希望能给大家带来帮助
收藏 0 赞 0 分享

企业应该怎么策划自己的网站?规划网站注意事项总结

网站建设虽然是一个比较复杂的过程,包括网站策划、网页设计、程序开发、上传网页、发布网站等,那么企业应该怎么策划自己的网站?下面为大家介绍规划网站注意事项,来看看吧
收藏 0 赞 0 分享

大众点评网站的支付系统构建经验分享

大众点评网站的服务器端在迭代的同时保持了很好的扩展性和可用性,这里我们来看一下大众点评网站的支付系统构建经验分享,主要以大众点评的支付渠道网关系统为核心.
收藏 0 赞 0 分享

网易蜂巢的容器运维管理服务使用指南

网易蜂巢提供对Docker容器的警报和性能监控服务,通过图形化面板操作十分简洁,这里前提假设服务器端已经架设在容器中,那么接下来就让我们来看网易蜂巢的容器运维管理服务使用指南
收藏 0 赞 0 分享

为什么认为自助建站不适合SEO?自助建站工具搭建出来的网站对SEO的支持如何?

最近有一个做SEO优化朋友询问为什么自助建站做出来的网站排名很难做上去?自助建站工具搭建出来的网站真的适合SEO吗?本文将提供相关内容供大家了解,希望对大家有所帮助和启发
收藏 0 赞 0 分享

支持支付宝的高性价比美国VPS主机Pzea的购买及使用评测

Pzea一直是低价位VPS的人气之选,在美国三个大城市分别建有机房,且构建于KVM虚拟机之上,性能较为出众,接下来就为大家来分享一下这个支持支付宝的高性价比美国VPS主机Pzea的购买及使用评测
收藏 0 赞 0 分享

网站页面一定需要HTML静态化吗 实战说明静态化的必要性

很多刚开始运营网站的伙伴们都要知道网站内的页面需要进行URL优化吗?如设置静态化等,对此,本文就为大家解析一下网站静态化的必要性,有兴趣的朋友们可以了解下哦
收藏 0 赞 0 分享

移动端界面设计之尺寸基础知识学习

这篇文章主要为大家详细介绍了移动端界面设计之尺寸基础知识,通俗易懂的学习教程帮助大家了解关于移动端设计尺寸的相关知识,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

如何提高用户体验?优秀的用户体验需要遵守的十大准则

自己的网站做的很漂亮却依然没有排名,这是为什么呢?这个时候,你应该考虑你是否关注到用户体验?而如何提高用户体验又是你要考虑的问题了,本文将提供优秀的用户体验需要遵守的十大准则供大家了解,希望对大家有所帮助和启发
收藏 0 赞 0 分享

DoubleClick Ad Exchange Seller(adx) 为您的广告代码生成异步代码的方法

这篇文章主要介绍了DoubleClick Ad Exchange Seller(adx) 为您的广告代码生成异步代码的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多