全面提升软件工程能力与实践,打造可信的高质量产品【转】

今天有幸看到一篇华为公司[公司文件] 《全面提升软件工程能力与实践,打造可信的高质量产品》------致全体员工的一封信 任正非 ,此文章出自华为《心声社区》,让一个码了多年代码的我,看了后受益匪浅,写得非常棒了,值得我日后工作学习方向与指引.也明白为什么公司一直学习华为公司管理模式和华为的品质精神。华为是代表产品高质量的标杆,一直坚守高质量底线打造优质的产品,用过华为产品都知道质量好, 中国没人不知道华为的, 华为加油,pbren支持你,

这里将原文章分享如下:

转自:华为心声社区

(号称:华为的罗马广场,里面有很多值得学习的华为文摘,管理思考,文化资料)

总 裁 办 电 子 邮 件

电邮讲话【2019】001号         签发人: 任正非

全面提升软件工程能力与实践,打造可信的高质量产品

致全体员工的一封信

我今天写信,是要和大家沟通公司如何全面提升软件工程能力和实践。二十年前的IPD变革,重构了我们的研发模式,实现了从依赖个人、偶然性推出成功产品,到制度化、持续地推出高质量产品的转变。至今为止,我们的产品和解决方案已经在170多个国家安全稳定运行,并因此积累和赢得了全球数万客户的信任。今天,我们又处在一个新的起点,全面云化、智能化、软件定义一切等发展趋势,对ICT基础设施产品的可信提出了前所未有的要求。可信将成为客户愿买、敢买和政府接受、信任华为的基本条件。可信不仅仅是产品外在表现的高质量结果,更是产品内在实现的高质量过程,是结果和过程的双重可验证的高质量。而只有全面提升软件工程能力和实践,才有可能打造出可信的高质量产品。

公司已经明确,把网络安全和隐私保护作为公司的最高纲领。我们要在每一个ICT基础设施产品和解决方案中,都融入信任、构建高质量,关键内容包括:

安全性(Security)。产品有良好的抗攻击能力,保护业务和数据的机密性、完整性和可用性。

韧性(Resilience)。系统受攻击时保持有定义的运行状态,包括降级,以及遭遇攻击时快速恢复的能力。

隐私性(Privacy)。遵从隐私保护既是法律法规的要求,也是价值观的体现。用户应该能够适当地控制他们的数据的使用方式。信息的使用政策应该是对用户透明的。用户应该根据自己的需要来控制何时接收以及是否接收信息。用户的隐私数据要有完善的保护能力和机制。

可靠性和可用性(Reliability& Availability)。产品能在生命周期内长期保障业务无故障运行,具备快速恢复和自我管理的能力,提供可预期的、一致的服务。

全面提升软件工程能力和实践,关乎公司未来的生存和发展,与我们每一个人都息息相关。在此,我希望全体员工、特别是软件工程师们主动参与进来,从自己做起,踏踏实实,共同打造可信的高质量产品。

我们要转变观念,追求打造可信的高质量产品,不仅仅是功能、特性的高质量,也包括产品开发到交付过程的高质量。我们知道,功能、特性对产品至关重要,我们更知道,进度对满足客户需求也至关重要。今天,我们要把可信作为第一优先级,放在功能、特性和进度之上。除非客户信任我们的产品,否则这些优秀的特性都没有机会发挥价值。我们各级管理者和全体员工都不得以进度、功能、特性等为理由来降低可信的要求,确保可信的要求在执行过程中不变形。

我们要从最基础的编码质量做起,视高质量代码为尊严和个人声誉。代码就像是高楼大厦的一砖一瓦,没有高质量的代码,可信的产品就是空中楼阁。我们要优化并遵循公司各种编程规范,遵从架构与设计原则,熟练使用各种编程库和API,编写出简洁、规范、可读性强、健壮安全的代码。

我们要深刻理解架构的核心要素,基于可信导向来进行架构与设计。在确保可信的前提下,要在性能、功能、扩展性等方面做好权衡;慎重地定义我们的模块与接口,真正做到高内聚与低耦合;我们要遵循权限和攻击面最小化等安全设计原则,科学设计模块之间的隔离与接口,提升安全性;低阶架构与设计要遵循高阶的架构与设计原则,在充分理解原有架构与设计的情况下,持续优化;我们要熟悉各种设计模式,重用公共成熟组件和服务,避免重复劳动。

