凯哥谈编程(二):好的互联网应用是如何构建的

微博 微信

上一篇文章讲了互联网应用的组成及一个互联网应用团队的必备组成,今天和大家分享一下好的互联网应用是如何构建的,也就是是如何从一个想法到开发实现出来,然后上线的。

凯哥以前在咨询公司负责实施过多个企业互联网转型的项目,结合创业后的多个全平台互联网应用产品项目的开发,总结了三个关键成功因素:

产品要有总体的规划,但是要遵循市场的反馈进行调整

这就是“小步快跑,快速迭代”原则。

凯哥在05年到08年参与了一个早期互联网项目的创业过程,亲见了初心是如何被演化掉的,但是产品是如何一步步走向成功的。

最早,投资人和创始人是打算作企业协同平台,包括IM和视频会议系统,但是经过两年的研发(基于AnyQ)产品也出来了,但是80%的功能被演化掉了了,而企业协同中的一个小功能,收藏夹被放大保留下来现在成了格致璞公司的流量入口,排名互联网前茅的抽屉。

无独有偶,那个时候悠视网刘总怀宇也曾邀请凯哥加盟,最早要做的也是企业IM和视频会议系统2B的业务,同样后续也转型到2C市场。要灵活变通,跟随市场和数据的变化进行战术乃至战略层的调整。

去年凯哥孵化的一个创业项目,母婴类的产品,最终放弃的一个可能的原因就是因为我们偏艺术,设想没有结合市场特别紧密,非要偏执于内心的那点情怀,曲高则和者寡。

当然,如果你有罗胖子那样的牛逼影响力,有乔教主那样的天才设计和整合能力,也行。

不要纠结于技术框架的选择

凯哥经常被人问到互联网开发啥语言,啥框架最好,最快,最省钱。经过多个经验教训,凯哥现在都告诉大家,你的团队会啥,熟悉啥,你就用啥。我们是在作产品,不是在研究技术的先进性,况且java/c#/php/python/node.js这些市场上常用的技术语言其实都能够应对所有的互联网开发需求,只不过各有特色。比如,论起开发速度,一定是python配合django这样的框架最快,但是人难找,而且价格贵。论起运行效率,一定是java最快,但是java开发比较慢。论起价格便宜量又足,那就非php莫属了,但是php里面不同的开发框架又各有特色。凯哥现在的一个孵化项目,在第一版就执着于python,因为凯哥会,但是招人真的是太难了,又贵又不好找,最后放弃了。这让凯哥明白,适合你的才是最好的。后续凯哥会对市场上常用的主流开发框架及第三方插件、互联网常用的开源项目做个介绍。帮助大家选择,当然最方便的方式,就是关注凯哥的公众号,或者给凯哥打电话咨询啦。

快速开始是要务

互联网讲究的是唯快不破,快速出产品,核心功能快速上线,然后快速迭代,快速占领市场。因为市场的变化太快了,等你想清楚整个产品的细节的时候,竞争对手已经打到家门口了。 以上是三个关键成功要素。

下面凯哥介绍一下好的互联网产品的整个研发步骤:

凯哥把互联网产品的整个研发过程分为了七步:

· F1 需求梳理

· F2 业务策划

· F3 产品设计

· F4 技术设计

· F5 开发迭代

· F6 测试试点

· F7 上线

下面逐一道来,包括每个阶段凯哥推荐使用的工具:

·需求梳理

首先要搞清楚市场在哪里,你要做什么,你的业务目标是什么,业务规划是什么,用户是谁,什么场景下需要你的产品服务,和其他产品的差异化在哪里

推荐使用工具:FreeMind/MindMap等思维导图工具

业务策划

在弄清楚了需求后,进行业务的策划设计,包括流程设计,也就是你这个项目是通过什么流程解决用户需求和痛点的,流程中的各活动角色是什么,再根据需求场景梳理出功能清单,随后进行产品的规划,分几期实现,每一期实现什么,分别能达到什么业务目标,对应的市场推广运营计划是什么

推荐使用工具:OmniGraffle/Viso

产品设计

当业务策划确定后,就需要对第一个阶段的产品进行设计,以上三个节点的主导人一般都是产品经理产品

设计主要包括:

原型设计-概念原型

根据功能清单,首先把产品的原型做出来,这时可以不考虑细节字段,用户体验等,只是根据用户角色,功能清单梳理一下功能之间的逻辑关系,然后用典型场景,使用流程来推演一下,是否顺畅,符合用户习惯,是否有信息衔接不畅,走不通的卡点。

推荐使用工具:Axrue/modao.io(凯哥强烈推荐,移动应用原型设计的首选)

