最近公司有个新项目,软件方面由我来负责,这个项目和原来我做的项目有很大的区别。项目参与方较多,我方是做整合,app我们自己做。参与方有设备端固件开发、服务器软件开发、app软件,很多功能需要三方联调,而且固件方在深圳,其他在北京,增加了沟通难度。
项目是否可以顺利开展,取决于各方的技术能力和重视程度,这个项目最主要的还在于我方怎么把各自的优势发挥出来,并且把三方的阶段性输出整合到一起。最难的是在项目规定的时间内怎么把各方阶段性输出整合成完整功能。这就需要在排期上对各方功能的输出时间顺序做规定。避免某个功能需要等待对方的输入导致整体功能延期。
下面从几方面具体谈谈需要使用的方法。
1,需求评审
项目相关人员包括产品、技术、测试和项目相关负责人一起进行详细的需求评审。产品人员首先介绍本产品的背景和受众用户群体,要详细介绍用户使用场景。技术人员会从产品的角度分析交互的合理性,逻辑关系是否明确,最后从技术角度给出实现的可行性和难度。对于本项目评审过程包括对外包公司的评审,首先满足我们的需求,包括源代码和定制功能,其次对外包公司的技术实力进行评定。
2,需求分析
在本阶段技术人员要对需求进行功能拆解,拆解的原则是越细越好,如功能性需求给出逻辑流程图,数据存储要给出每个存储项,并说明意义。列出所有风险点,并预留备用方案。要输出项目概要设计文档,详细设计文档,列出服务器等硬件资源需求。本阶段的工作越详细,对于下个阶段的的排期越准确。
2,排期管理
针对需求分析阶段产出的细分功能进行工作量评定,并指定开发人员。对于涉及到第三方的功能,需要对方给出具体的功能排期,在合作方给出各自的排期后需要按照完成功能的标准把各自的时间点前后排期。
工作量评估包括开发时间和测试时间,还有三方联调时间,
对于风险点要预留充分的时间进行开发。
列出里程碑节点,在里程碑节点形成完整功能并提交测试。
2,项目进度跟进
定期沟通,并提前预警。根据里程碑,检测阶段性输出。
4,质量管理
技术人员定期进行代码review,测试人员及早介入,写好详细测试用例。定期文档输出,保证有迹可循。
5,沟通管理
沟通的原则是站在对方的角度和立场,理解对方的想法,及时汇总和确认自己理解的正确性。
沟通也要有计划,定期进行项目进度沟通,分享各自的问题和解决方案,确保整个项目的进度在可控范围内。
沟通过程要有同理心,在沟通过程中有时候容易给对方造成压力,人在压力大的情况下,容易做出不理智的回应,因此沟通过程要照顾对方感受。。
在沟通过程中,我们不能只要对方去解决问题,我们也要从自己的角度,去思考有哪些可以改善的地方,共同去解决问题。