我们要重构腐化的架构及不符合软件工程规范和质量要求的历史代码。我们知道,再好的架构,其生命力也是有限的。随着时间的推移、环境的变化以及新技术、新功能特性的引入,架构也会腐化。面对腐化了的架构,要毫不犹豫地去重构它。同时主动以可信设计原则为导向,去重构不符合软件工程规范和质量要求的历史代码,提升软件架构的生命力。

我们要深入钻研软件技术,尤其是安全技术。软件技术是我们打造产品的基本工具,技术是否先进,技术选择是否合理,将决定我们软件的高度;我们要深入学习架构与设计、编码、测试、安全、可用性、性能、维护性、体验等技术,并科学运用这些技术。

我们要遵守过程的一致性。遵守适用的法律法规、遵循业界共识的标准、规范,确保规范到实现的一致性、代码到二进制的一致性。架构要符合架构原则,设计要遵循设计模式,代码要符合编程规范,最终做到需求与实现一致,达成各项对客户的承诺。我们只有脚踏实地做好每一步,才能真正打造出可信的高质量产品。

为此,我们要改变行为习惯,追求精品。我们要开放透明、积极和勇于揭示问题并主动推动改进。软件开发是一种创造性和艺术性的工作,需要充分发挥我们的聪明才智和潜力。我们要改变只重视功能结果、不重视代码质量的行为习惯,要严格遵守软件工程规范;改变被动的修修补补;改变碎片化知识获取,主动去学习提升并贡献经验、代码,形成共享知识库。我们需要改变的行为和习惯还有很多,对绝大多数人来讲都将是一个痛苦的转变过程,会脱一层皮,但我相信大家能够迎接这种挑战。

更为重要的是,我们将通过变革形成一套适应上述变化的流程、组织与考核机制。我们要完善并增强透明、可回溯和可审计的全流程管理机制,以可信的视角,从初始设计、完整构建到产品生命周期管理,全面提升软件工程能力和实践。我们将全面强化以Committer角色为核心的代码审核和提交机制,代码经过更加严格和系统的审核才能合入版本。为此我们将建立一支更高水平的Committer角色群体,负责软件架构的看护、代码的审核和提交,整体保障合入代码的高质量。我们要变革考核机制,要让架构设计好、代码写得好的人脱颖而出,对编程能力不满足要求的人给予帮助和培训。但任何人如果编写的代码长时间不能合入版本,将会被团队抛弃。

过去一百年来,世界上许多成功的公司都因不能适应变化而倒下。要适应外部变化,唯有自我进化,我们必须保持开放和持续变革。董事会已决定,全面提升软件工程能力与实践将以变革的方式来开展,由轮值董事长徐直军总负责,公司初始投入20亿美元,计划用5年时间,在ICT基础设施领域实现为客户打造可信的高质量产品的目标。希望您支持并积极投入到这一伟大的变革。唯有如此,我们才能实现未来的愿景和使命:把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。

任正非

2018年12月27日

报送:董事会成员、监事会成员

主送:内部员工全公开

二○一八年十二月二十七日

原文地址:https://www.cnblogs.com/pcbren/p/10317013.html

时间: 2024-08-24 16:31:48

全面提升软件工程能力与实践,打造可信的高质量产品【转】的相关文章

2019华为程序员又要加薪了! 任正非 致全体员工的一封信 ------全面提升软件工程能力与实践,打造可信的高质量产品

2019华为程序员又要加薪了! 任正非  致全体员工的一封信 ------全面提升软件工程能力与实践,打造可信的高质量产品. 过去一百年来,世界上许多成功的公司都因不能适应变化而倒下.要适应外部变化,唯有自我进化,我们必须保持开放和持续变革.董事会已决定,全面提升软件工程能力与实践将以变革的方式来开展,由轮值董事长徐直军总负责,公司初始投入20亿美元,计划用5年时间,在ICT基础设施领域实现为客户打造可信的高质量产品的目标. 原文链接:http://xinsheng.huawei.com/cn/

IBM Think 2019核心议题:如何打造可信人工智能

在2019年2月12日到15日于美国旧金山举办的IBM Think 2019大会上,可信人工智能成为核心议题之一.IBM董事长.总裁和首席执行官Ginni Rometty的主旨演讲中也重点提到了可信人工智能,Rometty还把对技术的信任作为她整个主题演讲的落脚点,她认为信任是所有伟大技术的先决条件,是新技术繁荣和发展的基础,也是这个时代最大的不同之处. 两个月前,欧盟刚于2018年12月18日公布了<可信AI的道德指南草案>,并将于2019年3月推出最终版本.<指南草案>指出人工

