研发管理中的核心—技术和架构
2022.08.17研发管理的核心竞争力是技术能力,产品的需求要转化为产品,最终还是取决于系统架构和代码质量。对于研发管理,这里我们需要避免两个极端:
第一,追求技术的完美,在系统设计上是一个高可用、高活、分布式、并发数万、数十亿数据等,当系统做好了,黄花菜都凉了。好的架构不是设计出来的,而是演变出来的,这句话很多人都在引用,不是为一个糟糕的开始找借口。技术是针对产品的,在系统设计之初,速度是关键。To C 企业需要快速获得客户,产生收入或提高融资。To B 业务的客户通常比较着急,急着签合同、上线,当然公司也希望能尽快上线验收,以便快速获得收益。
第二,完全忽略了架构技术,只要能做出来就好,系统的稳定性就很差,而且体验也不好。即使这样的系统在网上交付,用户也会失去耐心,产品也会丧失存在的意义。因此,在系统不断迭代的过程中,我们需要不断地做架构调整和演进,代码也需要重构,以适应业务发展的需要。在预算范围内做 6-12 个月的业务展望。
在做研发管理的时候,也必须要做好质量管理,其中代码质量是非常重要而又极其容易被忽视的,工期或者资源紧张,或者团队不得不离开的情况下,代码质量会非常容易失控。由于人员变动,新需求的功能增加而变化,废码、垃圾码、非标码、奇怪码、一般码都会出现。这几乎是围绕着研发过程管理的梗,甚至上升到了软件工程师人品的高度。
针对这一问题可以加强代码精细化管理:一方面可以使用代码扫描工具,另一方面加强手工代码审核。在重构代码时,特别是在系统达到一定复杂度后,我们需要对代码做一些减法,包括删除过时的代码和注释掉我们不使用的代码,并仔细检查代码逻辑以避免重复代码和重复造轮子。也可以使用一些现有的开源代码来替换不理想的代码。用一些设计模式来简化系统的复杂度,提高代码重用率。
来源:知乎 作者:斜阳草树