UI/UE设计

UI设计:根据整体的业务规划,竞品的分析,确定整体产品的设计规范,LOGO等标准,同时在概念原型基础上完成粗框架的UI设计,细节的字段这个时候还是可以后续调整。

UE设计:在UI设计和概念原型基础上,完成UE的初步设计,同时调整UI的设计。

推荐使用工具:PS

高保真原型设计结合UI/UE设计,把低保真调整成高保真设计,基本上就是产品最终的效果

推荐使用工具:Axrue

MRD:

 市场需求文档,这个文档是为了在产品原型出来后,对应市场需求的一个复盘评估文档,目的是回头看产品原型是否全部满足了所有的需求,可以简化

MOP:

 市场运营计划,在产品原型出来后,市场运营部门就可以根据产品原型,结合产品的规划,制定市场运营计划了,因为市场推广的资源,PR等工作都是需要预留时间的,很多资源是要提前定的

技术设计(以下内容相对高阶,如有不懂不属于你笨)

当产品原型确认后,基本上产品第一版设计就定稿了,然后就进入了技术设计阶段,这个阶段的主导者是技术架构师。

总体技术架构设计

总体架构设计包括,应用架构设计,部署架构,数据架构,集成架构和安全架构,同时完成本项目开发的各类规范和约定,常见的有:命名和编码规范、注释规范、结构规范

比如,分哪些模块,包之间的关系,需要哪些服务器,应用服务器、负载均衡、CDN、资源存储、数据库存储服务器分别用那些,端口规划,是否需要第三方接口,在总体架构设计过程中要识别出技术盲点和风险点

POC

对于总体技术架构设计中的技术盲点和风险点进行技术预研,提前实现一遍,从而保证整体产品架构的可行性。常用的互联网应用开发的POC会包括:第三方预研及服务的预研、性能预研、安全预研等

信息结构设计

进行整个产品架构的信息结构设计,识别出主要数据对象,数据之间的关系,数据的主要属性及主要属性的关系,然后进行数据模型的设计和最终的数据字段设计

路由设计

现在的互联网开发很多的框架都是走的路由的模式,所以在一开始需要把页面跳转逻辑,关系设计出来。从而避免因为路径的原因导致一些低级错误的发生

接口设计

对于主要的接口,要进行接口设计,从而保证团队协作的一致性,避免接口冗余、调用重复,降低性能和开发效率,导致低级错误的发生o 详细设计进行开发的详细设计,例如函数、参数等

这个阶段,推荐的工具就是GmniGraffle和Word

开发迭代

这时就进入了正式的开发阶段,您就要为开发人员准备好武器了,比如双屏开发,好用的机械键盘,带有美女的鼠标垫,一个睡袋会更好一些。

这个过程中包括页面开发,后端开发,前端开发等,这里就不详细叙述了,总而言之,你看着几个宅男,一声不吭的,对着电脑哐哐哐的敲代码,你就会感觉很爽。

这里,建议把整个产品的开发分几个小功能版本迭代,推荐用站立晨会和白板讨论的方式进行每个小版本的头脑风暴,过程中如果发现有重大问题,业务人员可以随时发起回溯流程,从需求和产品设计阶段进行调整。

但是这里不建议频繁调整,尽量减少沟通,因为程序猿们的脑子一旦陷入开发,就很难多线程,你看似只打断了他一分钟,可能他为了找回以前的节奏,就需要去玩半天游戏。

在这个阶段的推荐工具:Teambition,Git,Jira等开发协同工具,当然一个云端的远程开发环境是必须的,避免开发人员在忙碌的开发过程中还要花时间去管理自己本地的环境。

测试试点

当每个小版本都测试完毕,就可以进入测试试点阶段了,这里的测试包括功能测试、集成测试、业务测试和性能测试,这里就不细讲了。

上线

经过业务和性能测试后,产品就具备了上线的条件。这时需要做的工作就是准备和部署生产环境,进行数据准备,进行业务人员培训,让业务人员进行数据初始化。

这里凯哥的经验是,在第一版上线的时候,尽量进行一轮邀请测试,让积极的、有想法的用户、朋友作一轮内测,尽可能的暴露问题,进行高强度的虐待。当然,如果发现了极端的小概率错误,但是修正起来很麻烦的时候,不建议立刻返工修改。以上线运行,采集用户数据,反馈,然后同步迭代过程中完善为宜


文章转载自微信公众号「 凯哥讲故事系列 陈庆

zhangsan
史凯
思特沃克数据和人工智能总监

20年企业信息化和数字化转型经验,曾为众多大型企业提供数字化转型战略咨询、IT规划、系统实施等服务。

我要留言