软件工程短学期实践第三次随笔

软件工程短学期实践即将接近尾声,我们的软件工程项目也已趋于完成. 软件工程短学期实践项目: 这是一个简单的客户信息管理维护软件,它能把客户编号.客户姓名.客户电话和客户性别保存在数据库之中,我们可以在数据库中查询保存的客户信息,还可以随时修改以及删除客户信息. 随后,我们在老师的指导下,开始自己修改设计软件,我做的是库存管理项目,代码如下: package com.crm.action; import java.util.Map; import com.crm.bean.Item; import

本学期高级软件工程课程的实践项目的自我目标

1.对实践项目完成后学习到的能力的预期 希望通过本学期的课程时间项目,能够做到合理的项目需求分析,能以软件开发理念"设计什么"以及"如何设计"角度实际出发,写出令老师和自己都满意的需求文档.结合项目的实践提高自己的理论知识的同时提高自己的编程能力.实践项目的同时,学会和团队交流协作,提高自己的团队意识.能够掌握整个软件开发阶段流程,学会系统框架设计,数据库设计等,包括软件测试(白盒测试和黑盒测试方法). 2.对项目课程的期望 希望实践项目的细节能够详解,能够有实践的

提升工作能力的表达能力

摘抄至https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9613198313895368690%22%7D&n_type=0&p_from=1 但比起工作能力提升的诸多不确定性,提升表达能力,就显得容易多了. 那么说到这里,大家是不是觉得,提升表达能力比提升工作能力重要? 其实更重要的,是提升你的 CPU.内存和显卡,在这个基础上,升级你的操作系统. 所谓 CPU,自然是你的大脑,

RethinkDB创始人教你如何打造一个伟大的互联网产品

关于作者 我叫Slava Akhmechet,本人是 RethinkDB 的创始人之一,RethinkDB是开源,分布式数据库,旨在帮助开发人员与运营商在打造实时应用时处理无结构数据 如何打造一个伟大的互联网产品 假如你认可“销售定乾坤”的原则,那么如果我说大部分初创企业在还没有把它们伟大的产品推向市场进行销售之前就已经把钱给烧光而铩羽而归的话,元芳,你怎么看呢?假如你面向的是一个爆炸性快速增长的市场,你需要找到一个打造一个伟大产品的方式的话,元芳,你又怎么看呢?[1] 打造一个伟大的产品是很困

利用这四大技巧 轻松打造高质量的网站内容

在制作网站的过程中,怎样为企业网站打造一些高质量的网站内容呢?因为高质量的内容可以提高网站的表现效果,而且可以吸引更多的流量,提升网站的权重.今天我们就来说一下网站制作过程中,怎样打造优质的内容.下面我们就一起来聊一下吧. 第一.为网站选择一个易记简短的域名.一个稳定的网站服务空间.易记简短的域名不仅方便用户可以很容易快速地记住你的网站.从搜索引擎收录网站的角度来看,对简单的域名也是比较感兴趣的.因此,很多企业网站在制作的时候一般都会选择com域名注册.而作为一个营销类型的网站,而且是想要打开网

重构心法——打造高质量代码

个人经历 对我代码质量影响最大的是在一家外资企业,在这家公司我觉得有以下几个方面做的很不错. 团队编码风格统一 统一到什么程度?不看代码作者,你很难区分代码是谁写的(在目前公司一些团队也能达到这个标准) 个人观点: 这样做有什么好处?团队中每个人阅读代码都很容易,减少很多沟通,维护成本( 代码阅读的次数远远大于变更的次数),并且心情非常愉悦.有人肯定觉得愉悦有点夸张,举个栗子:有一些代码,如果不是由于与工作内容有关联,你是否有种这辈子都不情愿去接触它的感受.但也有一些代码,阅读下来一气呵成,心情

高质量代码实践

本博文首先分析了强调高质量代码的原因.判别标准::由于需求的不断变化,系统功能越来越多,而且越来越复杂,软件规模越来越大(代码行数>100万),导致开发以及维护的成本越来越高,开发效率越来越低,Bug越来越多,因此好的产品需要高质量的代码构建,从而提高开发效率,提升产品稳定性,输出外在质量高.内在质量高的产品: 本博文然后从代码实践中总结归纳出怎样写出高质量的代码::从基础的命名(名副其实,做有意义的区分,使用解决方案/业务领域可读的名称,类名/方法名,命名参考)到函数.类以及常用的设计模式.面