项目背景:用户强烈要求我们ERP对接一个自建站平台。我们项目组经过考虑后,决定对接该平台的产品刊登功能。
结果:历时四周,总算把该项目给推到线上。
下面,我就总结一下在这个项目中学到的经验教训。主要分产品调研与功能设计、产品评审、技术评审、项目排期、开发过程、测试过程、上线等7个部分。
产品调研与功能设计
在调研阶段,输出的文档有:平台背景分析,产品设计文档(包括原型文件,功能流程图)、竞品调研文档。其实这就是需求文档的简版。
首先,是分析平台背景。从官网了解平台功能和背景,加入小组或论坛可以获取用户反馈或评论,
然后,是调研平台功能,这个平台的主要功能包括:产品刊登,订单处理和其他设置。而我们这次只对接产品刊登功能。
在调研功能时,心里要有谱,清楚调研的目的,最好不要上来直接开始看功能流程和API文档,因为这很容易忽视一些前置条件,如:API版本背景,API 授权验证等。
另外,在看API 文档时需要测试并记录哪些字段是必填的,哪些是可缺省的,字段长度限制,记录字段含义等。
画功能流程图时应细心谨慎,画出整个项目的功能流程,这有助于产品、开发、测试对整个项目功能流程更清晰。
在产品设计方面,虽然这个项目需要的页面少,但涉及到的交互比较多,所以在设计功能时除了要保证功能完整,还要用户体验良好。而用户体验这是一个很模糊的概念,每个人都有自己的理解。所以,产品同学自己的“设计内功”需要不断修炼加强,才能让众人信服。在此,顺便推荐一下《设计心理学》和《写给大家看的设计书》,设计入门必看书。
在设计页面时除了引用他人的设计方法时,可以适当加入自己的想法,但一定要清楚这个设计的原因。
打破规则之前,你必须要清楚规则是什么
只要能把这个想法说服评审人员,这种设计就是用户体验良好。
在产品设计中比较常见的问题是,由于时间紧迫,画出来的原型文档不够完善,没有实现高保真,导致在程序员开发过程中对一些交互不清楚,在开发过程中容易出现问题。
高保真的原型图是一个产品同学的基本功,如果时间允许,应尽可能把原型图画的完整。
产品评审
产品评审就是由产品同学组队一起评审功能设计和页面设计文档。
在产品评审前,应当把必要的备注写清楚,没有实现的交互效果也应该跟其他产品同学讲明。在产品评审过程中,应记录其他产品同学提出的问题,暂时无法解答的,应该在会议结束后马上查阅资料了解。
这次项目只进行了一次产品评审,我觉得是不够的。因为这是一个全新的项目,应该反复进行评审。造成问题的原因在于我没有及时组织评审。
技术评审
这次技术评审则是由程序员组成。
评审的主要内容是讨论数据库建表和技术选型。开发过程后期,前端程序员由于不清楚前后端对接传输的数据结构,开发效率降低。而且,没有考虑可能出现的插件的数据结构,这也给后期开发带来了麻烦。
技术评审结束后应输出:功能架构图,数据库建表计划,前后端数据结构规范(草稿)。
项目排期
项目排期是非常重要的,因为它不光是给自己一个deadline,它更是一个承诺。项目组老大们对排期是格外关注的,所以,在制定开发排期时,应对项目开发过程中可能遇到的问题有一个预知和判断,也应该和其他项目组成员协商开发计划、测试计划,确保大家认同这个项目排期,这样制定下来的才是一个理性的排期。(即使出现项目延迟上线,大家一起背锅!)
排期定下来以后,产品同学除了跟进项目的开发进度,便开始调研其他功能或原型设计。
开发过程
程序员和产品同学在开发过程中,必须保持高效透明的信息交流。如果程序员对需求有疑问,应该及时找产品同学确认,切勿将错就错;产品同学如果要临时更改需求,应该先对需求的优先级和重要性进行判断,再综合项目排期,如果该需求优先级和重要性都很高,即使要使项目延期上线也应该找程序员修改需求。
而且,在开发过程中,前后端程序员应该保持高效沟通,产品同学和程序员的座位可以搬到一起,这样对于沟通效率有明显的提升。
测试过程
首先测试人员需输出一份测试用例文档,测试人员跟产品同学确认后,之后便可以根据这篇测试用例进行有计划测试。
测试过程分为:提出bug,修复中,已修复,确认修复和暂时搁置。
提出bug一般是由测试人员和产品同学完成。测试人员和产品同学在进行测试过程,如果遇到bug应该把它记录在bug管理系统中(我们用的是伙伴云来管理bug),程序员看到bug后应及时处理;
如果bug在处理中,程序员应该把bug标记为处理中,这能让产品同学和测试人员清楚当前正在被修复的bug;
如果该bug目前暂时无法修复,应跟产品同学和测试人员沟通后把它标记为暂时搁置;
程序员修复完bug,应该把bug标记为已修复;
测试人员和产品同学看到后应该及时的去测试,确保bug被修复。
如果测试人员和产品同学确认bug被修复,则把该bug标记为确认修复;如果尚存在问题,应把它标记为修复中,交回程序员重新修复。
测试过程是至关重要的,这些流程就是为了确保测试人员与其他成员高效沟通。
上线过程
程序在本地测试没有问题后,便上到test环境测试,test环境和线上环境基本一致。
上线后,测试和产品同学都需要及时的进行线上回归测试。
一般来说,如果程序在test 环境测试没有问题,线上环境便可运行正常。所以,线上回归测试主要是测试功能的主流程和交互效果。
以上便是我经历的第一个完整的大项目得出的总结,从中我得到了许多经验,在此把这些经验记录并分享出来,希望能帮助到有需要的人。 :-)
网友评论