开发一个新产品,需要经历什么

主题:开发一个新产品,需要经历什么

主讲人:赵英如(网易移动端ios高级开发工程师)

时间:2019年6月20日


产品孵化的四个阶段:1.启动  2.计划  3.执行  4.收尾

1.启动阶段

确定工作内容内容:1.项目描述       2.项目需求       3.指派负责人       4.里程碑式进度表       5.组建团队

确定组建团队的模式:1.部门协作        2.独立项目组

确定工作方式:1.集中办公         2.分开办公

确定团队职能:1.产品经理    2.交互设计师   3.视觉设计师   4.项目管理   5.前端工程师   6.移动端工程师   7.后端工程师   8.测试工程师

前端工程师主要负责外部页H5的开发工作,技术语言:html,CSS和JaveScript;

移动端工程师主要负责移动端手机端的开发工作,技术语言:Objective-C和Swift(Ios),Android和Java(安卓);

后端工程师主要负责为H5和移动端去提供数据服务,也就是提供接口服务,技术语言:Java和PHP;

测试工程师主要负责测试整个产品的功能和产品的完整性,这是在我们开发完成以后测试工程师的主要责任;

2.计划阶段

2.1制定团队的工作制度(划分职责,让大家知道自己该做什么)

以咕噜为例

a.采用csrum方式,要求每一步的输出物具备一定的质量;

b.产品同学需管理交互和视觉的产出;

c.产品、技术负责人、项目经理能够识别外部依赖,且在计划会前搞定需求及排期;

d.技术人员能够在计划会上给出工作量预估;

e.为保障更少的空档时间,产品功能backlog(积压的工作)里具备开发条件的需求始终有1-2个;

f.产技团队不要纠结文档和方案的完备性,常见情况是计划会后仍有很多细节不完整,开发迭代中沟通解决即可。

2.2制定工作流程

瀑布型敏捷式(xp,scrum)(在此我专门查了一下两种模式区别,感兴趣可查看链接:https://blog.csdn.net/poppy3163/article/details/78117620)

在咕噜中采用的是scrum方式,首先由产品经理提出自己已经优先排列的产品条目,将其组织成表格,在会议上讲解给大家,讲解完成之后,由团队去选择sprint backlog;然后由技术团队将sprint backlog分解成一个一个的task(需要开发的任务);分解之后,由技术团队做出时间的评估,然后整个技术团队去执行开发任务,在开发任务之中,执行每天的站会(建议不超过15min)(站会解决的问题:1.我昨天做了什么? 2.今天要做什么?  3.碰到的问题是什么)。如下图。

Sprint:冲刺,就是一个版本的迭代              Product backlog:产品条目,就是一个需求,产品想要的东西                      Sprint backlog:一个冲刺中的需求        Product owner:产品负责人                         Daily scrum:每日站会

3.执行阶段

3.1.需求初审

参与人:利益相关人,项目负责人,产品,交互,视觉设计,主要技术负责人,测试负责人

输入:产品方案初稿、交互初稿。

目标:对于需求的可行性评估,交互稿初审。通过讨论评审,进一步细化产品方案,交互方案

产出:详细方案&调整后交互稿,技术选型,外部依赖(是否需要外部服务器等)

3.2.需求终审

参与人:利益相关人,项目负责人,产品经理,交互设计师,UI设计师,全体开发工程师,测试工程师

输入:产品功能列表、修改后交互稿

目标:对产品进行详细的讲解,对产品功能列表中的每个功能点进行讲解。对交互稿的逻辑,功能进行解说。在此期间所有人都可以对产品和交互提出自己的疑问和建议,促使对产品和交互进一步明确与细化。

产出:产品最终方案&交互终稿,视觉稿


3.3.工作排期

开发人员

参与人:技术负责人,全体开发工程师

输入:产品功能列表、交互终稿

目标:对产品进行技术上的工作拆解,量化,分工。产出功能细化后的工作量“人/天”。

产出:排期表

测试人员

参与人:测试负责人,全体测试工程师

输入:产品功能列表,交互终稿

目标:对产品进行测试工作拆解,量化,分工。产出功能细化后的工作量“人/天”

产出:排期表,测试用例(会后测试人员编写)

3.4.执行开发

搭建框架(MVC,MVVM,MVP)

开源库的引入(github)

数据库选择(sqlite,mysql)

模块功能开发

每日站会

3.5.提交测试

功能测试,性能测试,UI测试,兼容性测试,压力测试

提出bug(反馈到jira,一个bug系统)

开发工程师修复bug

测试工程师进行验证

4.收尾阶段

测试验收

交互验收

视觉验收

产品验收

打包发版

登录应用市场

回顾

你可能感兴趣的:(开发一个新产品,需要经历什么)