精华内容
下载资源
问答
  • 超市管理的目标基本以消费者对象而确定,提供的建材行业研发部新品开发流程能够给你学习和参考...该文档为建材行业研发部新品开发流程,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 研发部门流程规范
  • 软件开发流程图.vsdx

    2020-03-10 10:15:44
    软件开发流程图visio文件
  • 整车开发管理流程及一级交付物体系介绍 Pre-G8 - 立项研究 G8 - 项目启动 G7 - 方案批准 G6 - 项目批准 G5 - 设计发布 G4 - 工艺验证与工程签发 G3 - 预试生产 G2 - 试生产 G1 - 正式投产
  • 汽车电子电器架构设计与开发流程:随着汽车配置复杂度的增加, 电子电器系统越来越复杂。 同时, 电子电器的成本压力也越来越大, 对电器系统优化的 要求也日 益增 加 。 鉴于以上原因 , 电子电器架构 EEA ( ...
  • 软件开发流程管理制度,基本的软件开发流程管理的文件,可以参考下,从软件工程的理念来看还有参考价值,试试看。
  • 华为敏捷软件开发流程解读,大厂的成功实践总结,站在巨人肩膀
  • 华为-硬件开发流程和规范 ,华为内部资料 华为-硬件开发流程和规范 ,华为内部资料
  • 本程序规定了上海汽车集团股份有限公司乘用车分公司(以下...旨在明确整车开发项目中各相关人员的职责和工作范围,并明确了整车开发过程中各里程碑的关系及各节点所需提交的交付物,以确保整车开发项目正常有序地进行。
  • 三星产品开发流程

    2018-12-27 09:29:17
    产品开发业务规则, 适用于事业部(VD)的先行开发课题及以商品化为目的而开发的所有新产品的开发业务,适用于从新产品的情报收集至量产为止的所有新产品的开发活动
  • web前端开发流程

    2018-12-31 11:47:22
    本资源是是以思维导图的形式展示了关于Web前端项目开发流程图,很详细,需者自取。
  • 研发流程

    2020-04-01 11:16:10
    为优化移动开发技术小组的开发流程及效率,根据当前现状,制定开发流程规范,以达到明确职责,提高效率的目的。 App项目现状 1.逻辑细节不明确。 2.UED保真度不高。 3.口述需求后即进入开发环节,导致开发周期显示...

    前言:

    为优化移动开发技术小组的开发流程及效率,根据当前现状,制定开发流程规范,以达到明确职责,提高效率的目的。
    

    App项目现状

    1.逻辑细节不明确。
    2.UED保真度不高。
    3.口述需求后即进入开发环节,导致开发周期显示较长。
    4.App整体满意度不高。
    

    研发流程现状

    1.逻辑不清晰,无PRD文档,在研发中耗费较多精力在逻辑讨论上,思路总是会被打断。
    2.文案不清晰,无PRD文档,导致iOS和Android两端文案展示不统一。
          具体现状:
          1.只有原型,无PRD文档
          2.文案和业务、交互逻辑缺失。
          3.没有确认产品文档最终稿确认时间点。
          4.无明确连续2个时间段的迭代计划。
          5.开发中需求变更频繁,或有新增需求。
    3.UED不细致,标注说明不够详细,研发细节差异较大,UED保真度不高。
          具体现状:
          1.UED保真度不高。
          2.开发过程中需要UED不断跟进,耗费UED人力。
    4.研发内部缺少评审环节,导致逻辑不清晰,不利于团队维护和技术能力提升。
          具体现状:
          1.缺少评审环节,项目安全性和规范性不高。
          2.缺少代码评审,项目逻辑性不够明确。
          3.团队其他成员不了解项目,不利于维护和共享。
    5.研发内部缺少交叉自测环节,iOS和Android太过分离,统一性不高,质量不高。
          具体现状:
          1.提测后,研发等候时等待测试反馈。
          2.提测后,研发内部没有自检。
    6.没有总结,无法根据实际情况分析进行改进,团队效率无法提高。
          具体现状:
          1.上线之后,研发并没有对项目进行总结。
          2.上线之后,研发并没有提出问题点以及相关优化建议,不利于项目长期发展。
    7.无明确制定研发流程,职责不明确,流程问题点无法定位,团队效率无法提高。
          具体现状:
          1.无研发流程规范。
          2.其他团队成员不知悉项目开发流程。
    

    依据以上现状,现移动端技术管理中心制定App研发流程,请项目所有涉及人员遵守支持,以达到互不推脱,明确职责,互相监督、互相促进,共同提高团队效率。

    App正常规范流程图

    在这里插入图片描述

    App研发正常流程规范

    1. 产品评审
      产品负责人发起会议
      1.评审时间
      产品迭代前,产品负责人把控具体时机
      2.参与人员
      产品、各端研发负责人、设计相关负责人
      3.评审内容
      1)要求产品人员需求评审前必备:原型,PRD文档。
      2)要求PRD文档:文案、逻辑注明明确。
      4.评审会输出
      1)输出评审最终稿,文案和逻辑注明明确,产品研发同时能够理解和知晓。
      2)设计评估出相应的设计工作时长。

    注:
    1)开发需求中若变更以及新增需求,需重新评审以及评估延期时间。(研发也以此考核产品人员,并记录反馈,分析优化。)
    2)输出评审时长和评审次数,以此来评定PRD文档输出的细致性。
    3)明确产品PRD文档输出时间点
    2. UED
    1. 内部流程
    用户研究 -> 交互设计 -> 视觉设计 -> 产品确认
    2. 参与人员
    产品、UED相关人员
    3. 开始设计
    4.输出
    1)交互设计方案和说明。
    2)视觉设计方案、标注、切图。
    3.需求讲解
    产品负责人发起
    1.发起时间
    迭代上线后的某天。
    2. 参与人员
    项目所有人
    3.讲解内容
    1)原型、PRD文档
    2)交互设计说明和方案
    3)视觉设计方案、标注和切图
    4.产品研发
    1.接口评审
    1)根据需求和设计图,要求的相关接口信息。
    2)根据优先级,讨论好主要接口的约定字段,并录入femock。
    3)研发相关人员参加
    2.研发概要设计
    1)开发前必须经过团队设计思想、开发思路评审。
    2)在开发起始节点的第一天发起。
    3)各端负责人发起,全员参加。
    4)输出:设计评审文档以及逻辑流程图。
    3.编码实现
    4.代码审核
    1)参考设计评审的思路,进行代码校验。
    2)各端负责人发起,全员参加。
    5.产品测试。
    1)iOS与android位置互换,交叉测试,保证双方开发功能点的统一性。
    2)bug修改。
    3)测试进行全面测试。
    6.产品上线
    1.上线邮件
    1)注明需求讲解的时间结点。
    2)注明研发时长。
    3)注明测试时长。
    4)注明Bug数。
    5)注明本期干扰正常开发的问题点。
    6)注明本期项目重构优化的功能以及优越性。
    7.定期上线总结会。
    有产品定期发起会议总结
    1)软件的反馈和运营状况。
    2)当前的发展防线。
    3)迭代过程的问题总结。
    4)问题避免和改进。

    以上是移动端技术管理中心暂定的流程规范,在实施过程中,根据具体的实施流程以及发现的问题,经讨论后可随时做优化改进。规范的流程和高效的团队合作,离不开大家的大力支持。请大家多多参与并给出宝贵建议。
    

    App研发特批流程规范

    因特殊原因,基于现有需求直接指定上线时间的项目,采取反推方式。
    1)了解需求背景粗略评估测试时间
    2)研发粗略评估研发时间
    3)ued粗略评估时间
    4)剩余时间产品快速规划、制定原型、需求讲解
    注:评估时间占比 测试30%以内 研发40%以内 ued20%以内 产品10%左右
    FAQ

    1. 谁负责研发流程的时间、节奏把控?
      答:产品负责人。产品负责人把需求规划的越早,产品评审提前的越早,越有利于所有人员的充分利用。
      例:按照流程执行的前提,如果产品评审在开发上线后进行,则评审和UED时间将会使研发人员和测试人员时间安排不饱和。同时,迭代上线周期过长。
      通过预估UED时间,提早安排评审,进行设计,在开发上线后的接着进行需求讲解,会达到所有人员的工作最大饱和度。同时缩短整个迭代的上线时间。
    2. 需求讲解后,开发人员以什么为标准去开发?
      答:文案、逻辑、页面跳转,以PRD文档为准。
      UI、交互体验以交互方案、设计标注为准。
      交互、设计标注需在UED阶段,有产品确认,并有产品保证原型和UED的统一性。
    3. 开发过程中,产品需求发生变更,如何解决?
      答:如果产品需求发生变更,则根据变更内容进行预估,如果半天内能解决的,加入本次开发进行变更。
      如果需1天以上解决的,则根据安排,决定是否延迟上线时间或将需求推迟下期上线进行安排。
      变更需更新PRD文档,给出变更原因和变更记录,根据变更内容决定口头下发还是开会下发给研发、测试人员。
    4. 不同部门提出的需求,谁负责下发?
      答:如设计部门,运营部门提出需求后,需统一由产品整理,再反馈到相应部门做确认,再有产品按流程进行下发。
    5. 需求讲解流程是什么?
      答:第一步:说明需求背景,为什么做该需求。
      第二步:说明需求实现,该需求如何做。。
      第三步:如果需求实现没有整理清晰,需说明并告知先做成什么程度。
      第四步:说明需求未来的可能性改动。
    6. 需求讲解的时机?
      答:讲解时机:上午或下班后。
      讲解前准备:需提前一天发出邮件说明PRD和设计稿给所有人,供提前预习,以便讲解时及时做反馈。
    7. PRD文档中,研发需要产品做什么?
      答:1.注明功能逻辑,条件判断。
      2.发起页面展示的来源、返回到哪个页面等交互。
      3.给出网络提示异常文案,不符合条件的异常文案,空数据展示文案,页面默认展示文案等。
    8. App需求概要设计,都设计什么?
      答:1. 概要设计以需求功能点划分,具体分为页面+逻辑。
      2. 页面的组成方式。
      3. 逻辑的实现过程和判断逻辑,以及页面间传输数据约定字段,以及异常的处理过程。
    9. 研发需求如何加入产品需求?
      答:1.建立研发内部优化需求池。
      2.研发期间内部安排时间计划。
      3.研发、测试期间,建立代码分支进行优化,优化完成并自测后,提到下期产品需求中,方便测试。
    10. 何时给出评估具体时间。
      答:概要设计后,根据概要实际内容进行评估。
    11. 何时讲解Checklist?
      答:上午或者下班后。
    展开全文
  • NULL 博文链接:https://sxpujs.iteye.com/blog/1504801
  • 新法规下的医疗器械研发流程
  • 完整的 汽车项目管理新产品开发流程, 汽车项目管理新产品开发流程, 汽车项目管理新产品开发流程, 汽车项目管理新产品开发流程, 汽车项目管理新产品开发流程, 汽车项目管理新产品开发流程, 汽车项目管理新产品...
  • 此视频是Vector中国关于使用Vector工具进行诊断开发的介绍。
  • 各大汽车主机厂整车开发流程合集,共8份。 1、大众汽车产品诞生过程 2、丰田新产品开发-及项目管理 3、福特产品开发系统FPDS 4、福特公司DV-PV培训教材 5、福特质量管理体系 6、上海通用泛亚整车开发流程 7、上汽...
  • 从IPD模式介绍,从PDT的建立到PDT项目经理的选拔,到过程流程支撑说明、过程资源支撑等内容全面介绍IPD模式下PDT团队运作方式,该内容为网络下载使用,如有侵权请通知下线,网络共享的PDT培训内容PPT,分享之。
  • BJEV.17.01.01.3-2016 北汽新能源整车开发流程
  • 硬件研发流程

    2015-01-16 18:40:36
    硬件产品研发流程,包含各个阶段的描述,人员任务描述
  • 1-软件研发流程.ppt

    2020-05-19 22:05:08
    软件测试——软件研发流程 了解软件产品构成的主要部分 了解软件产品如何从一个构想最终成为产品。 了解软件产品中包含了哪些人的劳动和技术。 了解软件工程的意义 抓住软件研发过程的关键要素,但暂时先不关注具体...
  • 互联网开发流程

    2015-08-17 17:29:28
    通过流程图方式,直观形象的描述互联网的开发过程。
  • 芯片产品开发流程

    2014-04-21 11:15:38
    给出了芯片产品开发的一般流程,供相关行业的管理,开发人员参考
  • web 后台开发流程

    2018-03-01 00:09:09
    本文档目地是指导刚接触这套开发框架的开发人员如何快速的搭建开发环境和创建一个简单但功能齐全的C++工程。此文档目前仅针对估值系统的开发。文档中没有涉及原理的讲解,各位在以后的工作中慢慢理解各个步骤。进入...
  • 基于gitlab创建企业自己的devops之研发测试流程管理
  • 为加强对定制软件开发工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高定开发效率和效益,特制定软件开发流程管理制度。
  • 沃尔沃汽车产品开发流程及整车项目计划 车厂培训教材
  • 软件开发流程规范.doc

    2020-03-27 14:16:10
    罗列软件开发过程中的各个步骤,以及存在的意义,各个步骤需要输出的文档,此为简化版本,通常用于敏捷开发,只输出核心文档
  • IPD产品开发流程详解

    千次阅读 2021-02-25 09:49:22
    为什么80%的码农都做不了架构师?>>> 集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。... 1、 产品研发周期显著缩短;   2、 产品成本降低;  3、 研...

    为什么80%的码农都做不了架构师?>>>   hot3.png

    集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的《产品及生命周期优化法一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。

    最先将IPD付诸实践的是IBM公司,IBM公司实施IPD的效果不管在财务指标还是质量指标上得到验证,最显著的改进在于:

      1、 产品研发周期显著缩短; 
      2、 产品成本降低;
      3、 研发费用占总收入的比率降低,人均产出率大幅提高;
      4、 产品质量普遍提高;
      5、 花费在中途废止项目上的费用明现减少

    产品研发IPD流程概述

    IPD(Integrated Product Development)是一种先进的产品研发流程。在IPD流程中,产品研发一般包括以下六个阶段:概念阶段、计划阶段、开发阶段、验证阶段、生产阶段、品类阶段。概念阶段是对产品的基本功能、外观、价格、服务、市场销售方式、制造等基本需求进行定义的阶段,这个阶段主要产生新产品的需求说明书;计划阶段制定产品规格说明书,确定产品的系统结构方案、明确产品研发后续阶段的人力资源需求和时间进度计划;开发阶段是根据产品系统结构方案进行产品详细设计,并实现系统集成,同期还要完成与新产品制造有关的制造工艺开发;验证阶段进行批量试制,验证产品是否符合规格说明书的各项要求,包括验证新产品制造工艺是否符合批量生产要求。验证阶段后期还要向市场和企业生产部门发布新产品,并经历新产品产量逐渐放大的过程。生产阶段对完成开发的新产品进行批量销售和生产。品类阶段则对即将退出市场的产品进行各种收尾工作。

    在明基的产品研发中,甚至在整个泛宏基集团,产品的开发均采用产品开发流程--C系统,即C0~C6的开发程序,作为研发工程师主要完成C2,C3和部分C4的工作,从产品的实验室阶段LPR(Lab Pilot Run),到工程量试导入EPR(Engnieering Pilot Run),再到PPR&MP即为工厂段的主要内容了。

    为了加快产品研发进度,需要在产品研发过程中引入并行工程(Concurrent Engineering),以及异地开发,使各项研发工作尽可能提前进行,以缩短总的产品研发周期,并降低产品研发成本。

    02101847_2CFA.gif

    为什么要建立结构化的产品开发流程?

    企业产品开发流程往往结构化程度明显不足:

    1. 开发产品没有一个“统一方法”;

    2. 产品开发流程是局限于研发工作的部门流程,而不是面向市场、面向客户的全流程;

    3. 产品开发流程是基于职能部门分割的串行的流程;

    4. 产品开发流程缺乏明确的阶段划分和层次划分;

    5. 职责界定不清晰,理解不统一;

    6. 术语和定义不一致。

    当面临这些问题时,建立结构化的产品开发流程成为必然。通过建立结构化的产品开发流程:

    1. 建立面向市场、面向客户的全流程,及时响应市场/客户需求,有效管理需求变更,缩短产品开发周期;

    2. 串行开发流程转变为并行开发流程;

    3. 有助于通过建立工作标准对工作产品与过程进行检查与控制,保证产品开发质量;

    4. 有助于制定准确的计划并依据计划进行监控,及时了解项目状况,并采取纠正措;

    5. 有助于降低沟通和澄清理解偏差的成本。

    结构化的产品开发流程

    02101847_5Wt5.jpg

    1. 采用分层分级的思想,纲举目张地呈现产品开发流程;

    2. 建立跨部门的产品开发和管理团队(PDT/IPMT)及其运作机制

    3. 建立规范的产品开发决策评审和技术评审流程及操作指导;

    4. 识别出产品开发过程中的里程碑点和关键控制点(业务决策评审点DCP、技术评审点TR、关键里程碑/事件点,如:模具评审点、长交期物料的认证等等);

    5. 明确各阶段的交付件及进入退出准则,并建立相应的模板和表单。

    研发项目管理体系

    1. 建立以产品开发流程(IPD流程)为基础的,集成了项目管理模式、IT及跨部门团队的研发项目管理体系;

    2. 建立跨部门的、端到端(E2E)的项目计划体系,并分层实施、分层监控;

    3. 建立全面的项目管理体系,涵盖质量、风险、沟通、团队建设等;

    02101848_Rshy.jpg

    分层实施、分层监控

    产品开发流程(IPD流程)与项目管理的关系

    02101848_dD0t.jpg

     

    下面结合IPD在企业产品开发中的成功案例来说明IPD的应用。

    一、IBM

    1、实施背景。

    要理解IPD在企业产品开发中的应用就要先从IBM说起。IPD是IBM在1992年首先提出实施的。当时IBM正处于业务上的困难时期。在激烈的竞争中IBM遭受了巨大的经营挫折,公司收入在减少,年亏损额高达近80亿美元。IBM正在失去市场,失去客户。

    销售额,有一定程度的下降,硬件的销售额急剧下滑,软件总的销售额也在下降;

    毛利,硬件及总的毛利都在不断下降;

    毛利率,各类产品的毛利率都在下降;

    研发费用,总的研发费用基本保持不变;

    开发费用与收入的比例,快速上升,特别是硬件的开发费用相对于收入上升很快。

    当时IBM与业界竞争对手在一些研发过程中的关键性指标上都存在明显差距:

    产品上市时间。1993年IBM有27%的项目上市时间是业界最佳水平的两倍,36%是业界最佳的5倍,另有6%是业界最佳的25倍。

    研发费用占总收入的百分比。IBM的研发投入占总收入的12%,而业界是占6%。IBM与竞争对手相比,研发费用占总收入的百分比是竞争对手的两倍。虽然不能说研发费用占总收入的比重越低越好,但这与可以反映出IBM的开发费用较高,效率低。

    研发损失。IBM的研发损失与业界相比也是相当高。业界最佳的研发损失是3.3%,业界平均是12.2%,而IBM是25%,IBM是业界平均的两倍。这反映了IBM的开发浪费是巨大的。

    2、实施成效

    为摆脱经营困境,IBM在仔细分析了自身的产品研发情况后实施了以系统性研发管理解决方案为核心的企业再造方案。在研发管理方面,IBM引进了PRTM公司的PACE,获得了巨大的成功,并总结出了一套行之有效的产品开发模式,集成产品开发(IPD)。

    IPD在IBM实施3年后,IBM公司获得了很大的成功。IPD使IBM的多项研发指标得到了重大改善,如新产品上市周期大幅度缩短、研发资源浪费比率显著下降等。IBM从1993年到1998年总共节省了120亿美元的费用,研发损失费用骤减,研发费用比例减少了一半;硬件开发时间从4年缩减到16个月,到2000年盈利达到80亿美元。IBM实施IPD后在研发方面取得的改进在以下几个方面的具体指标上有明显体现:

    产品上市时间。高端产品上市时间从70个月减少到20个月,中端产品从50个月减少到10个月,低端产品降低到6个月以下。

    研发费用占总收入的百分比从12%减少到6%。

    研发损失从起初的25%减少到6%。

    IBM公司实施IPD的效果除了在以上方面有明显体现外,还表现在其他方面,例如:

    产品成本降低;

    人均产出率大幅提高;

    产品质量普遍提高。

    IBM实施IPD后产品开发过程得到了很大改善,整体效果表现为企业范围内销售收入、利润不断上升,公司的竞争力得到了极大的提高。

    二、华为

    华为是国内第一家引进和实施IPD的公司,也是受益最大的国内企业。华为的IPD可以分为两个大的阶段,这两个阶段的效果有明显差别;在IBM为华为提IPD咨询后,华为的IPD取得了巨大成功。

    1、实施背景

    实施IPD之前,华为每年将销售额的10%投入产品开发,但是研发费用浪费比例和产品开发周期仍然是业界最佳水平的两倍以上。华为销售额虽然连年增长,但产品的毛利率却逐年下降,人均效益只有思科、IBM等企业的1/31/6。

    产品开发流程处于企业价值链最上游,这里出现的问题通过生产制造、销售、交付、售后服务等下游环节会产生若干倍的放大。在分析采购业务系统时,华为就发现很多问题的根本出在产品开发过程中。因此,从产品开发入手,解决产品开发这一源头上的问题,是提高产品投资收益和解决公司系统性问题的治本之举。华为花巨资引进IPD,就是希望通过变革产品开发模式,缩短产品上市时间,降低费用,提升产品质量,最终能够提高产品的盈利能力。

    IBM的专家认为,华为在产品研发方面的主要问题是概念与计划阶段合并在一起,研发活动缺乏计划性和严格的评审。

    研发活动缺乏计划性。以前,华为经常是业务计划基本上没有,甚至在高层指示下就直接开始了开发。这导致产品与技术的开发重合,最后导致实用产品迟迟推不出来。

    研发活动缺乏严格的评审。华为以前的评审往往是技术型而不是业务型,主要依靠主观判断来分析市场需求。由于评审和决策仅仅是出于主观判断,没有符合市场需求的标准,结果造成产品不断修改。

    2、实施过程

    华为的IPD经过了两个阶段。第一阶段从1998年初开始。当时华为开始自己摸索实施IPD,组织了项目组(主要由一批MBA构成),拿出了一套基于IPD的研发体系变革方案,并进行了推广实施。但这次IPD变革效果并不像人们预期的那样,基本上是一次失败的尝试。后来华为经过分析决定请IBM作为咨询方来帮助解决问题。

    华为在IBM的帮助下实施IPD是从1998年开始起步的。当年,由IBM为华为实施IPD提供咨询,打破了华为以部门为管理结构的模式,转向以业务流程和生产线为核心的管理模式。仅此一项华为付给IBM的咨询费达到了数千万美元。

    根据IBM咨询的方法论,华为IPD项目划分为关注、发明和推行三个阶段。在关注阶段,进行了大量的“松土”工作,即在调研诊断的基础上,进行反复的培训、研讨和沟通,使相关部门和人员真正理解IPD的思想和方法。发明阶段的主要任务是方案的设计和选取三个试点PDT,按IPD进行运作。推广阶段是逐步推进的,先在50%的项目中推广,然后扩大到80%的项目,最后推广到所有项目。

    华为的IPD在刚开始起步时,各个产品的研发从组织架构上已经基本形成了PDT的雏形,各种计划、文档、研发活动也是按IPD的模式进行。但在这个时期,只有华为与IBM配合成立的IPD项目组里的人对IPD有较为明确的理解。当时研发流程用的是所谓IPD1.0,IPD的实际效用没有完全发挥出来。公司内部只是在研发活动的称谓以及重要文档的输出上模仿PDT1.0流程的规定。IPD的核心组决策,IPMT的决策评审等关键措施并没有施行,只是在两个产品线上作试点。这个过程持续到了2001年,从2001年开始,华为规定,公司内30%的产品线必须严格按照IPD2.0流程运作,其他产品线继续按照IPD1.0流程运行。

    2002年华为规定,到年底所有产品线必须完全按照PDT2.0的流程运作。此时,支撑PDT流程的相关人事制度,财务制度,以及绩效考核制度等都已建立起来。同时,华为公司从高层领导到基层产品研发管理者都对PDT的思想和流程有了比较清晰深入的认识,因此已经具备全面推行PDT的客观条件。至2003年,华为的IPD已经从1.0版本升级到了3.0版本。

    3、华为IPD构成

    华为的IPD主要由以下几个部分组成。

    固化的结构化研发流程

    支持流程实施的跨部门团队

    以前华为的产品开发完全是研发部门的事情,技术方向由关键人物来选择。在IPD模式下,各部门都要有人参与到规划和实施的过程里,组成跨部门的团队,IPMT与PDT(IPT)。跨部门的团队基本上要在产品开发之前做出相关联的规划,并且在产品开发的过程中相互协调,以保证这个产品从始至终都是技术领先、成本合理并且符合市场需求。

    华为共有约一百多个产品线,类似的产品线再一起组成一个大的产品线。每个大的研发产品线都有一个IPMT,他们是由总监级(现在改为产品线总裁)或者资深的产品专家组成,负责对旗下各个产品线的研发活动作关键环节(立项评估,计划决策,实验局评估等)的监控和评估。监控和评估的主要依据就是看这个产品研发成本投入和未来市场效益的比较,以及技术、资金、人力等方面的可行性。

    决策评审点。决策评审点实际上是一种喇叭口的结构。也就是通过仔细的调查、研究和分析之后筛选出最有潜力的项目,并且在“动手”之前尽可能地进行“瞄准”和计算“提前量”。使得最后进入开发阶段的项目都是最健康和最明确的。应该说这种研发管道管理,是华为在以前最欠缺的。

    异步开发模式。IPD在开发过程中为华为第一次引进了“异步开发”的概念。这种流程实际上很好地使用了并行工程的思想,它比华为原来串行研发流程的效率要高很多。

    4、实施成效

    华为IPD的实践表明,IPD能够加快产品开发速度,缩短产品上市时间,减少产品开发的投资失败从而减少浪费,降低产品开发成本,增加收入,给客户提供价廉物美的产品。下面通过几个具体例子来说明华为实施IPD的成效。

    IPD在M800移动交换系统开发中的应用成效

    华为在M800移动交换系统的开发过程中,自始至终贯彻IPD的研发思想和方法,使产品的开发周期缩短了50%,研发费用减少了40%,产品稳定周期加快。

    华为3Com的IPD实践

    华为与美国3Com公司成立的合资企业华为3Com也应用了IPD。IPD大大增强了华为3Com产品开发的可控制性,使得最后进入开发阶段的产品都是健康和明确的,在产品设计之初就体现出质量、成本、可制造性和可服务性等方面的优势。

    IPD在华为和华为3Com的实际应用表明,IPD在缩短产品上市时间、降低产品开发费用、提高产品的稳定性和竞争性等方面有着不可比拟的优势。据统计,IPD实施以后,华为3Com产品的开发周期缩短50%,产品的不稳定性降低2/3。可以说,IPD为快速、优质地满足客户需求提供了有力的保障。

    总的来说,IPD实施几年来,华为逐渐建立起世界级

    摘要:产品开发的组织架构和产品开发过程管理是一个软件企业开发管理的两个侧面,开发组织架构指软件项目的立项和项目开发有效的人员调配和组织,开发过程管理指在项目确定后,软件开发过程的管理。本文根据作者在建立软件企业管理体系时采用的集成产品开发(IPD)和CMM2级过程控制的基本思想和体会整理而成,着重介绍企业的开发组织和开发过程管理的基本原则,并以IPD和CMM2级的管理思想为基础建立了一套完整的产品开发组织架构和过程管理体系,对提高产品的开发效率和产品研发设计的质量有指导作用。

    中图法分类号: TP301  文献标识码:B

    1、基于IPD管理思想的产品开发组织架构

    产品开发的组织架构指开发项目的立项和如何有效的确定产品开发的人员组织。确定开发产品的立项和合理的调配开发人员组建开发团队是产品开发成功的前提和基础,通过合理的产品立项组织和产品开发过程控制,缩短产品的开发周期,达到资源的合理利用。

    1.1、产品开发IPD的基本思想

    在产品开发组织中,集成产品开发的基本思想是一套先进、成熟的理论,集成产品开发(Integrated Product Development, 简称IPD)包括产品开发的模式、理念与方法,包含了先进的产品开发理念和开发模式。

    集成产品开发(IPD)的基本思想的核心思想包括:

    ·强调产品基于市场开发;新产品开发是一项投资决策。IPD强调要对产品开发进行有效的投资组合分析,开发要以客户需求为核心进行,IPD把正确定义产品概念、市场需求作为流程的第一步,使产品的立项准确;

    ·跨部门、跨系统的协同,采用跨部门的产品开发团队(PDT:Product Development Team),通过有效的沟通、协调以及决策,达到尽快将产品推向市场的目的,强调资源的有效利用和资源整合;

    ·异步开发模式,也称并行工程。通过严密的计划、准确的接口设计,把原来的许多后续活动提前进行,这样可以缩短产品上市时间。

    ·重用性。采用公用构建模块(common building block)提高产品的开发效率。注重技术资源的重用和使用。

    1.2、IPD开发模式的优点

    产品的开发组织架构主要中依据IPD的基本思想,从企业的流程重组和产品重组的角度使产品的立项开发和产品人力资源有效调配依据一个完整的框架和管理流程,其主要优点在于:

    ①产品研发周期显著缩短;

    ②产品成本降低;

    ③研发费用占总收入的比率降低,人均产出率大幅提高;

    ④产品质量普遍提高;

    ⑤花费在中途废止项目上的费用明现减少。

    1.3、基于IPD思想建立的产品开发组织架构

    依据IPD框架的基本思想,从企业级的管理角度,构建了一套完整的产品开发组织架构。产品开发体系以矩阵方式组织,划分为产品线和资源线。

    产品线是由开发、测试、工程、客户服务等不同部门人员组成的贯穿整个产品开发过程的团队。实行产品经理负责制,由产品经理负责组织产品开发团队(PDT),进行产品的开发、测试、实施和技术支援的组织协调工作;产品开发组织、测试和实施等工作可根据项目大小的需要设项目经理完成具体的开发、测试等工作。

    资源线包括开发部,测试部,工程部和技术支援部。各资源部门经理可根据产品开发团队的人员需求情况进行人员调配,组织必要的技术培训和技术指导,以达到资源的合理配置和充分利用。

    产品的总体设计和开发管理由产品总体组负责。整体的产品开发组织架构如下:

    02101849_pVpP.jpg

    其中技术总监负责产品的开发和技术管理工作,市场总监负责根据市场需求,协同总体组根据技术实现情况确定产品的立项。

    通过矩阵式的资源线和产品线的产品开发组织,使公司产品开发组织灵活,资源调配合理,缩短产品的开发周期,提高产品的开发效率。

    2、产品开发的流程化管理

    产品开发过程的管理,指产品开发项目确定后,进行产品开发,形成可交付使用的软件产品的过程。在产品的开发过程中,如何作好开发过程的管理和控制,是保证产品开发质量和开发进度的关键。

    产品的立项、开发和实施是以结构化的工作流程的方式开展的。产品的生命周期,分为产品的需求分析与立项,总体计划,开发,测试,工程实施,技术支援等阶段。

    在产品开发控制中,应根据产品的生命周期进行流程化管理。总体的开发流程为:

    02101849_zRxb.jpg

    下面根据产品的开发流程给出各阶段的输入、任务、输出。

    2.1 产品需求分析与立项

    2.1.1 输入

    市场部的产品合同、客户需求以及技术总监的签署意见;

    各产品经理的定期产品开发情况报告。

    2.1.2 任务

    进行产品的系统总体,确定产品的技术方案;

    根据产品经理定期的产品开发情况报告,对产品开发中出现的问题,及时协调解决。

    2.1.3 输出

    由技术总监和相关人员组织评审产品总体设计方案,确定产品总体设计说明书;

    根据产品总体设计说明书和产品的商务合同,技术总监下达产品开发启动说明书,确定产品经理;

    根据各产品经理定期的产品开发情况报告以及问题解决情况,汇总形成产品开发情况报告,报技术总监及相关人员。

    2.1.4 责任人

    技术总监,总体组

    2.2 总体计划

    2.2.1 输入

    产品开发启动说明书;

    产品总体设计说明书;

    产品的合同;

    客户需求;

    产品开发团队人员配置情况。

    2.2.2 任务

    根据产品总体设计和产品开发启动说明书,和各资源经理协商,组建开发团队;

    确定产品开发经理、产品测试经理、产品实施经理、产品客服经理;

    制定产品总体开发计划;

    跟踪产品总体开发计划执行情况,协调解决计划执行中出现的问题;

    定期形成产品开发情况报告。

    2.2.3 输出

    高效的产品开发团队;

    总体产品开发计划;

    及时跟踪总体产品开发计划执行情况,发现问题及时解决,并定期形成产品开发情况报告;

    总体产品开发计划报技术总监和产品总体组批准生效;

    批准后的总体产品开发计划下发给产品开发经理、测试经理、产品实施经理和产品客服经理;

    开发情况报告定期报给产品总体组;

    交付使用的软件产品。

    2.2.4 责任人

    产品经理

    2.3 开发

    2.3.1 输入

    总体产品开发计划;

    产品合同;

    客户需求;

    开发经理必要的技术指导和产品开发相关的技术资源。

    2.3.2 任务

    确定客户需求,形成产品需求规格说明书;

    根据总体产品开发计划、开发组人员配备情况和产品需求规格说明书,确定产品开发计划;

    根据确定的需求规格说明书,组织开发人员进行系统的详细设计;

    跟踪开发过程中需求的实现情况,保证产品需求的实现;

    有效的进行开发过程中的配置管理;

    有效的组织、指导、协调开发工作,进行开发小组内的工作任务分配;

    跟踪产品开发计划执行情况,定期形成产品开发情况报告。

    2.3.3 输出

    产品需求规格说明书,报产品经理、产品总体组评审,并和客户进行确认后生效;

    产品开发计划,报产品经理,组织开发经理和相关人员评审,确认后生效;

    产品需求实现情况表,产品配置库情况表;

    定期形成开发情况报告,并报产品经理;

    交付满足客户需求的产品;

    产品安装使用说明书。

    2.3.4 责任人

    开发项目经理

    2.4 测试

    2.4.1 输入

    产品需求规格说明书;

    产品使用说明书;

    测试经理的必要指导,并提供相关技术资料;

    总体产品开发计划。

    2.4.2 任务

    根据需求规格说明书、产品总体开发计划和产品安装使用说明书制定产品测试计划,编写测试用例;

    组织开发人员进行产品测试;

    对测试结果进行记录,形成测试报告;

    跟踪测试过程中出现的问题,和产品开发经理协商,跟踪确认解决;

    跟踪测试计划执行情况,定期形成产品测试情况报告。

    2.4.3 输出

    产品测试计划,报产品经理,评审确认后生效;

    测试报告,报产品经理和产品开发经理;

    产品测试情况报告,报产品经理;

    经过测试的产品。

    2.4.4 责任人

    测试项目经理

    2.5 工程实施

    2.5.1 输入

    开发完成的可交付使用产品;

    总体产品开发计划;

    产品安装使用说明书;

    客户需求和实施现场情况。

    2.5.2 任务

    根据产品总体开发计划、客户现场的实际情况制定产品的实施计划;

    执行产品实施计划,有效的组织实施人员进行产品的实施;

    跟踪产品实施情况,协调解决定产品实施中出现的问题,定期形成产品实施情况报告。

    2.5.3 输出

    产品实施计划,报产品经理审批后生效执行;

    产品实施情况报告,报产品经理;

    客户产品验收报告,实施后的产品,可交付客户使用。

    2.5.4 责任人

    工程经理

    2.6 技术支援

    2.6.1 输入

    已交付使用的软件产品;

    客户的咨询或服务请求。

    2.6.2 任务

    解决客户提出的问题;

    组织客服人员记录问题的解决情况;

    对解决不了的问题,及时反馈给产品经理;

    定期形成客服情况报告;

    根据客服问题的记录以及客户的反馈意见,对产品的开发提出意见或建议,促进产品的设计和开发。

    2.6.3 输出

    产品客服情况报告,记录客服情况和客户意见,报产品经理;

    产品开发的意见和建议,报产品经理。

    2.6.4 责任人

    客户服务经理

    3、基于CMM2的产品开发过程的文档化管理

    软件能力成熟度模型CMM(capability Maturity Model),简称CMM,它是对于软件组织在定义、实施、度量、控制和改善软件过程的实践中各个发展阶段的描述,由卡内基.梅隆大学的软件工程协会(Software Engineering Institute, 简称SEI) 提出并完善,目的是通过一个合理的体系模型来对软件组织开发能力进行合理有效的评估,帮助软件组织在模型实施的过程中提高软件过程管理能力,降低软件系统开发风险,在预定的项目周期和预算内开发出高质量的软件产品。CMM共分5级,CMM2级是可重复级,强调软件开发过程是有纪律的,可控的,其中文档化是开发过程管理和控制的基础。

    在产品开发的不同阶段,基于CMM2级过程控制的基本思想,进行项目计划、计划的跟踪监控,进行文档化管理。

    开发过程的文档化管理是开发过程控制的重要环节,文档化管理的意义主要在于:

    ·文档化管理是软件开发过程管理制度化、规范化管理的基础,通过开发组织和产品开发过程的文档化管理保证产品开发过程是有序和有纪律的;

    ·文档化管理也是有效保存公司技术资源和管理资源的基础;

    ·文档化管理也是产品开发过程跟踪控制和产品开发过程有效沟通的基础;

    ·通过文档化的管理,定期的进行产品开发情况汇报和产品评审,也是质量考核的基础和依据。

    在整个项目执行过程中,阶段性的计划,以及计划执行情况的跟踪反馈非常重要,因为只有通过对项目计划执行情况的跟踪,才能发现并及时解决项目执行过程中的问题,控制项目的执行过程,使项目按计划完成。

    整个管理体系中的文档包括管理文档和技术文档,整个文档管理体系应根据实际要求制定相应的模版,以便于企业整体的文档标准化管理。

    总结

    在产品组织中,如何依据市场的需求进行产品的立项是一关键环节。而在产品开发启动后,如何做好过程控制,按计划进行产品开发,是产品开发过程的又一重要环节。本文依据IPD的管理思想和CMM2及过程控制的理论,建立了一套软件企业的产品开发组织和过程管理的管理体系框架,适合中小企业用于产品的开发和过程管理。

    “六年前,我们又憧憬又怀疑。”站在华为技术有限公司F1研发大楼17楼办公室内,华为高级副总裁基础研究管理部部长何庭波说。

    时间的确在化腐朽为神奇。1998年,何庭波和她的同事坐在一件普通的会议室里,听了IBM一位女顾问的第一堂课,这堂课上,“她讲的华为的差距和未来应该作出的变化和变化的时间表。”何庭波说,洋教头的分析中肯,切中要害。但是西药管用吗?何况当时的华为正行驶在高速发展的轨道上,当年的销售额已达到89亿元。

    洋教头实际上是IBM产品的高级推销员,她卖的产品叫IPD (Integrated Product Development)——集成产品开发,而华为将成为IPD在中国的最大用户。IBM说服华为购买这套产品的支撑点在于,IBM承诺,IPD的管理模式将在五年内改变和缩短华为的管理缺陷和差距。

    五年后华为会怎样了“我们觉得很遥远。”何庭波说。

    2003年中,华为每年花费上千万美金请来的IBM顾问团大部队撤出华为前夕,何再次坐在相似的一间会议室里听IBM的最后一堂课。课前IBM重新演示了第一堂课用过的文档,当年IBM指出的华为病症再现,“只要是1998年开过会的人都发现,当时指出的十个问题有九个问题已达成共识了,IPD进入了我们的血液。”何庭波说。

    “先僵化、再固化、再优化”

    俯视这座华为位于深圳坂田的工业园,F1研发大楼所在的园区正是华为的大脑,近7000名研发人员每天进进出出,各司其职,他们分属于华为中央研究部及产品部大大小小的部门。加上华为位于北京、上海、印度、瑞典、美国等地的研究中心,超过一万名研发人员有序而高效地运行在华为直达客户的目标管理线上。

    这种有序得益于华为总裁任正非1997年的美国IBM之行。上个世纪九十年代初,郭士纳操刀让技术强大但缺乏章法的IBM进入IPD的管理文化,成功地推动了IBM技术向市场转化的商业路径,使企业各个环节成为一个有机的整体。IPD在IBM这个巨人身上的商业实验让任正非怦然心动,一年后,华为用“照葫芦画瓢”的强硬方式推行IPD,“先僵化,再固化、再优化。”任正非说。

    “从一个技术人员的角度来看,IPD让我们从技术驱动型转向了市场驱动型,它改变了我们的做事方法。”华为中央软件二部技术副总监施广宇说。在IPD流程里,他随时参与另一种非实体的管理开发流程TDT(TechnologyDevelopment Team)一一技术开发团队,每个TDT的人员来自不同的部门,从市场到财务,从研发到服务支持,目标导向只有一条满足市场需求并快速取得赢利。

    一般而言,一个TDT或者PDT(Product Development Team即产品开发团队,它和TDT都是针对具体项目的管理团队)的运作流程是,市场营销工程部从市场获得需求共营销工程部系统工程师对需求进行分解分配一—需求分析进入相应产品部门形成方案一—IPD最高组织IRB(InveStment ReviewBoard)——投资决策委员会审核部门ITMT(Integrated Technology ManagementTeam,即集成技术管理团队)和IPMT(Integrated Portfolio Management Team,即集成组合管理团队)——立项、确定目标值——返回开发部。一般而言,项目随时根据市场变化提出,而涉及时间长远的规划和大项目则在年度规划里提出。

    “项目组就相当于一个小的,经营团队。”何庭波说,在上报TPMT及ITMT的同时,项目必须提出完整的预算方案,因而项目组中有市场的人,有供应链和技术支持的,有财务人员,而组长就是一个小的总经理叫财务将考核研发产品部提出的每一个方案细节,确保每个环节都处在健康状态,最后由组长决定“GO”或者“NO GO”。组长来自市场部,总体向资决策委员会提出预算方案。而每个TDT下面再细分为多个项目组,人员不断更新,直接对不同层级、不同时段的工作室负责。

    1998年,华为员工8000人,研发人员达到4000人,在任正非“削足适履”的口号声中穿上了他向IBM定制的这双“美国鞋”,原先独立而分散的研发部门成为市场主导下的一个环节。在IBM设计的5年课程中,华为逐步在适应这双美国鞋:学习+结合华为实际设计相应流程一一小规模试行——大面积推行,直至2003年,IPD的洋装从1.0版本升级到了3.0版本。

    “这是—个从无到有的过程。”施广宇说,从最开始的个别项目放在俗称的“玻璃房”下试行供观望,到几乎所有产品进入IPD流程,“任总提出先僵化再优化,不能打着优化的旗号把它改成中国特色的东西。”

    “在一个两万人的公司,组织流程的变革都是很难实现的,这确实是奇迹。”何庭波回顾是,这场大规模的“洋务运动”让强势而约束较小的研发部门受到了最大振动,在2001年——2002年那场通讯行业冬天的夹击下,她所在的芯片研发部门人才流失了超过30%,“走的人认为土枪就是土枪,怎么也变不成洋炮”。“搬个家都会吵架.何况如此大规模的组织迁移。”何说。

    从技术驱动到市场驱动

    最终,IPD的理念进入了华为人的血液。“比方说,产品从一出来时候就要注意可维护性,技术支持人员随时配备。”一位华为研发人员说,变化随处可见。“过去我们是没有技术支持的,研发人员随便写一些资料,现在都有专门的资料开发人员为我们做新产品的资料配备,没有做我们就投诉。”他说,IPD强调的是产品开发第一天所有的人都参与进来,以保证产品功能、质量,和长期的可维护性——这让市场成为技术的指针。

    这个改变孕育了一个全新的部门——营销工程部。

    如何解开上万研发人员的“技术情结”?如何让来自市场的引导成为每个TDT或PDT的强势主导?1999年,配合市场驱动的转变,大批技术专家、总工程师被调离原来的技术部门,与同时从海外引进的市场专家及原来市场部“有技术感觉”的人组成一个强势而权威的部门——营销工程部,直属于市场部。

    “这个部门的人既要有市场的感觉,又要有技术的感觉,既要从具体的研发过程中脱离出来,又要从纯粹面向定单的销售目标中间脱离出来。”何说。

    此后几年,从技术转移到市场,这几乎成为一种华为常见的人事调动。“现在营销工程部很多人都是研发部门送去的。”何庭波介绍,营销工程部在IPD流程中是多层会议上的组长,职责最重,也最关键。“他们不断分析需求,不断预言,很多东西都分析得比较长远,比如三到五年我们的投入应该是怎样来投?未来研发人员应该专注作做什么?”华为营销工程部一位人士介绍,营销工程部不仅是未来产品研发的触角,同时也在考核和具体推进项目在研发生产各个环节的进展。

    “凡是交给你的都是要做出来的,要求相当综合,还要成本低,比如明年五月你要拿出这个产品,拿不出来你要出局了,否则会带来上亿元的损失。”该人士说,“这个部门会有相当权威的技术专家,不可能提出一个完全不可能实现的要求,同时他的决策也是建立在与研发部门等各个环节的沟通之上。

    “需求的分析相当重要。”何庭波1996年加入华为从事芯片研发,至今已有超过100万片芯片投入使用,现在华为使用的芯片大多自己生产,每年的价值超过四亿元。但是何坚持认为,前端的需求分析是决定最终产品品质的根本。“质量是我们的自尊心。”何说,研发部门如何顺应差异市场的需求开发出相应产品,这个研究工作放在了前端——营销工程部。也就是说,如果一台已经销售到东南亚国家的机器,因当地气候原因(如含硫量高)而导致机板报废,重新研究的职责并非技术部门一家。

    “从研发角度来看,我们市场需求的分析部门也是研发的一部分,”营销工程部人士说,“要先研究好,不会有进不了电梯门的衣柜,如果东西搬到那里出来还有错,就会失去更多的机会。”这是营销工程之所以在华为牵一发动全身的原因。

    “六年前觉得这是一个遥遥无期的过程,但是现在关系发生变化,”何庭波说,过去和现在对'“理解客户需求”的把握是完全不同的,“过去了解是无序的,不全面,不系统,现在有专业的部门来做,可以进行系统的整合。”基于这层认识的转变,更多的研发员工愿意在IPD流程会议中承认,“他们(营销部门)厉害一点”。

    3G是一种理念的延伸

    3G对于从那场历时五年的组织流程大变革中走过来的华为研发人员来说,不是一个结果,而是一个延伸。

    1996年,华为开始投入3G研发。当时,GSM主导的2G在中国方兴未艾,如何让这个前途未卜的赌博成为一个可以操控的赌局?

    1998年,IPD的推行使3G进入一套相对有效的流程,使3G更为顺利和平滑地向既定目标迈进。何庭波说,进入3G研发系统的人马大都是1998年以后组织的,由于启动时间前后与IPD的推行相当,相比芯片等核心研发部门遭遇大量老员工流失的阵痛,可以说,IPD迅速地成就了3G。“从开发流程来做的话,3G起点高一些,面临的挣扎、转换的痛苦要小一些,它的既有组织不那么强、比其他人适应起来好多了。”

    据介绍,华为3G研发人员多在上海,3G系统产品开发无时无刻与2G产品发生关联,同时也在分享华为无线产品以外的成果。如此庞杂的系统协同、上海与深圳、连结全球五个研发中心,这个巨大的工程早已超越了过去的组织实体的操控:一名普通的芯片研究人员可以通过参与某个3G的TDT项目而加入3G项目的开发,在某个细分的小组会议上,针对由市场层层解剖后分解下来的任务包阐述自己的见地,并同时受到财务等环节的可行性约束。与此同时,他还在同时参与另外一个或多个光传输、交换机等项目一一这就是IPD的魅力。

    “现在IBM的人已经很少了。”何庭波说,而华为自己的流程专家已经很厉害了,那双六年前极其不适极其排斥的“美国鞋”已经如此自然地穿在了脚上。

    转载于:https://my.oschina.net/liting/blog/500513

    展开全文
  • 需求研发/开发流程

    千次阅读 2020-05-08 17:26:55
    我们先看看一个产品有哪些研发流程,帅丙就用自己接触的阿里系的研发流程举例了,这也基本上是互联网大厂的研发流程了,可能细节有出入,但是绝对大同小异。 我问了下字节,多多,腾讯的朋友出入不大,所以还是具有...

    前言

    大家最近问的比较多的一个话题就是大厂的研发流程,都比较好奇,整个流程是怎么操作的。

    我也不多BB了,那下面就跟随暖男的脚步,走进大厂研发流程吧。

    正文

    我们先看看一个产品有哪些研发流程,帅丙就用自己接触的阿里系的研发流程举例了,这也基本上是互联网大厂的研发流程了,可能细节有出入,但是绝对大同小异。

    我问了下字节,多多,腾讯的朋友出入不大,所以还是具有代表性。

    看完流程我们就一个个点的去看看每个环节干了些啥,我们开发同学在这个环节需要做啥,以及在每个环节的职能。

    需求提出:

    这个环节主要是产品爸爸给我们提需求,每个需求都是他们从用户,或者自己绞尽脑汁想出来的,但是产品爸爸还拿不准,不能直接敲定,所以就需要我们大家(产品,UI,前端,后端,客户端和测试)一起讨论一下,看看这个需求是否合理,或者这个需求是否有意义,能否达到预期,技术实现的成本,周期等等。

    一旦聊成了,他们就会进入下一个阶段,聊不成他会想方设法让你答应,然后进入下个阶段,知道我为啥叫产品爸爸了吧?

    需求PRD提出:

    这个阶段,产品爸爸会根据第一版聊下来的结果,大致出一个Demo版本的PRD,会画出初版的原型图,并且配上文字说明,所有涉及到的业务,还有交互细节都会罗列出来。

    大致就是下图这样:

    这个时候大家又会围绕这一版本去开会讨论,敲定细节,这个环节会久点,因为细节比较认真,逻辑也不能出错,还有UI稿子也得敲定,这里如果不敲定逻辑,UI提前去画原型图,后面假如逻辑推翻,一切重来就会浪费大量时间。

    这一环节大家都会把细节问清楚,不了解的点也会去了解,测试,开发,UI我们都会在会议上提出自己的观点,自己的意见,然后等产品反馈,最后意见一致之后,产品当天就回改出敲定版本。

    UI就会按照产品爸爸的意思去作图,接下来就是交互设计评审了。

    交互设计评审:

    UI会画出客户端,前端,H5开发所需要的UI图,基本上就是我们看到的产品的样子了,不过还是要敲定细节,比如按钮合理不,或者上面数据是否在这展示,或者这里展示的数据是否合理。

    这个环节会比较快,只要UI按照之前敲定的逻辑开发,出入不会很大,一般都是小改。

    但是也不乏很多,之前敲定了情况,等UI按照敲定版本出了图,但是却发现出图之后有些不合理的点,比如是否应该在这里展示GMV(销售总额),或者是否这样展示活动规则啥的,会有这种情况,不过是小概率事件,改动也不会特别大。

    UI界面:

    大家看到的这种操作界面,按钮,图标的各种位置和图案,都是UI在这个阶段设计好的。(我什么都没暗示,不用关注我的B站

    大家敲定后就进入我们开发人员的回合了。

    概要设计:

    概要设计,这个是大厂程序员需求下来之后基本上都会做的一步,不过看需求大小,可能很多小需求直接就详细设计了,也有啥设计都不用做的小改动,具体需求具体分析嘛。

    很多不了解的同学可能会问,需要设计什么呢?为什么要设计呢?

    问得好,经常看我文章的都知道,技术是把双刃剑,你用了技术之后你是不是需要列出他的优点缺点,出问题之后的解决方案,还有可能出现的问题注意点等等。

    这么是为了让你能有把控力,比如你这个需求接入了新技术EsElasticsearch)你什么都不管你就是要接入它,你把他开发好了上线了,但是有啥坑你知道么?上线崩了怎么办?

    不主动,不拒绝,不负责,这是渣男的行径,我们需要负起责任。

    这个环节你需要考虑这个需求涉及到哪些服务了,需要新增哪些接口,修改哪些接口,表有现场的还是要新建表,字段要新建么?

    其实远远不止这些问题,这就是我们做设计的主要原因,也是大家工作里面能成长的途径之一,你以为大佬们的经验是怎么来的?

    推荐工具:Xmind/ProcessOn

    ProcessOn是我使用最频繁的工具了,我身边也有很多小伙伴在用,也推荐大家都使用:

    大家在学习,看书等等的时候做个脑图,后面学习和复习的时候思路会很清晰,而且效率瞬间很多,形成知识体系。

    概要设计一般就是做个大概,给大家看一下我自己在设计ES相关的需求的时候的概设,比较粗糙看个大概就好了:

    这个设计好了,就需要给Leader看,看理解程度,一两次返工是有可能的,如果你像或者像敖丙一样笨的话,是有可能会被打回N次的,这里我得提一下,好好做设计好处大大的有,自己体会。

    然后会进行一轮测试用例评审,比如你涉及哪些服务,新增了哪些接口,改了哪些接口,都是要同步出来的,至于为啥?

    是因为测试会依据这个数据,评估影响范围,方便他写测试用例,后面会提到。

    详细设计

    小伙伴又要问了啥是详细设计呀帅丙

    傻瓜,简单呀,见名知意嘛,概要设计是大概的设计,详细设计是详细的设计。

    我们研发的时候整个流程往往很复杂,如果你理解不对直接就写代码,最后容易造成返工,延期,加班,被骂,心情差,回家吵架,离家出走,露宿街头,饥寒交迫,被迫吃野味,然后全国。。。。

    看到不做详细设计的后果了吧,其实大家花点时间做详细设计很有必要,你思路完全清晰了,写代码那就是分分钟的事情,不是嘛?

    那再看看帅丙的一个小设计吧,之前文章中大量的流程图,时序图都来自它,主要是这玩意还是在线的,都不用下载很方便啊。

    详细设计的工具我用的就是之前提到的在线作图神器:ProcessOn https://www.processon.com

    还是我自己之前设计的一些流程图,大家可以看看:

    这个环节一样重要,这个地方如果你能想好很多细节,开发的时候效率会高很多,像我上面的一些点,基本上就是看着图开发了。

    这个环节一般上不需要Leader参与,但是如果你有疑问或者不了解的点还是要提出来的。

    测试用例评审:

    上面我们说过,测试会根据你的概要设计,评估你的影响范围,你的影响点,新增和改动的接口啥的,去编写自己的测试用例。

    测试用例,主要是为了把改动点影响点都考虑到,测全一点,免得上线了影响别的现有业务,也是为了把你开发的功能可能出现的bug给排除了。

    我拿个小破站的小用例大家看看,这个比较粗糙但是也有点那味了。

    这个环节也会开会讨论,也是细节的确定,比如他写的是否合理,或者有什么点没考虑到,大家有没有补充的。

    接口定义&开发&前后端联调

    这个环节其实比较好理解,啥都敲定了,那就开发呗,开发差不多了,就得前后端联调了。

    这里有个小细节还是想说一下,一般开发前我们都会提前定义数据类型,接口名称,然后在公司的接口工具上给出链接和参数,方便前端爸爸mock数据。

    他总不能等我们后端开发完了,才去开发嘛,这样效率打折扣,所以都是后端先定义好,然后前后端并行开发的。

    后端开发好,一般都是会发布到联调环境,我们有哪些环境,联调环境在我们所有的环境中处于哪个地位呢?

    大家可以看到我列出了我们开发的所有环境。

    Tip:日常环境不能由开发人员发布,是因为测试流程比较久,所以不能中断,如果你一直发布会影响测试的效率,在发布期间他们是没办法干活的,而且很多部门涉及相同的服务,你发布还会影响别人。

    测试发布之前,在测试群里问问可以发某个服务么,大家觉得不影响,那么就可以发了,懂了吧。

    预发环境,也叫灰度环境,这是跟线上数据一样的一个环境,只是只能内网访问,一般这一步是防止很多是因为日常的数据量不够真实,数据级别达不到线上的量级无法测出的bug。

    扯远了,联调完了就是代码Review了。

    代码Review:

    codeReview环节,画一下重点,这可能是整个研发流程中,让你成长最快的一个环节,让组员和Leader Review你的代码,往往他们能给你很多业务上和技术上的建议和意见。

    过来人的经验你就说香不香吧,以前老大经常没时间,但是我就是烦着他要Review,后来他说不用review了,但是我还是要组员大佬review,因为我很享受别人对我提建议的时候,这不就是成长,扫盲的好时机嘛。

    提测&灰度发布&产品第一次验收

    这一阶段就是把代码都发到日常环境,然后等测试爸爸测试,这个环节开发同学如果没BUG是比较轻松的,等着就好了,可以看看丙丙的文章啊,看看丙丙的B站视频什么的。

    但是如果你BUG多,那我觉得你可能会生不如死,因为有的bug真的找很久很久的,调用链路又长,特别是跨服务又涉及消息队列,或者第三方的接口什么的。

    img
    img

    总之你也不知道会出现什么bug,我看身边的大神也只能用经验避免常见的吭,孰能生巧吧。

    发布计划

    敲黑板,这个确实是比较重要的环节,这个环节主要是开发同学和前端同学说好一个发布时间,然后制定一个发布计划,为啥要发布计划呢?

    我们开发一个需求,可能涉及到N个服务,这些服务是有依赖关系的,那就需要打包,比如订单系统,依赖人员系统。优惠券系统,也依赖人员系统,然后订单系统还依赖优惠券系统,是不是有点乱了?

    我们看图:

    打包和发布顺序原则上是一样的,从没完全依赖的服务按照顺序发布到最后一个服务。

    生成环境上线:

    这就是神圣而庄严的上线环节,一般在这个环节丙丙都是要洗手洗澡,然后才点下那个神圣的发布按钮。

    一般现在都是自动化发布,界面上点点就好了,记得丙丙大学发布都是进服务器一个个kill进程,替换jar包然后重启。

    现在都是分布式的集群,这样发无疑会累死,我之前负责的系统有50多台机器,一般都是4台4台发布。

    日志观察&产品第二次验收

    一般发布第一批之后不会马上发布第二批,而是观察错误日志,看看是否正常,有时候会发现还是会出现异常情况的,那就保留错误日志,然后回滚。

    知道解决了再发布,顺利的话就没啥错误,一口气发完了,看了下时间凌晨了,那发完差不多也得回家了。

    一次发布可能涉及服务多的话,真的有可能发布这么久,但是没办法,线上出问题就是掉脑袋的事情。

    日志观察一般公司都有错误日志搜集系统,或者自己登录跳板机查看就好了。

    没问题,发完之后告诉产品大大就好了。

    需求结束

    至此基本上一个需求可能就结束了,其实还是很不容易的,短的需求几天,长的需求几个月,中间涂涂改改,BUG,技术难点都是你要面对的,不过没啥大问题,我们技术人嘛皮实能顶。

    总结

    产品研发流程大家是不是觉得有点复杂,或者觉得很多点有点小题大做了,不瞒你说,刚开始我也这么认为的,但是随着时间的推移,你会发现有时候越是这样规范,越是提升了效率,也提升了产品质量。

    对自己设计的严苛也会让你的业务能力提升,开发考虑的点也越来越广泛,我想大佬应该都是这样走过去的,那没啥好说的,我们也走。

    最后给大家看看我自己搞的一个项目管理模板吧,基本上能适用大部分项目了,要xmind格式的公众号回复【项目】即可。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,175,586
精华内容 470,234
关键字:

研发流程