來源:中國電商物流網 發布時間:2019-9-18 8:24
AI時代,程序員不止是高薪職業,也可能是高危職業,除了伴隨著高脫發風險外,最近,程序員吳小胖還吐槽了AI時代開發者淪為“背鍋俠”的故事:
小胖的好友老王買了輛自動駕駛汽車,本以為可以帶著女生兜兜風,沒想到,智能系統無止境地在線升級,生生把女生氣走、把老王氣暈在車里。
故事的結局也很清奇,自動駕駛在線升級完成,可能因為太過智能或太過自信,直接帶著昏睡的老王沖進了常去的理發店“植發人生”……
出現了這樣大的Bug,想必程序猿們免不了又要背鍋了......
軟件開發少了可信之后…
當然,軟件安全無小事,以上情節也反應了當下人們對自動駕駛普及后的一種擔憂。但其實這并非是完全暢想,以自動駕駛、車聯網為代表的萬物互聯時代正在快速到來。那時,軟件不可信帶來的后果可不是像這般損失一個訂單那么簡單,而是對道路安全、人的安全形成前所未有的挑戰。
看到這也許有人仍然有疑問,忽略軟件可信開發真的會造成那么嚴重性的后果?我們不妨把視角拉回到現在。今年年初,美國大眾點評“Yelp”就發生了一起事件。這家全球最大的美食點評公司訓練了一個神經網絡去清除App上的bug,出乎開發者意料的是這個具有“極度智能”的工具,竟然把數據庫中所有的數據都刪除了。也許它的邏輯是:“既然讓我清除程序bug,我把所有數據清除,自然就不存在bug了!”遭AI刪庫,顯然對Yelp造成了重大損失。
還有一件因軟件開發不可信造成的更嚴重的事件發生在今年3月,一架埃塞俄比亞航空公司波音737 MAX 8客機意外墜毀,原因指向波音為737 MAX專門設計的防失速系統——“機動特征增強系統(MCAS)”存在明顯bug。由于737 MAX的單一傳感器提供的信息不準確導致飛控電腦容易發生誤判使機頭下推,而MCAS的預先設置,使得飛行員無法用手動方式改變這一錯誤。最終,埃塞俄比亞航空飛行員與MCAS經過多次“搏斗”無果,釀成災難后果。
所以說來,軟件中一行行代碼就像是高樓大廈的一磚一瓦,沒有高質量的代碼,可信的產品如同空中樓閣。而我們也要轉變觀念,追求打造可信的高質量產品,不僅僅是功能、特性的高質量,也包括產品開發到交付過程的高質量。尤其在如今軟件定義一切的發展趨勢下,忽略可信開發造成的影響或后果越來越大,甚至不可挽回。
可信軟件開發的關鍵特性
那么,到底什么是可信軟件,可信開發又有哪些特性?
資深軟件開發專家和軟件質量管理專家,Agilenty Consulting Group公司CEO Bijay K.Jayaswal和Agilenty Consulting Group公司董事長Peter C. Patton合著的《可信軟件設計》一書對類似的概念做出了描述,書中詳細介紹了更節省成本、更快交付、更好用的綜合軟件開發技術——可信軟件設計(DFTS),該技術可在早期解決軟件質量問題,使軟件質量管理目標變成預防在實施階段產生bug,而不是在中后期發現和修復bug。
而按照《Software Engineering》10th edition和其他相關標準的基本定義,可信(Trustworthiness)包括5個基本維度,如下圖:
Safety:系統對人和系統的環境不會造成危害的可能性。
Reliability:系統在給定的時段內能正確提供用戶希望的服務的可能性。
Availability:系統在任何時間都能運行并提供有用服務的可能性。
Security:系統有良好的抗攻擊能力,具備抵抗入侵的可能性。
Resilience:當出現一些干擾性事件時,系統保持其關鍵服務繼續正常運行的可能性。
以上5個維度,并不是孤立的,對于軟件產品而言,它們往往是相輔相成的。
所以安全性、可靠性、可用性、韌性等一系列產品功能之外的內在特征表現,意味著可信軟件不僅僅是產品外在表現的高質量結果,更是產品內在實現的高質量過程,是結果和過程的雙重可驗證的高質量。而只有全面提升軟件工程能力和實踐,改變只重視功能結果、不重視代碼質量的行為習慣,才有可能打造出可信的高質量產品。
軟件工程的新階段
事實上,軟件工程發展到今天,為社會經濟發展做出了巨大貢獻,它賦予了各行各業更強的產品創新能力、產品設計能力以及產品制造能力。面向AI時代,軟件發揮的作用更加重要,從消費互聯網到產業互聯網,人們對軟件工程提出更高的要求,即軟件產品如何做到可信賴?
從軟件工程的發展歷程來看,可信這一問題實際上是缺失的。例如第一階段的軟件開發萌芽期,當時的主旋律是借鑒硬件制造,管理軟件開發過程中的偏差,重點解決的是軟件開發的質量、可控、有序的問題,包括CMM、面向對象、瀑布開發等;第二階段,隨著敏捷及DevOps等理念的出現,更注重解決軟件開發的效率和速度問題。
所以,每個階段的軟件工程都為滿足時代需求有著自身的核心關注點。而當下,這個關注點轉移到了軟件產品的質量和是否可信上,尤其隨著AI時代的來臨,它成為軟件開發者面臨的一個新考驗。
在軟件可信開發方面,不得不提一個關鍵角色——華為。從去年開始,從很多公共的渠道,業內對于華為在內部啟動的軟件工程變革已經有所耳聞。
今年年初,華為創始人任正非簽發的總裁辦2019一號文正式拉開了全面提升軟件工程能力與實踐、打造可信的高質量產品的序幕。為此,華為還宣布投入20億美元,計劃用5年時間,在ICT基礎設施領域實現為客戶打造可信的高質量產品的目標。
到今天,華為已啟動從上到下的軟件工程變革,包括從可信的產品定義和路標、可信設計、可信代碼、可信軟件工程能力(構建,發布,追溯),到可信測試、可信運維、可信Build-in流程、文化等全方面的可信軟件產品體系構建甚至重構。
站在局外人的角度,通常認為華為的軟件工程已經做得相當不錯了,但是為什么還要進行如此大規模的戰略投資?特別作為廣大開發者中的一員,又如何站在華為的平臺之上,加入這一場關于軟件可信開發的變革步伐中來?
萬眾矚目的2019華為全聯接大會即將在9月18日-9月20日上海世博中心召開,期待加入20日的開發者專場,一起聆聽“華為云DevCloud:AI與可信,軟件開發的新思考”。您將獲得如何在華為云DevCloud上進行可信開發的制勝秘笈。此外,還有人工智能、深度學習、微服務等多種開發領域的熱點議題。
點擊華為全聯接大會官網,注冊大會賬號購票吧!!!
https://www.huawei.com/cn/press-events/events/huaweiconnect2019?ic_medium=hwdc&ic_source=corp_event2_hc2019