我整理了一下现今我对一个单纯的互联网产品项目开发过程的理解
互联网项目分为5个阶段
一个互联网产品的项目流程分5个阶段,如果项目总时间为1,他们的时间消耗比为:
- 设计:0.3
- 生产:0.4
- 质检:0.2
- 上线:0.1
- 迭代:看产品生命周期
澄清
- 团队水平越高,技能更娴熟,留给前期设计的时间就会越长.相反,新兴的团队,应该多留一些时间给生产阶段,以磨合团队的技能和默契度.
- 这里只是提出一个整体比例,每个项目类型不一样,每个团队的开发方式也各有千秋.不能一概而论.
1.设计阶段
确定需求
此处不细展开
确定资源提供方的供给
一些功能的实现是需要一定的资源,不同的外部资源决定了某些功能的内容.
在确定产品内容之前,尽可能确定外部资源的供给.
确定产品内容,和各版本迭代的内容
产品经理需要知道完成某些功能,当前人力整体大概所花费的时间
- 理论上要做的所有功能,做权重评级,整理出满足核心功能最小的闭包.
- 根据项目上线时间和需求,确定当前版本所需要做的功能.
- 切分功能做迭代,制定迭代时间.
- 得出当前版本要实现的功能和整体时间
确定各环节的时间
根据整体时间和产品内容,切片设计各环节时间和人员
- 确定交互设计师的时间和人员:
- 交互文档初稿的时间
- 交互文档修改的时间
- 确定稿的时间,
- 确定视觉设计师的时间和人员:
- 确定视觉设计师设计总体风格的时间,
- 确定主要界面的完成时间
- 确定所有界面设计完成的时间
- 确定最终输出切图和标注的时间
- 确定开发人员的时间切片:
- 确定界面搭建的时间
- 确定数据模型搭建的时间
- 确定功能模块的开发时间
- 确定界面和数据合并的时间
- 确定界面和功能合并的时间
- 确定最后预留给设计师调整界面的时间
- 确定打包给测试人员的时间
- 预留1-2周做测试和Bug修改,具体时间根据产品内容而定.
设计阶段的修改
在设计阶段,任何内容都可以被推翻和修改,我的理解:设计的本质就是推敲和定义未来的工作内容.
但是当进入生产阶段,尽量就不要修改设计阶段的内容,如果在后期修改设计阶段的内容,代价就是影响进度.
此阶段产出
- 产品文档(产品定义,产品流程图,版本规划文档)
- 项目计划文档
2.生产阶段
生产阶段需要保证的有几点:
- 规划每个人员的工作内容和结算日期;
- 开发过程中遇到的问题,组合资源帮助解决.
- 确保不返工.
生产阶段分为:
- 前期:交互设计输出,视觉设计输出,服务器搭建,确定接口.
- 后期:客户端界面开发,客户端功能开发,产品润色
其中,前期的工作未完成,尽量不要开始后期的工作,因为很容易导致返工.生产阶段的返工会极大程度影响产品进度.
前期
交互设计输出
- 设计整体交互框架
- 设计1级2级页面的跳转
- 设计所有页面的跳转
- 输出产品原型
- 设计所有空白页面,错误页面
- 设计等待过程
- 设计内容的刷新机制,刷新交互
- 补充可以提高体验的交互细节
- 更新产品原型
视觉设计输出
- 确定设计风格,设计规范;
- 设计住要页面;
- 补充所有常规页面;
- 设计空白页面,错误页面;
- 设计通用弹框,提示;
- 设计产品图标(可以放到生产后期);
- 设计产品引导页,教程(非必需);
- 设计上架所需素材(可以放到生产后期).
服务器搭建
- 确定产品需求;
- 确定客户端所需接口;
- 构建服务器架构;
- 开发接口,编写接口文档;
- 填充服务器内容.
生产前期阶段,产出
- 产品原型,效果图,切图,标注
- 服务器接口
后期
客户端界面开发
- 建立产品框架
- 根据接口设计和开发数据模型
- 根据效果图搭建界面
- 让界面和数据模型关联,开发所有连接状况和错误页面
- 接入其他开发人员所开发的功能模块(非必需)
- 和设计师调试界面,动画
- 打包给测试人员进行测试
- 分权重修改测试人员罗列的Bug
客户端功能开发
产品形态决定人员分工:
- 按界面模块分工:大部分产品的实质是获取服务器信息,然后按照设计展现内容.产品的功能就是提供内容.这类产品开发人员最好按界面模块分工.
- 按功能模块分工:所以很多产品不需要特殊的功能开发,当然也例外的.例如相机应用中的滤镜,就可以拆分成功能模块,这类产品可以按功能模块分配工作.
工作内容:
- 确定功能模块细节
- 逐步完善每个功能
- 测试该功能的使用效果
- 修复体验和bug
- 打包成SDK,编写简易的使用文档,供其他开发人员使用.
产品润色
产品的每个大版本更新都需要进行产品润色再上线.
产品润色的内容有:
- 重新确定整体的视觉
- 页面过渡动画
- 加载过程反馈
- 各种情况(无网环境,wifi和3G提示)的错误提示
- 一些情况补充(提示好评)
产品润色可以极大提高产品的体验,但是时间要控制在1个工作周内.
生产后期阶段,产出
- 可以用于测试的产品
3.质检阶段
质检并不是在产品"整体完成之后",而是在产品的生产过程的不同节点进行.
分模块质检
产品经理需要明晰开发人员当前正在开发什么模块,什么功能,每个模块开发结束之后,叫上测试人员和设计师开始质检.
-
产品经理的工作:检查功能定义,模块划分是否合理.如果不合理是否有更好的方案,罗列出更好的方案,方便下一个版本进行修改;项目进行到此时不允许做功能的大调整.
-
交互设计师的工作:检查交互过程是否舒服,产品页面逻辑是否有问题,并且和开发评估出修改的时间:
- 立刻修改:有的修改只要花费开发人员小于1天时间,但是对产品体验有巨大改变;
- 不做修改:有的修改需要花费多个开发人员2-3天时间,并且对产品体验帮助甚微;
- 下一版修改:费时并且又有巨大体验改观的放到下一个版本.
- 视觉设计师的工作:检查页面效果是否符合效果图;检查页面在操作过程中是否符合预期,需不需要做设计的调整.视觉上的调整花费开发人员的时间不多,但是缺很琐碎,最好和开发人员商量,选定一个大块时间,两个人坐一起慢慢调整.
- 测试人员的工作,根据以下几点编写测试用例:
- 测试功能
- 测试bug
- 测试体验
- 测试极端情况(暴力测试)
整体质检
整体质检和模块质检的工作内容是一样的,不过参考的标准是:这个产品适不适合上线,适不适合直接面向用户.
质检阶段产出
可以面向用户的产品
4.上线阶段
打包
- iOS,Android由开发者打包,确定版本号,发给平台对接人员
上线素材,文案准备
- 产品名称
- 产品介绍
- 产品ipa, 产品apk
- 产品icon
- 产品LaunchImage 640x960,640x1136,750x1334,1242x2208
- 产品宣传图,配文案 各尺寸5张, 640x960,640x1136,750x1334,1242x2208
- 30秒AppStore宣传视频(非必备)
SEO
- 产品前期,SEO可以参考竞品的SEO,把自己核心功能放在前面.
- 在产品迭代过程中逐步优化SEO
需要上线的平台:
- AppStore上线
- GooglePlay上线
- 国内iOS、Android第三方渠道分发
5.迭代阶段
在产品生产中期,就应该开始迭代
迭代版本规划
设计新版的功能模块
产品设计师对之前订制的新版功能进行细化和设计,并且总结出上个版本的问题,把需要修改的功能也放倒此次迭代中.
视觉交互重新进入生产流程
交互设计师和视觉设计师的工作进入稳定期:
- 迭代之前需要修改的内容
- 设计新的页面模块
- 检查开放人员正在开发的模块
开发人员重新进入生产流程
新的的生产流程分为两部分:
- 修改之前遗留的非致命Bug;
- 修改之前需要修改的页面;
- 开发新加的功能模块.
网友评论