軟件工程中可持續(xù)性為什么很重要
譯文譯者 | 朱鋼
審校 | 梁策 孫淑娟
技術(shù)經(jīng)理常常專注眼前成就而非本質(zhì)影響??吹絾T工加班到很晚,他們會(huì)表現(xiàn)得滿心歡喜,相信這就等于生產(chǎn)力。但實(shí)際上,這種方法常會(huì)適得其反。
可持續(xù)的軟件開發(fā)會(huì)帶來更多益處。在軟件工程和軟件使用過程中,這種方法將軟件開發(fā)生命周期(SDLC)優(yōu)化 、財(cái)務(wù)和人力資源予以綜合。可持續(xù)軟件還意味著對(duì)環(huán)境的危害最小。鑒于2040年信息通信技術(shù)(ICT)將占全球碳足跡的14%,這一點(diǎn)至關(guān)重要。
為了實(shí)現(xiàn)軟件工程的可持續(xù)性,產(chǎn)品團(tuán)隊(duì)需要主動(dòng)納新,最大限度地降低復(fù)雜性,并關(guān)注軟件消耗的資源等。這些努力將產(chǎn)生深遠(yuǎn)影響,從而改變行業(yè)面貌并有助于應(yīng)對(duì)氣候變化。
軟件工程中的可持續(xù)性是什么?
首先,我們來厘清一下可持續(xù)軟件工程的概念。雖然許多公司表示他們采取了可持續(xù)方法,但實(shí)際上他們可能并沒有理解可持續(xù)真正意味著什么。因此,他們看起來遵循了一些可持續(xù)軟件開發(fā)的原則,但推出的解決方案仍然消耗過多資源。
可持續(xù)軟件開發(fā)作為一種綜合方法有兩個(gè)主要思想。首先,產(chǎn)品團(tuán)隊(duì)?wèi)?yīng)該使他們的解決方案盡可能地具有成本效益、生產(chǎn)力和生態(tài)友好。第二,優(yōu)化應(yīng)提升產(chǎn)品質(zhì)量。下面列出了一些可持續(xù)性原則,對(duì)軟件可持續(xù)性方法進(jìn)行了詳細(xì)解釋。
為什么產(chǎn)品團(tuán)隊(duì)?wèi)?yīng)該努力實(shí)現(xiàn)可持續(xù)的軟件工程?
讓地球更環(huán)保,這樣的想法還不足以說服企業(yè)改變老式方法。通常,只有帶來商業(yè)利益或是符合法規(guī)要求才能加速企業(yè)變革。
軟件工程可持續(xù)性具有廣泛益處。產(chǎn)品團(tuán)隊(duì)因此能創(chuàng)建專注于增長(zhǎng)而不是故障排除的解決方案??偟膩碚f,當(dāng)開發(fā)不可持續(xù)時(shí),團(tuán)隊(duì)就會(huì)陷入糾正錯(cuò)誤和財(cái)務(wù)損失的惡性循環(huán)。另一方面,可持續(xù)性軟件開發(fā)允許工程師在復(fù)雜性不斷增加的情況下不斷改進(jìn)他們的服務(wù)。他們創(chuàng)建的可持續(xù)軟件比傳統(tǒng)產(chǎn)品使用更少的人力和硬件資源。
以下是可持續(xù)軟件的主要優(yōu)勢(shì):
- 環(huán)保。可持續(xù)的軟件開發(fā)實(shí)踐需要環(huán)境友好,因此對(duì)環(huán)境破壞較小。到 2030 年,數(shù)據(jù)中心將消耗全球 8% 的電力,計(jì)算機(jī)系統(tǒng)的碳足跡也在穩(wěn)步增長(zhǎng)。因此,現(xiàn)在開始減少由 ICT 造成的資源消耗和排放至關(guān)重要。
與數(shù)據(jù)中心運(yùn)營(yíng)相關(guān)的環(huán)境影響(美國(guó))
??(來源)??
- 件可持續(xù)性確保采用全新的工程方法。可持續(xù)軟件工程雖然側(cè)重生態(tài),但也徹底改變了SDLC方法??沙掷m(xù)性也是對(duì)技術(shù)團(tuán)隊(duì)工作的優(yōu)化,經(jīng)理們無需在周末加班趕進(jìn)度,而是真正提高了生產(chǎn)力。他們可以把時(shí)間花在組織更智能的工作上,以便享受日后更高的效率。
??(來源)??
- 可持續(xù)發(fā)展軟件通過更積極高效的團(tuán)隊(duì)來增加收入。當(dāng)技術(shù)團(tuán)隊(duì)覺得他們開發(fā)的產(chǎn)品能為社會(huì)帶來真正價(jià)值時(shí),就會(huì)有更高的積極性。他們提供更具創(chuàng)造性和更高效的解決方案,從而產(chǎn)生更多利潤(rùn)。
- 可持續(xù)編程表明了對(duì)最終用戶和業(yè)務(wù)伙伴的重視。提供可持續(xù)軟件的公司聲譽(yù)更好。消費(fèi)者認(rèn)為這些品牌更可靠,并且通過使用這樣的解決方案,會(huì)對(duì)他們有積極影響。
- 可持續(xù)發(fā)展軟件可降低維護(hù)費(fèi)用。由于可持續(xù)軟件減少了服務(wù)器上負(fù)載,且消耗功率更少,因此它更具成本效益。這對(duì)最終用戶和產(chǎn)品所有者都很重要。
- 可持續(xù)規(guī)劃可減少因遵守新法規(guī)而產(chǎn)生的意外成本。在接下來的幾十年里,我們將看到許多限制碳排放和資源過度使用的新規(guī)定?,F(xiàn)在就設(shè)計(jì)可持續(xù)軟件可以為未來做好準(zhǔn)備,并簡(jiǎn)化合規(guī)性方面的付出。當(dāng)政府通過此類法規(guī)時(shí),你無需重建產(chǎn)品就能滿足要求。
- 軟件工程的可持續(xù)性讓公司成為理想工作場(chǎng)所。當(dāng)人們?cè)诳紤]加入一個(gè)公司時(shí),如果知道他們的工作將有助于實(shí)現(xiàn)這個(gè)美好理念,就可能作出加入公司的決定。在競(jìng)爭(zhēng)激烈的勞動(dòng)力市場(chǎng)中,這種優(yōu)勢(shì)至關(guān)重要,因?yàn)楹细竦娜肆Y源總是有限的。
最后,如果想與市場(chǎng)頭部競(jìng)爭(zhēng),所有科技公司都應(yīng)確保軟件的可持續(xù)性。遵循可持續(xù)發(fā)展原則,你的產(chǎn)品也會(huì)一直前進(jìn)。這些產(chǎn)品將具有足夠的靈活性,從而能夠適應(yīng)不斷變化的市場(chǎng)環(huán)境,而這樣的市場(chǎng)總是對(duì)優(yōu)化的需求更為迫切。
實(shí)現(xiàn)軟件可持續(xù)性的 3 個(gè)主要步驟
軟件可持續(xù)性需要對(duì)軟件開發(fā)最佳實(shí)踐、模型和方法進(jìn)行革新。為了確保軟件工程的可持續(xù)性,團(tuán)隊(duì)需要衡量產(chǎn)品消耗的能源量,而大多數(shù)技術(shù)團(tuán)隊(duì)以前從未如此。因此,改變思維方式,變得更加環(huán)??赡芫哂幸欢ㄌ魬?zhàn)性。
編程如果要轉(zhuǎn)向可持續(xù),請(qǐng)按照以下建議步驟操作:
Step #1:為可持續(xù)發(fā)展軟件開發(fā)做好準(zhǔn)備,讓團(tuán)隊(duì)了解這一理念
很少有科技公司采用可持續(xù)的編程方法。他們專注于滿足當(dāng)前用戶需求,而未制定戰(zhàn)略性的軟件可持續(xù)發(fā)展計(jì)劃。因此,為了實(shí)現(xiàn)軟件工程的可持續(xù)性,就需要重建現(xiàn)有業(yè)務(wù)模型。
確保實(shí)施自動(dòng)化測(cè)試,避免過度設(shè)計(jì),并采用工具來計(jì)算軟件對(duì)環(huán)境的影響。
Step #2::使用綠色代碼進(jìn)行可持續(xù)編程
綠色代碼是為最小化算法的相對(duì)功耗而編寫的代碼。通過綠色編碼,物理服務(wù)器和系統(tǒng)的能源負(fù)載得以減少, 而這也是一種能夠?qū)崿F(xiàn)可持續(xù)編程的趨勢(shì)方法。
要?jiǎng)?chuàng)建綠色代碼,你需要:
- 針對(duì)高能耗和常見使用場(chǎng)景優(yōu)化功能
- 刪除未使用的功能和循環(huán)
- 通過更高效的緩存策略、最小化的數(shù)據(jù)交換和壓縮來優(yōu)化數(shù)據(jù)使用
- 根據(jù)設(shè)備的電源模式和工作條件調(diào)整應(yīng)用的工作方式
- 如果軟件包含 AI 功能,請(qǐng)選擇能耗較低的 ML 模型
Step #3: 評(píng)估產(chǎn)品影響
最后,你必須監(jiān)控所開發(fā)軟件的能耗,以確定可以優(yōu)化的模塊。這是一個(gè)逐步實(shí)現(xiàn)的過程,包含在整個(gè)可持續(xù)軟件工程周期。
可持續(xù)和綠色編程項(xiàng)目示例
科技行業(yè)的領(lǐng)頭羊是可持續(xù)軟件工程潮流的引領(lǐng)者。他們重視自己的商譽(yù),并了解自己對(duì)社會(huì)的影響。請(qǐng)查看以下示例,來了解下其他企業(yè)為軟件可持續(xù)性所做的工作。
蘋果
2020 年,蘋果承諾到 2030 年確保其產(chǎn)品和供應(yīng)鏈實(shí)現(xiàn)碳中和100% 。蘋果計(jì)劃將排放量減少75%,并為剩余25%的足跡開發(fā)創(chuàng)新的碳去除技術(shù)。蘋果還設(shè)計(jì)了一個(gè)為期10年的氣候路線圖,以降低排放。此外他們還表示,所有最近發(fā)布的iPhone,iPad,Apple Watch和Mac設(shè)備都會(huì)包含回收內(nèi)容。
沃爾瑪
為了減少浪費(fèi)和能源使用,全球最大的零售商沃爾瑪推出了多種數(shù)字化轉(zhuǎn)型。此外他們還采取措施,通過更先進(jìn)的可持續(xù)發(fā)展軟件解決方案來提高供應(yīng)鏈效率。
比如,沃爾瑪允許消費(fèi)者通過其移動(dòng)應(yīng)用程序完成移動(dòng)快遞退貨,買家可以在當(dāng)?shù)亓闶鄣陹呙瓒S碼來支付商品。由于自助服務(wù)減少了運(yùn)輸和相關(guān)二氧化碳排放,此舉不但節(jié)省了顧客時(shí)間還有利于生態(tài)。
2020年,F(xiàn)acebook發(fā)布了《凈零承諾》白皮書,這明確了Facebook對(duì)可持續(xù)軟件工程和資源謹(jǐn)慎管理的準(zhǔn)備。到2030年,在整個(gè)價(jià)值鏈中Facebook將實(shí)現(xiàn)溫室氣體凈零排放。
為了提高可持續(xù)性,F(xiàn)acebook還將循環(huán)經(jīng)濟(jì)原則納入其服務(wù)器硬件和消費(fèi)產(chǎn)品中。他們將可維修性和可回收性納入設(shè)計(jì)流程,并延長(zhǎng)硬件使用壽命。
技術(shù)行業(yè)領(lǐng)頭羊是整個(gè)行業(yè)的塑造者,因此軟件工程可持續(xù)性也是大勢(shì)所趨。所有進(jìn)入市場(chǎng)的科技公司和初創(chuàng)公司都應(yīng)遵循可持續(xù)原則,并設(shè)計(jì)出優(yōu)化的解決方案。
譯者介紹
朱鋼,51CTO社區(qū)編輯,2019年CSDN博客專家20強(qiáng),2020年騰訊云+社區(qū)優(yōu)秀作者,10年一線開發(fā)經(jīng)驗(yàn),曾參與獵頭服務(wù)網(wǎng)站架構(gòu)設(shè)計(jì),企業(yè)智能客服以及大型電子政務(wù)系統(tǒng)開發(fā),主導(dǎo)某大型央企內(nèi)部防泄密和電子文檔安全監(jiān)控系統(tǒng)的建設(shè),目前在BIM頭部企業(yè)從事招投標(biāo)軟件開發(fā)。
原文標(biāo)題:??Why Sustainability in Software Engineering Matters??,作者:Tetiana Paratsii