来源:汉捷咨询
案例:我们公司来了个新员工,看过代码后,就说我们写的程序全都是垃圾。老板还专门开会训了我们一顿,请这位新员工整改系统。结果这位大哥对着程序一通操作,接连出了十几个BUG,根本改不完。人家看完不成,甩甩手就走了。我们还得忙着加班。从此以后,我们公司有了一个潜规则:但凡新人入职,都会警告他:不要乱改系统!只要能跑,就是好程序。
上述这家公司如果不加以彻底整改,任由这种情况持续下去,我们几乎可以肯定:代码将越来越难以维护。而且,随着有经验工程师的不断离去,代码最终将被重构或者抛弃。这意味着,企业势必会付出高昂的代价。
曾几何时,低质量的代码、不完整的技术文档、技术问题的重蹈覆辙,导致研发智力资产无法有效继承,让后续接手的研发工程师叫苦不迭。企业高效率、高质量的开展研发工作,离不开持续的技术积累和研发人员的业务传承。
技术积累包括企业对产业和技术的理解与储备、技术平台的建立与运用。企业技术水平能够支持产品战略,会提升产品实现的质量和效率,让市场成功显得“轻而易举”;反之,将阻碍产品战略的落实,令企业错失市场机遇。
那么,如何开展技术积累?汉捷咨询顾问首先介绍几种典型的技术积累方式。
一、建立产品的技术与设计规范
对于研发和设计过程中需要遵循的技术规范,可以由技术领域专家进行整理,将以往优秀的设计要素和犯过的错误通过规范形式进行条理化,以供大家使用;这样就可以最大限度的提高设计水平,避免重复栽跟头。
二、维护技术文档模板与评审要素
技术文档和评审要素是技术积累传承的重要载体,为了保证其高质量,需要企业技术管理部门定期组织专家更新和优化。
优秀的技术文档模板至少需要达到结构、表述清晰明了;能够体现技术要素和经验教训;能够辅助整理设计思路等要求。
例如,某公司在定义产品需求时,发现除了产品的功能和性能等之外,产品的兼容性、易用性、可扩展性等专项需求也需要同步考虑,否则无法达到客户期望,使得产品丧失竞争力。因此,该公司全面梳理了产品的专项需求,并且在需求规格书中得到了体现,从而避免了需求定义过程中考虑不周到的问题。
三、增强产品开发流程与研发管理机制
某公司发现,在产品开发过程中,由于技术评审执行不到位,造成了严重的质量问题。于是,其在开发过程中明确定义了若干重要的技术评审点及其评审要素;强化了评审材料准备、预审、评审问题跟踪解决等环节。通过技术评审,早期发现了很多重要的质量隐患,最终的产品交付质量获得了明显提升。
某公司产品在量产中发现产品的可制造性不佳,生产效率很低。究其原因,是在产品开发早期没有考虑可制造性方面需求,工艺人员甚至没有参与产品需求定义。于是,该公司全面梳理了可制造性、可服务性、可测试性等内部需求。在产品开发初期、需求定义阶段,制造、服务、测试等领域人员就参与研发,进行内部需求的定义。这样就从根本上保证了产品制造、交付和服务的顺利进行。
产品研发工作需要跨部门合作,因此在优化产品研发流程和管理机制时,一方面需要考虑以往的经验教训,一方面需要关注研发领域之外关键性活动的缺失造成的不良后果,让产品研发流程逐步成为优秀实践的集合。同时,也需要注意不能片面追求完整性和规范性,导致过程定义繁琐而丧失可操作性。
四、留存宝贵的经验案例
产品研发是充满创意性的工作,因此要达到“在研发过程中不犯错误”是不切实际的。我们关注的是避免问题的重复出现,力求从问题中举一反三,获得经验。汉捷咨询认为撰写经验案例库是一个很好的方法。
五、建设产品平台与CBB
技术积累还体现在企业的研发工作是否基于成熟而稳健的产品平台。产品平台可以使系列产品实现最大程度的共享,提高产品的研发效率和交付质量,同时也降低了对研发团队的技能要求。
某工业电源制造公司,根据其产品的技术特征划分了若干典型的产品系列,组建专门团队负责产品平台的建设与推广;产品开发团队则是在平台基础上根据用户的具体需求去构建产品。
通过两年多的努力,该公司70%以上的产品系列迁移到平台上来开发。从统计数据看,基于平台的定制开发项目周期缩短至原来的1/3左右,交付质量与原来相比也并不逊色。
六、人员传承
Insider 日前宣称获得了一份谷歌员工之间共享的电子表格,数据表明 2022 年谷歌员工的总年薪平均为 27.98 万美元。而在所有职位列表中,软件工程师的薪酬最高,去年的基本工资为 71.8 万美元。谷歌工程师的高薪水令人羡慕。
通过技术积累,是否能让不同的人“做好相同的事情”?这显然是不切实际的。否则谷歌也不会在研发工程师上面做这样大量的投入。
研发人员素质对于技术积累是非常重要的。所以我们要为这个告知职责选择到“对”的人,培养出胜任工作要求的工程师。
后者,就是要做好研发工作的“传帮带”:让新进入公司的研发人员尽快熟悉以往产品的设计思路;掌握其中的一些关键性“窍门”。当然,这有赖于研发管理者制定相关的培养计划,并且付诸实践。
以上是汉捷咨询列举的典型技术积累方式。企业可以根据自身的实际情况,选择几种技术积累方式,在统一部署下根据优先级开展工作,并持续推动和落实。