Translator|朱钢审校|梁策孙淑娟技术经理往往关注眼前的成就,而不是本质上的影响。看到员工工作到很晚会让他们心情愉快,认为这等同于生产力。但在实践中,这种做法往往适得其反。可持续的软件开发带来更多好处。这种方法在软件工程和软件使用中集成了软件开发生命周期(SDLC)优化、财务和人力资源。可持续软件还意味着对环境的危害最小。鉴于到2040年信息和通信技术(ICT)将占全球碳足迹的14%,这一点至关重要。为了实现软件工程的可持续性,产品团队需要主动整合新功能,最大限度地降低复杂性,并关注所消耗的资源通过软件,等等。这些努力将产生深远的影响,将改变行业面貌并帮助应对气候变化。什么是软件工程的可持续性?首先,让我们澄清一下可持续软件工程的概念。虽然许多公司说他们有可持续发展的方法,但实际上他们可能并不了解可持续发展的真正含义。因此,他们似乎遵循了一些可持续软件开发的原则,但仍然提出了一个消耗过多资源的解决方案。作为一种集成方法的可持续软件开发有两个主要思想。首先,产品团队应该使他们的解决方案尽可能具有成本效益、生产力和生态友好性。其次,优化应该提高产品质量。下面列出了一些可持续性原则,以详细解释软件可持续性方法。为什么产品团队应该努力实现可持续的软件工程?更绿色星球的想法不足以说服公司改变旧的方式。通常,只有在带来商业利益或满足监管要求的情况下,才能加速业务变革。软件工程的可持续性具有广泛的好处。因此,产品团队能够创建专注于增长而非故障排除的解决方案。总的来说,当发展不可持续时,团队就会陷入纠正错误和经济损失的恶性循环。另一方面,可持续的软件开发允许工程师在面对日益增加的复杂性时不断改进他们的服务。他们创建的可持续软件比传统产品使用更少的人力和硬件资源。以下是可持续软件的主要好处:环境保护。可持续的软件开发实践需要对环境友好,因此对环境的破坏较小。到2030年,数据中心将消耗全球8%的电力,计算机系统的碳足迹正在稳步增长。因此,现在就开始减少ICT造成的资源消耗和排放至关重要。与数据中心运营相关的环境影响(美国)(来源)可持续性确保了一种全新的工程方法。可持续软件工程在关注生态的同时,也彻底改变了SDLC方法。持续性也是对技术团队工作的一种优化,管理者不需要在周末加班赶工,反而真正提高了生产力。他们可以花时间组织更智能的工作,以享受更高的效率。(来源)可持续发展软件通过更多参与和高效的团队增加收入。当技术团队觉得自己开发的产品能够为社会带来真正的价值时,他们就会有更高的动力。他们提供更具创造性和效率的解决方案,从而产生更多的利润。可持续规划展示了对最终用户和业务合作伙伴的关注。提供可持续软件的公司享有更好的声誉。消费者认为这些品牌更可靠,使用这样的解决方案将对他们产生积极影响。可持续软件可降低维护成本。由于可持续软件减少了服务器的负载并消耗了更少的电力,因此更具成本效益。这对最终用户和产品所有者都很重要。可持续规划减少了与遵守新法规相关的意外成本。在接下来的几十年里,我们将看到许多限制碳排放和资源过度使用的新法规。设计可持续软件现在可以为未来做好准备并简化合规性工作。当政府通过此类法规时,您无需重建产品即可满足要求。软件工程的可持续性使公司成为理想的工作场所。当人们考虑加入一家公司时,如果他们知道他们的工作将有助于实现这个好想法,他们很可能会做出加入这家公司的决定。在竞争激烈的劳动力市场中,这种优势至关重要,因为合格的人力资源总是有限的。最后,所有科技公司如果想与市场领导者竞争,都应该确保软件的可持续性。遵循可持续发展的原则,您的产品将不断发展。这些产品将足够灵活,以适应不断变化的市场条件,而市场条件对优化的需求总是更大。实现软件可持续性的3个主要步骤软件可持续性需要对软件开发最佳实践、模型和方法进行革命。为了确保软件工程的可持续性,团队需要测量产品消耗的能量,而大多数技术团队以前从未做过。因此,改变思维方式以变得更加环保可能具有挑战性。如果编程要转向可持续发展,请遵循以下建议步骤:步骤#1:让您的团队为可持续软件开发做好准备,并就此理念对您的团队进行教育很少有科技公司采用可持续的编程方法。他们专注于满足当前用户的需求,而没有制定战略性的软件可持续性计划。因此,为了实现软件工程的可持续性,需要重建现有的商业模式。确保实施自动化测试,避免过度工程,并使用工具来计算软件对环境的影响。步骤#2::使用绿色代码进行可持续编程绿色代码是为最小化算法的相对功耗而编写的代码。通过绿色编码,可以减少物理服务器和系统的能源负荷,这是一种支持可持续编程的趋势方法。要创建绿色代码,您需要:针对高能耗和常见使用场景优化函数删除未使用的函数和循环通过更高效的缓存策略、最小化数据交换和压缩优化数据使用调整应用程序的工作方式如果您的软件包含AI功能,请选择消耗更少能量的ML模型。第3步:评估产品影响最后,您必须监控您开发的软件的能耗,以确定可以优化的模块。这是一个循序渐进的过程,包含在整个可持续软件工程周期中。可持续和绿色编程项目示例科技行业的领导者是可持续软件工程的潮流引领者。他们珍视自己的善意,了解自己对社会的影响。查看下面的示例,了解其他企业为软件可持续性所做的工作。Apple2020,Apple承诺到2030年确保其产品和供应链实现100%碳中和。Apple计划将排放量减少75%,并针对剩余25%的足迹开发创新的碳去除技术。Apple还制定了10年气候路线图以减少排放。此外,他们还表示,所有最近发布的iPhone、iPad、AppleWatch和Mac设备都将包含回收材料。沃尔玛为减少浪费和能源使用,全球最大的零售商沃尔玛开展了多项数字化转型。他们还采取措施,通过更先进的可持续性软件解决方案来提高供应链效率。例如,沃尔玛允许消费者通过其移动应用程序完成移动快递退货,买家可以在当地零售店扫描二维码支付商品。自助服务不仅可以为客户节省时间,还可以减少运输和相关的二氧化碳排放量,从而对环境友好。Facebook2020年,Facebook发布了白皮书《净零承诺》,明确了Facebook为可持续软件工程和资源审慎管理所做的准备。到2030年,Facebook将在其整个价值链中实现温室气体净零排放。为了提高可持续性,Facebook还将循环经济原则纳入其服务器硬件和消费产品。它们将可修复性和可回收性纳入设计过程并延长硬件的使用寿命。技术行业的领导者是整个行业的塑造者,所以软件工程的可持续发展也是大势所趋。所有进入市场的科技公司和初创企业都应遵循可持续原则并设计优化的解决方案。译者介绍朱刚,社区编辑,2019年CSDN博客高手20强,2020年腾讯云+社区优秀作者。10年一线开发经验,曾参与猎头服务网站架构设计、企业智能客服、大型电子政务系统开发。主导某大型国有企业内部防泄密及电子文档安全监控系统建设,目前在某知名BIM公司从事招投标软件开发工作。原标题:WhySustainabilityinSoftwareEngineeringMatters,作者:TetianaParatsii
