角色一览
产品总监
角色定位:产品总监需要洞察力,透过现象看本质,你做的产品满足了人类的什么底层需求,顺应任性的商业模式才能成功,违背任性的商业模式注定失败。产品总监需要创新力,大部分底层需求已经被已有的产品满足,从头立项一个产品除了在本质上能满足需求以外还要在上层实现上有所创新。产品总监需要决策力,针对同一个产品提出的意见可以是五花八门的,产品总监需要结合自己独到的见解选取有利于产品未来发展的方向推进。产品总监需要规划力,一款产品从设计到上线到能打不是一蹴而就的,以小说为例,从一提笔作者就要确定小说的框架和世界观。以游戏为例,好的游戏都是一个大IP,一二三部曲有延展性,在开发第一部游戏的时候要预留给后面的续作足够的伏笔和想象空间。产品总监需要政策力,同样的一款产品十年前和十年后推出境遇可能截然相反!与产品匹配的基础设施是否完善,产品行业的法律法规如何至关重要。直播的兴起基于5G网络和智能手机普及,教培之死由政策打压导致。
角色职责:产品总监负责立项,确立项目的大方向。产品总监需要做充分的市场调研。产品总监需要熟知行业发展动态,熟知政府指导性意见。产品总监需要熟知产品的精准付费用户。产品总监需要写在什么场景下什么人会用我的产品。参考近期的京东淘宝拼多多之争,京东淘宝输在低价用户心智,产品总监需要回答用户为什么要用我的产品,同样的消费行为,用户有什么不得不用我现在立项的产品的理由而不是去其他竞品处消费。产品总监的能力对于项目的生死负有一半的责任,通常由企业CEO兼任。
交付物:《商业可行性分析报告》《行业政策解读报告》《用户画像》《用户故事》。
产品经理
角色定位:产品经理需要逻辑力,用户的决策链路是由产品经理决定的,产品设计是否会导致用户体验差,是否能提高用户留存率,都看决策链路是怎么设计的。我现场举一个例子,我是食客中午到餐厅吃饭,餐厅接入了点单系统,方便堂食的用户和外卖的用户使用相同的平台下单,请问产品经理应该怎么设计面向堂食用户的产品模块?产品经理需要抽象力,用户使用产品过程中反馈的需求是具体的细致的,但是产品经理需要提炼出这些反馈背后的根本问题。我举个例子问现场的大家,用户反馈说游戏地图加载在每天9-11pm很慢,作为提供游戏服务的产品经理应该怎么解决?产品经理需要结构力,产品总监给你的只是一个大的产品方向,具体的产品模块设计需要产品经理完成。产品经理需要文档力,把对产品的模块设计转化成详细的需求说明书落地。产品经理需要竞品力,有一句话调侃,程序员跟产品经理说你这功能上哪抄的。抄并不可耻,决定产品创新点主要由产品总监负责。产品经理需要熟知竞品的功能,保证自己设计出的产品不输给竞争对手。产品经理需要把控力,一款产品在设计之初就是比较完善的,但是有主次之分。用绘画来举例,在提笔之前就心里知道最终成效是什么样的,但是要分为四五个图层,也就是先画出人物的躯体素描,再补全人物结构,再精绘人物细节,最后画背景图层。产品经理需要优先设计出程序的主要功能,保证可用性,同时预留出优化体验功能,在之后的迭代设计。
角色职责:产品经理负责分析竞品,保证竞品主要逻辑中出现的功能在自己设计的模块中出现。产品经理负责提炼用户诉求,满足用户基本需求的产品一定早就出现了,产品经理需要搜集现有竞品的痛点问题是什么并且提炼出背后的根本问题。产品经理负责把产品模块设计出来并且写成文档。
交付物:《竞品分析报告》《用户痛点解决方案》《软件需求说明书》
研发总监
角色定位:研发总监需要判断力,产品在设计过程中会出现不可实现的部分,研发总监拿到《软件需求说明书》之后要判断出不能实现的部分及时沟通修改。研发总监需要技术力,开发人员能力不足解决不了的技术问题,研发总监需要最终负责解决。研发总监需要管理力,项目交付的周期完全由研发总监评估,研发总监需要从立项到交付对团队管理把控。研发总监需要架构力,软件项目不是一次性生意,代码仓库需要维护,从技术选型开始就决定了未来项目的维护成本。研发总监需要成本力,投入到软件开发的成本不额外超出预算10%。
角色职责:研发总监负责修改软件需求说明书中当前技术无法实现的部分。研发总监负责解决技术难题。研发总监负责管理项目开发生命周期,确保项目开发不存在无法完成的风险。研发总监负责系统架构,保证软件是可持续发展的。研发总监负责把控成本,投入到软件开发的软硬件资源不额外超出预算10%。
交付物:《项目管理规范》《代码仓库》《可执行程序》《研发资金管理计划》
交互设计
角色定位:交互设计需要体验感,把自己放在用户的视角去设计界面。交互设计需要设计感,用户最直接接触到的就是产品界面,产品风格是否好看,直接决定用户的一日转化率。
角色职责:交互设计负责把产品的用户决策链路绘制成原型图。
交付物:《网页原型图》
前端开发
角色定位:前端开发需要技术力,熟悉Vue/React,熟悉HTML/CSS/JavaScript。
角色职责:前端开发负责根据网页原型,接口文档实现交互式网站。
交付物:《需求文档》《可执行程序》
后端开发
角色定位:后端开发需要技术力,熟悉Java/Python/Golang。
角色职责:后端开发负责制定接口文档,开发网页后端。
交付物:《需求文档》《可执行程序》
内部测试
角色定位:内部测试需要技术力,熟悉测试流程,测试工具。对产品质量把关。
角色职责:内部测试负责检查产品功能性需求和非功能性需求。
交付物:《质量目标》《测试报告》
公开测试
角色定位:公开测试需要热爱产品,自愿参加产品早期公测。
角色职责:作为普通用户体验产品并给出改进意见。
交付物:《用户反馈》
流程一览
立项
产品总监结合市场调研报告确定项目大方向,撰写商业计划书,证明盈利可行性。
规划
产品团队领导人讨论并制定创业计划书。
评估
技术团队领导人根据创业计划书评估技术方案可行性和交付时间。
设计
产品经理出版软件需求说明书
分工
研发总监拆解产品成模块,拆解模块成epic,拆解epic成feature,拆解feature成story,分派给各个员工实现,管理时间预期和资源投入。
开发
各自按时完成开发。
测试
检测产品质量。
交付
完成产品某个版本的开发并上线。
迭代
重复开发的流程并持续维护。
关键点一览
立项
在创业之初要慎重,仔细地考虑项目的商业性,是否能盈利。时效性,若干年推出之后会不会暴死。可行性,是不是异想天开能不能做出最终成品。 可替代性,项目一部分员工的流失是否会导致整个项目停摆,有没有替代方案。可持续性,项目是短时间捞一笔就跑还是长线运营。 投资性,项目在开发过程中能否吸收外部资金投入。先花足够的时间,1个月左右,把立项/可能出现的问题和解决方案论证清楚再开工。
架构
有了明确的立项之后,按照流程开发即可,不会出现偏差。系统在一开始就要设计好,否则后续就会推倒重来。 一个好的软件项目需要明确它的功能,目标客户,边界。才能设计出好的架构。用汤勺灌溉是不对的,用金锄头耕地也是不对的,重点是适配。
执行
坏的项目,谁做都不会成功。好的项目,对的人做才能成功。团队领导需要有想法的人,团队员工需要有执行力的人。
制度
制度能把好人变坏,把坏人变好。公司运作需要好的制度,促使各司其职,各尽其用。
合作
创业团队需要在每个关键的位置上放擅长的人。团队成员之间不能有嫌隙,还要有羁绊。平时定期组织团建活动交流感情,一旦发现团队成员有矛盾要及时化解。
利益
无论是钱还是成长还是感情,每一个团队成员都认为自己有收获,项目才能维系。
问题点一览
管理
公司经营模式需要每一个领导成员一致认可,公司规章制度需要每一个员工认可。选志同道合的人合作。
经营
有订单的商品,做得再差也能继续,没订单的商品,做得再好,也要放弃。
通信
工作联系和生活联系分开,工作消息在专门的工作群中交流。阿里系钉钉,腾讯系企业微信,字节系飞书。我个人倾向于飞书。 这3个软件在功能实现上相近,都支持小微企业免费试用,飞书的色彩管理做的最好。
研发要求
语言
产品是否支持多语言,支持多语言就要作解耦,文本不能出现在代码当中。简繁英。
配置
产品是否支持配置化,即修改配置文件得到功能略有差别的副本。yaml格式配置文件。
仓库
软件仓库在哪里维护。要求支持多人开发,支持流水线构建。GitHub/Gitlab/Devops。
文档
技术文档在哪个在线地址维护。要求支持多人在线编辑,支持绘图,支持评论,支持权限管理。Confluence。
进度
每个人的开发进度所有开发人员可见。要求可视化管理开发进度。Jira/Devops。
接口
前后端交互的规范定义。遵循restful风格。Apicurio。
设计
专业的网页原型画图软件,最好是自带软件框架。Axure。
容器化
可以弹性伸缩,扩展资源。kubernetes,docker。
错误设计
报错清晰地指出报错位置和错误信息和解决方法。错误打印调用链。
日志查看
记录错误信息以排查。
资源分析
分析每个服务占用资源大小,响应时间,以便针对性优化。pprpf,trace。
备份
数据备份和软件备份,用户系统出现问题后能在一分钟内恢复。代码仓库有备份,防止被删库。远程,本地,网盘3备份。主线分支发布管理。
指导手册
产品的每一个功能的使用说明,让用户知道怎么用。
可视化
数据可以在网页直观展示,甚至可编辑立即生效。
规范
接口规划,代码规划,文档规范,流程规范。
澄清
开发需求前先逻辑设计,再澄清给相关人员,方案通过后再开发。
审核
代码开发测试完成后,先代码审核是否规划,再合主线。
联调
前后端开发进度不同,先制订接口文档,再根据接口模拟数据,全部开发完成后联调,互相进度不制约。
代码检查
golint eslint sonarqube 经过代码检查可以发现漏洞,可以使得代码符合规范。