• 开发软件的基本流程是什么样的? 大厂参考

    2022-05-05 13:30



      第一阶段:项目需求
      
      建立阶段1.1提出需求构想参与方:项目经理,产品经理,运营描述:产品经理或项目经理或运营人员根据目前的数据,市场需求,产品趋势,市场动向等方面,提出下一阶段产品改进或新产品的构想或规划,进行讨论,了解该产品的实现方式是否可行,是否满足市场需要,是否有成功案例,产品生命周期有多久,带来的效益如何。
      
      1.2产品构想私下讨论
      
      参与方:项目经理,产品经理,运营,产品负责人
      
      描述:将现状和目标明确,讨论是否可行。
      
      方式:私下讨论
      
      第二阶段:项目需求提交阶段
      
      2.1需求文档编写
      
      参与方:产品经理
      
      描述:根据市场需求和产品目标,编写相应产品文档,上传到wiki上并共享给大家。wiki地址为部门所在项目的需求池页面。
      
      方式:编写文档
      
      2.2产品文档初审参与方:产品经理经理,项目经理,开发负责人。描述:产品经理发出产品文档初稿给各部门主管及项目经理,相关人提出相关审核意见,反馈到wiki中,文档不明确或有歧义可在wiki进行评论,进行保留,然后根据反馈情况进行文档修改,部门负责人根据需求定义,目前的工作安排情况,分配人力资源。并确定相关的技术负责人(TL)方式:会议后邮件确认
      
      第三阶段:需求评审阶段
      
      3.1产品文档共享
      
      参与方:项目组成员,产品经理,项目经理,技术主管,QA,UED,其他干系人
      
      描述:将修订版的需求文档发送给项目组成员。共享项目文档,准备会议,进行需求评审
      
      方式:邮件结合wiki
      
      3.2需求评审
      
      参与方:项目组成员,产品经理,项目经理,技术主管,QA,UED,其他干系人
      
      描述:进行需求评审会议,确定需求的可行性,项目组成员根据需求,消除不合理的需求,暴露有高风险的需求,确定项目开始前置依赖
      
      方式:kickoff会议
      
      3.3PRD更新及最终确定
      
      参与方:产品经理
      
      描述:根据需求评审会议上多方的反馈,进行PRD的编辑及修改,最终根据成员的反馈进行修改和定版。将项目分解为多个以一到两周为迭代的里程碑。
      
      方式:自行编写
      
      第四阶段:技术方案时间确定阶段
      
      4.1工作分解参与方:技术负责人,技术人员,项目经理,QA,UED描述:根据需求文档,进行工作任务分解,将功能模块化,对模块进行估期和管理,分配给相关技术人员。在拆分过程中,在wiki建立文档进行记录。将项目分解为多个以一到两周为迭代的里程碑。在以一到两周进行迭代。一周做一周测为基本节奏。修改bug同时进行开发。项目经理根据里程碑对项目状况进行跟踪。在confluence建立工作分解文档,相关人提出相关审核意见,反馈到wiki中。在gitlab建立以周为单位的里程碑,将需求以issue的形式录入。方式:会议或私下,在confluence建立工作分解文档,project排期或jira,在gitlab进行研发任务分解
      
      4.2任务分配排期参与方:项目经理,技术负责人,QA,UED描述:根据工作分解的模块,根据目前的工作情况,将拆分的工作包分给相关技术人员和QA。并根据之前的排期进行甘特图的编辑,确定时间周期方式:会议或私下,project排期或项目管理系统,在gitlab进行研发任务分解
      
      4.3共享时间进度排期表
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA,其他干系人,部门经理
      
      描述:将排期结果发送给项目组成员
      
      方式:邮件
      
      第五阶段:开发阶段
      
      5.1迭代开发参与方:项目经理,技术主管,项目组成员描述:根据排期进行开发工作,技术主管负责协调各方资源确保时间点的确立,项目组成员根据gitflow的形式,进行代码提交,master,release,devlop分支设置保护,严格保证以上三个分支的稳定性与相应作用。技术骨干进行分支合并,在使用gitlab提交mr过程中选择相应的阶段进行提交。通过gitlab的issue记录关联的需求与bug的处理情况,进行相应的统计。保证研发在指定的里程碑将需求合并进入相应的分支。开发完成阶段所有需求合并进入develop分支。在release分支建立前将所有bug修复。新需求提交类mr选择方式:私下沟通,以gitlab为核心的研发流程管理
      
      5.2迭代站立会议
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA
      
      描述:每周或每个版本的迭代工作内容确定后,周知项目组成员及干系人
      
      方式:邮件,project排期或项目管理系统,会议
      
      5.3里程碑会议
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA
      
      描述:每个阶段完成后或每个里程碑点完成后,周知大家,进行下一阶段任务
      
      方式:邮件,project排期或项目管理系统,会议
      
      5.4持续集成
      
      参与方:技术主管,项目组成员,QA
      
      描述:以项目准备阶段,确定的项目信息,规范命名Jenkins任务名与权限,版本号与git tag为关联打通整体流程
      
      方式:缺陷管理系统提交bug,gitlab添加相应的issue,邮件周知bug
      
      第六阶段:测试阶段
      
      6.1产品自测参与方:项目经理,产品经理,技术主管,项目组成员,QA描述:提交测试的需求,产品进行自测。保证研发在指定的里程碑将需求合并进入相应的分支。开发完成阶段所有需求合并进行develop分支。在release分支建立前将所有bug修复。方式:缺陷管理系统提交bug,gitlab添加相应的issue
      
      6.2QA测试参与方:项目经理,产品经理,技术主管,项目组成员,QA描述:提交测试的需求,QA进行测试,确认测试结果,进行测试迭代,覆盖测试内容。保证研发在指定的里程碑将需求合并进入相应的分支。开发完成阶段所有需求合并进入develop分支。在release分支建立前将所有bug修复。方式:缺陷管理系统提交bug,gitlab添加相应的issue,邮件周知bug
      
      第七阶段:上线阶段
      
      7.1提交上线
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA,运维
      
      描述:技术提交上线方案,标明相关干系人,需求出处,更新功能点,更新路径,各方相关人进行邮件确认
      
      方式:项目管理系统进行更新,wiki文档进行更新
      
      7.2更新流程确认开始更新
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA,运维
      
      描述:技术提交上线方案,运维人员进行线上服务更新,更新后通知相关人员
      
      方式:项目管理系统更新
      
      7.3线上回测
      
      参与方:项目经理,产品经理,技术主管,项目组成员,QA,运维
      
      描述:QA在线上回测,重大功能无问题,功能需求实现,确认,如线上回测影响其他功能或有重大功能或需求没有时间,进行回滚
      
      方式:项目管理系统更新,wiki文档进行更新
      


      • 公司历程

        5+

        • 来自各领域的合作客户

          800+

          • 覆盖100+行业

            100+

            • 软件著作权

              30+