精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么現在開發一款軟件的時間越來越長?

新聞 前端
為什么開發軟件這么貴?為什么我的團隊交付軟件的速度這么慢?為什么我的軟件發布趕不上計劃?為什么開發一個軟件要花這么長時間?

 為什么開發軟件這么貴?為什么我的團隊交付軟件的速度這么慢?為什么我的軟件發布趕不上計劃?為什么開發一個軟件要花這么長時間?

我們之所以一遍又一遍地聽到上述問題,背后是有原因的。為了保持競爭力,企業每天都需要新的軟件功能,但隨著時間的流逝,我們交付軟件的速度似乎停滯不前,或者更糟,變得更慢了。

我想解釋為什么會這樣。不過,為了探討這個話題,需要先了解一個我最關心的話題:本質復雜性和偶發復雜性。

[[351187]]

1. 不同類型的復雜性

任何時候,當你在解決一個問題,不僅僅是軟件問題,都有兩種類型的復雜性:

本質復雜性——這是包含在問題中的復雜性。如果不解決這種復雜性,就無法解決問題。它也被稱為內在復雜性。

偶發復雜性——這是用來解決問題的方法和工具所帶來的復雜性。這種復雜性不是你要解決的問題的一部分,而是在解決方案中引入的復雜性。它也被稱為偶然復雜性。

IBM 360 系統之父 Fred Brooks 在經典論文“沒有銀彈:軟件工程的本質性與附屬性工作”中提出了這個概念。可以這么想,如果你要解決一個數學問題,本質復雜性就是指對數學的了解,因為只有懂數學才能解題。如果你想解決這個問題,要么學習所需的數學知識,要么找個懂數學的人幫忙。如果你想解決這個問題,就無法逃過學習數學這一關。

2. 偶發復雜性

我們假設,這是一個頗具挑戰性的數學問題,完全用人腦來解決是徒勞的,所以需要使用計算器。這就是偶發復雜性。還記得第一次使用圖形計算器的情形嗎?在這個時候,偶發復雜性就是學習如何在計算器上輸入所有復雜的數學信息來幫你解決問題。你不一定要使用計算器,但你知道它對你有用,而且不會太難學。

現在,我們假設你對 Mathematica 很熟悉。Mathematica 是一個非常強大和復雜的軟件,不過既然你已經知道它了,就決定用它來解決問題。你在學習 Mathematica 上投入了很多,所以不需要很多額外的努力,只是增加了解決方案的偶發復雜性。

幾周后,你的一位同事遇到類似情況,他記得你曾經解決過一個類似問題。他們來找你,看你是如何解決問題的,然后你把 Mathematica 發給他們。你認為這個時候會發生什么?你認為他們會去學習數學嗎?不,他們會想出另一種解決問題的方法,或者試圖讓你替他們解決問題。

正如你所看到的,這兩種復雜性來自不同的地方,但它們之間有著緊密的聯系。如果不引入一些偶發復雜性,就無法解決問題。即使是一支鉛筆和一張紙也會帶來一些微不足道的偶發復雜性。

如果沒有偶發復雜性,就無法解決問題。

3. 它在軟件領域是怎樣體現的

這可能會讓你感到驚訝,在過去 20 年中,軟件領域本質復雜性與偶發復雜性比率在急劇下降。David Heinemeier Hansson(Ruby on Rails 之父)用“概念壓縮(conceptual compression)”這個詞來描述這種趨勢以及它是如何讓我們的行業變得更好的。在過去的 20 年中,開源框架和庫的激增是減少軟件系統偶發復雜性最強大的力量。

與 20 年前相比,解決業務問題所需的代碼量已經減少了一個數量級,因此你可能會認為開發軟件將比那時快一個數量級。但這種情況似乎并沒有發生,為什么會這樣?

軟件變得越來越容易開發,但與此同時,其他現象也在發生:

  • 我們對軟件的要求越來越高
  • 公司內部的軟件數量呈爆炸式增長
  • 采用新技術的步伐正在加快

4. 我們對軟件的要求越來越多

盡管我們正在利用越來越多的外部工具和庫來開發軟件,讓軟件開發變得越來越容易,但我們對軟件的要求也越來越高,僅這一點就抵消了大量的收益。如果我們用現代工具來開發 2000 年代的 Web 應用程序,會看到軟件開發的生產力有十倍 (或更多) 的提升。

但我們的世界并沒有停滯不前,消費者和企業對軟件的期望一直在迅速增長。我們期望軟件能比 20 年前做得更多。當我們開發出這些更大型、功能更豐富的應用程序時,為了保持它們的可靠性、功能性和可理解性,不得不改變軟件的開發方式。

以下是我們在過去 20 年里看到的幾個行業變化:

源碼控制——源碼控制一直都存在,但并不像現在這么普遍。不認為這增加了偶發復雜性?那就去問問第一次使用 Git 的初級工程師,他們是怎么想的。

自動化測試——我們引入了很多測試類型和測試工具。我們需要進行驗收測試、集成測試、單元測試等等……這給項目帶來了大量的偶發復雜性,但有助于確保交付的軟件是高質量的,且功能是符合預期的。

拆分系統——隨著系統復雜性的增加,組件之間連接和交互的量會呈二次級數增長。也就是說,在某種程度上,如果軟件設計得不好,交互量將會繼續增長,直到因為自身的復雜性而垮掉。拆分系統,特別是進行分布式拆分,會帶來大量的意外復雜性。

專門化——隨著 Web 應用程序變得越來越復雜,出現了大量的專門化。在 2000 年,由軟件工程師負責 UI 設計、UI 構建和應用程序后端構建都是很常見的事,而到了 2020 年,這些工作需要幾個角色分別承擔。開發 Web 應用程序的團隊通常由 UI 設計師、UX 設計師、前端軟件工程師、后端軟件工程師和 DevOps 工程師組成。在較大的組織中,會有更加專門化的角色,如安全、架構、數據管理、數據科學,等等……所有這些額外的角色讓我們能夠開發更大規模的軟件,但所需的工具和流程了引入大量的偶發復雜性。

基礎設施自動化——為了構建更大型、更復雜的環境來運行越來越多的應用程序,我們已經開始自動化它們的構建和維護過程。這樣我們就可以更容易地進行大規模的環境管理,但需要一整套工具和知識。這些工具帶來的復雜性是巨大的,導致 DevOps 成為大多數大型團隊的專門角色。

頻繁部署——由于應用程序的大小和復雜性都在增長,為了降低風險,我們需要以較小的增量交付軟件。為此,我們引入了持續集成和持續部署的概念。同樣,這對于大規模交付軟件來說是非常好的,但用于構建和操作這些管道所需的工具和技能引入了偶發復雜性。

多設備和形式因素——在以前,我們可以說,我們的軟件運行在一個操作系統上,只有少數的幾種分辨率。現在,我們的應用程序需要在臺式機、筆記本電腦和跨平臺的移動設備上運行。通常,我們會有原生移動應用程序和 Web 應用程序,或許還可以加入一些物聯網應用程序和手表應用程序。我們在訪問數據的位置和方式上有了巨大的靈活性,改變了我們的社會,但無疑增加了軟件開發過程的復雜性。

5. 企業內部的軟件爆炸

在閱讀上一個小節前,你可能已經非常清楚,人們對軟件要求越來越多以及越來越多的軟件開發形式會導致復雜性的增加。但是,從單個應用程序的角度來看,企業擁有更多的軟件會增加開發單個應用程序的復雜性嗎?

答案很簡單:不會,除非你想讓這個軟件與其他軟件發生交互。一家公司使用的軟件越多,系統之間的重疊就越多,不同的系統需要訪問相同的數據才能正常運行,這就需要為更多的系統保存共享數據,并將所有系統集成起來。

舉個例子,假設在 2000 年,你是一家辦公椅生產商,那個時候你還沒有網絡系統。你需要為公司建立一個庫存系統,所以需要開發軟件來完成這件事。庫存系統的用戶是倉庫工作人員,你可以通過生成夜間報告來獲得庫存信息,這些報告也可以被發送給整個公司的人。這個系統相對獨立,報告功能對于每一個人來說都沒有什么問題。

時間快進到 2020 年,你的庫存系統已經不是一個獨立的應用程序。你的合作伙伴可以直接將訂單推送到你的系統中,Web 頁面可以獲得實時的庫存更新,并在下單時更新庫存。你的庫存系統與物流系統直接集成,這樣就可以自動生成物流標簽和取貨時間表。你直接在亞馬遜上銷售你的產品,所以你的庫存系統直接與第三方軟件集成。倉庫的工作人員使用移動設備定位、掃描、登記和挑選商品,所以你還有一個用來完成這些事情的移動解決方案。

隨著系統的激增,并覆蓋了業務的各個方面,開始出現越來越多的重疊,一直到如果不與其他系統集成就無法滿足需求的地步。雖然這帶來了前所未有的生產力和自動化程度,但也給數據移動和集成引入了大量的偶發復雜性。

Marc Andreesen 提出了“軟件正在吞噬世界”的說法。這個過程正在加速,而且看不到盡頭。

https://a16z.com/2011/08/20/why-software-is-eating-the-world/

6. 采用新技術的步伐正在加快

在 2000 年,你通常會從單個廠商那里購買系統,如微軟、Sun 或 Borland,你還可能還會購買一些組件,但不管怎樣,整個生態系統都是由單個廠商提供的。此時,你所采用和集成的外部工具和技術相對較少,你所能完成的任務被限制在廠商所提供的功能上。

為了跟上快速變化的技術格局,公司開始采用更開放的技術。這帶來了巨大的優勢,因為你可以用這些工具完成以前只能在夢中想一想的壯舉。但切換工具通常是有代價的,最終會在流程中引入很多偶發復雜性。

雖然使用前沿的技術可能會在某些方面獲得好處,但技術越新,維護的難度就越大。而且,越早采用一項技術,當它演化成為一項對廣大用戶都有用的技術時,你所經歷的痛苦就越多。如何平衡一項新技術所帶來的收益以及使用它所帶來的痛苦是技術專家們長期以來一直在努力解決的問題。

我們現在發現,挑選有用的工具、框架和技術是一項非常有價值的技能。如果不小心使用了未經驗證的新工具或框架可能會產生有害的影響。它們可能會導致大量的偶發復雜性,更糟糕的是,如果框架在跨越鴻溝之前死亡,就會把你帶入死胡同。

7. 還有希望嗎

關于為什么開發軟件需要的時間越來越長,原因還有很多,比如業務需要更快的迭代速度、企業架構標準或對安全性的重視程度,等等。但關鍵是,我們在 2020 年開發的軟件與在 2010 年開發的軟件幾乎沒有什么相似之處,更不用說在 2000 年了。在很大程度上,這是一件好事。

但也有不好的地方。我們似乎又回到了 2000 年到 2007 年,那時每個應用程序都是用同樣的工具開發的,而其中有很多工具變得越來越復雜。現在,很多流行的工具和框架都來自于大型企業,但它們解決的很多問題是其他企業不會遇到的。

正因為如此,很多中小型企業,甚至是大型企業的一些部門都發現,他們運行軟件的能力正在迅速下降,而且不知道如何扭轉局面。為了加快開發速度,他們已經開始轉向低代碼和無代碼,但在很多情況下,這也破壞了使用這些工具構建的系統的功能和壽命。

 

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2022-01-26 23:18:21

手機屏幕電池

2021-09-11 22:57:22

手機價格配置

2021-08-24 00:14:10

手機工具游戲

2021-10-10 21:31:09

手機數據體積

2021-09-10 10:14:22

手機廠商降價

2021-09-29 23:09:11

手機價格OPPO

2018-04-24 10:38:23

項目開發代碼

2021-08-03 11:09:41

智能手機功能技術

2019-10-28 15:10:31

懶人剪輯運動相機移動應用

2013-10-21 09:09:14

惡意App安全軟件手機病毒

2024-07-19 16:31:57

2020-12-14 13:18:20

微信空間清理文件

2022-06-16 20:56:53

邊緣計算

2018-08-23 22:00:18

編程語言PythonHTML5

2014-12-30 10:05:42

操作系統

2018-05-29 12:00:51

前端工作互聯網

2020-08-13 09:49:43

WAF應用安全網絡安全

2018-06-11 09:22:48

超融合存儲應用

2012-12-17 15:02:34

Linux操作系統

2015-12-28 13:37:14

云通信
點贊
收藏

51CTO技術棧公眾號

国产三级精品在线观看| 五月天开心婷婷| 青青青免费视频在线2| 欧美一级播放| 欧美xxxx做受欧美.88| 欧美夫妇交换xxx| 亚洲日本网址| 一区二区日韩av| 欧美高清性xxxxhd| 一级做a爱片久久毛片| 国产精品99久久| 亚洲精品短视频| 亚洲在线观看网站| 性爽视频在线| 一区二区三区成人在线视频| 麻豆传媒一区| www.国产免费| 美女视频网站久久| 韩国v欧美v日本v亚洲| 男女男精品视频网站| 精品欠久久久中文字幕加勒比| 日本韩国欧美一区二区三区| 免费观看国产视频在线| 精品无人乱码| kk眼镜猥琐国模调教系列一区二区| 国产精品自拍偷拍| 国产免费av一区| 国户精品久久久久久久久久久不卡| 一区三区二区视频| 亚洲精品女人久久久| 91嫩草国产线观看亚洲一区二区| 色婷婷综合激情| aa视频在线播放| 影音先锋中文在线视频| 中文字幕一区二区三中文字幕| 麻豆成人在线播放| 天天干天天操av| 成人一级黄色片| 97人人模人人爽人人喊38tv| 在线观看国产精品入口男同| 快she精品国产999| 欧美亚洲在线视频| 国产一级二级三级| 一本一道久久a久久精品蜜桃| 亚洲天堂av高清| 西西444www无码大胆| 免费福利视频一区| 亚洲国产精品免费| 95视频在线观看| 黑人久久a级毛片免费观看| 日韩欧美三级在线| 无码国产精品久久一区免费| 久久免费福利| 日韩欧美国产综合| 日本中文字幕有码| 中文字幕日韩在线| 欧美成人猛片aaaaaaa| 亚洲av无一区二区三区久久| 清纯唯美激情亚洲| 欧美成人bangbros| 日本精品一二三| 国产乱论精品| 精品视频在线导航| 免费看污片的网站| 日韩精品一区二区三区免费观看| 中文字幕在线观看日韩| 精品少妇一区二区三区密爱| 99国产精品免费视频观看| 久久视频精品在线| 久久久久国产精品夜夜夜夜夜| 欧美另类视频| 欧美最猛性xxxx| 欧美高清69hd| 国产乱子轮精品视频| 国产精品一区而去| 日韩电影免费| 国产精品护士白丝一区av| 91手机视频在线| 久草在线视频福利| 日韩欧美精品中文字幕| 不卡av免费在线| 国产精品777777在线播放| 日韩免费高清视频| 少妇毛片一区二区三区| 99久精品视频在线观看视频| 欧美日韩高清在线观看| 成人午夜淫片100集| 免费国产亚洲视频| 91九色对白| 青青草在线免费观看| 亚洲欧美自拍偷拍色图| 免费不卡av在线| 国产精品美女午夜爽爽| 欧美tickling网站挠脚心| 欧美偷拍一区二区三区| 午夜片欧美伦| 欧美与黑人午夜性猛交久久久| 国产精品无码一区| 成人av电影免费在线播放| 日韩理论片在线观看| 成人三级网址| 色妞www精品视频| 欧美一级大片免费看| 国产一区三区在线播放| 欧美精品videosex性欧美| 欧美成人精品网站| 成人av影院在线| 一区二区在线中文字幕电影视频| 国产99re66在线视频| 欧美日韩和欧美的一区二区| 黄色免费看视频| 亚洲无中文字幕| 国产精品欧美日韩一区二区| 人妻无码中文字幕| 亚洲色欲色欲www在线观看| 国产成人无码精品久久久性色| 久久亚洲精品中文字幕| 亚洲老头老太hd| 国产一卡二卡在线| 激情亚洲综合在线| 日本一区视频在线播放| 精品三级久久| 精品久久一二三区| www.av免费| 日本不卡的三区四区五区| 精品免费日产一区一区三区免费| 国产美女福利在线| 欧美三级视频在线| 欧洲女同同性吃奶| 中文日韩在线| 国产伦精品一区二区三区四区视频| 蜜桃视频网站在线观看| 欧美三区在线观看| 99精品欧美一区二区| 亚洲在线黄色| 精品一区在线播放| аⅴ资源天堂资源库在线| 欧美成人免费网站| 欧美成人一二三区| 国产一区二区三区精品欧美日韩一区二区三区| 日韩av电影免费播放| 男人最爱成人网| 亚洲毛片在线免费观看| 日韩av综合在线| 97国产精品videossex| 精品少妇人妻av免费久久洗澡| 99精品在免费线中文字幕网站一区 | 涩多多在线观看| 色喇叭免费久久综合| 国产精品久久久久久久av电影 | 久久久不卡网国产精品二区 | 嗯啊主人调教在线播放视频 | av片在线观看网站| 91精品国产色综合久久| 日韩在线观看视频一区二区| 国产一区二区精品久久91| 香蕉视频免费版| 成人免费在线电影网| 欧美精品第一页在线播放| 韩国av在线免费观看| 亚洲福中文字幕伊人影院| 7788色淫网站小说| 丝袜美腿一区二区三区| 一区二区三区欧美成人| 视频在线亚洲| 97国产精品久久| 国产专区在线播放| 欧美另类高清zo欧美| 欧美做爰爽爽爽爽爽爽| 成人精品视频一区| 国产日韩一区二区在线| 日韩国产一区二区| 91成人免费在线观看| av资源中文在线| 亚洲天堂网在线观看| 国产乱淫片视频| 亚洲成a人片综合在线| 亚洲一区二区乱码| 日本不卡视频在线观看| 九九久久九九久久| 久久久久影视| 国产日韩精品入口| 国产精品国精产品一二| 亚洲色图校园春色| 99久久国产免费| 精品露脸国产偷人在视频| 好吊视频在线观看| 国产精品一区二区x88av| 内射国产内射夫妻免费频道| 成人精品中文字幕| 国产精品福利视频| 视频精品导航| 国语自产在线不卡| 日韩精品黄色| 亚洲美女激情视频| 亚洲国产视频一区二区三区| 91久久国产综合久久| 久草免费在线视频观看| 国产日韩欧美不卡| a级片在线观看视频| 免费成人你懂的| 免费无遮挡无码永久视频| 欧美电影《轻佻寡妇》| 精品久久精品久久| av一级久久| 日本成人在线视频网址| 秋霞在线午夜| www国产精品视频| 日本私人网站在线观看| 日韩视频一区在线观看| 中文字幕一区二区在线视频 | 不卡伊人av在线播放| 日本又骚又刺激的视频在线观看| 在线播放一区二区三区| 亚洲乱码国产乱码精品| 亚洲国产综合色| 日韩三级久久久| 久久精品视频一区| 人体私拍套图hdxxxx| 国产一区二区三区在线看麻豆| 韩国一区二区av| 国产欧美日韩亚洲一区二区三区| 亚洲区成人777777精品| 日韩电影免费网站| 日本一区不卡| 亚洲激情播播| 免费av一区二区三区| 丁香一区二区| 高清视频一区二区三区| 久久视频社区| 亚洲一区亚洲二区亚洲三区| 欧美极品在线| 国产精品自产拍在线观看| 欧美日韩精品免费观看视完整| 97在线观看免费| 国产资源在线观看入口av| 欧美激情视频播放| 五月天激情在线| 精品自拍视频在线观看| av片在线观看永久免费| 欧美精品在线免费播放| 成人高清免费在线| 久久国产精品视频| 超碰在线最新| 欧美大肥婆大肥bbbbb| 在线观看免费视频你懂的| 九九视频这里只有精品| 呦呦在线视频| 97色在线观看| 三上悠亚激情av一区二区三区| 欧美亚洲另类视频| 日韩不卡在线| 国产区亚洲区欧美区| 日本精品久久| 91久久极品少妇xxxxⅹ软件| 成人动态视频| 欧美大陆一区二区| 国内精品久久久久久久影视简单| 视频一区视频二区视频| 日韩欧美网站| 国产成人生活片| 国产欧美一区二区三区国产幕精品| 免费在线观看亚洲视频| 日韩不卡一二三区| 天天综合天天添夜夜添狠狠添| 国产成人精品三级麻豆| 老司机免费视频| 国产三级三级三级精品8ⅰ区| 国产又粗又猛又爽又黄的视频四季| 国产精品国产自产拍高清av| 麻豆亚洲av成人无码久久精品| 五月婷婷另类国产| 无码一区二区三区| 欧美一区国产二区| 日本黄视频在线观看| 国产性猛交xxxx免费看久久| 久久99精品久久久久久野外| 97视频在线观看播放| julia一区二区三区中文字幕| 成人做爰www免费看视频网站| 1313精品午夜理伦电影| 日本一区二区三区免费看| 久久精品久久久| 免费看日本毛片| 另类专区欧美蜜桃臀第一页| 男男一级淫片免费播放| 日本一区二区三区dvd视频在线| 国产老头老太做爰视频| 精品欧美aⅴ在线网站| 91av久久久| 精品在线小视频| a级在线观看| 国产91在线播放九色快色| 国产视频一区二区在线播放| 久久免费视频1| 欧美色图麻豆| wwwwwxxxx日本| 91看片淫黄大片一级在线观看| 69夜色精品国产69乱| 色综合 综合色| 成人免费公开视频| 中文字幕亚洲情99在线| 国产精品69xx| 92国产精品久久久久首页| 美日韩中文字幕| 六月婷婷激情综合| 久久国产精品72免费观看| 麻豆精品国产传媒av| 亚洲免费在线播放| 日韩精选在线观看| 亚洲精品乱码久久久久久按摩观| 黄色网在线看| 国产精品一区二区三区成人| 网曝91综合精品门事件在线| www.亚洲成人网| 国产综合久久久久影院| 久久中文字幕精品| 欧美日韩综合视频网址| 亚洲精品成人区在线观看| 日韩一二三在线视频播| 电影亚洲精品噜噜在线观看 | 久久人体视频| 91av俱乐部| 久久免费看少妇高潮| 日韩精品一区二区三区国语自制| 欧美一级二级三级乱码| 日韩av中文| 成人国产精品一区二区| 日韩电影免费在线观看| youjizzxxxx18| 欧美极品aⅴ影院| 久久久久久无码精品大片| 亚洲人午夜精品免费| 一区二区三区电影大全| 精品国产乱码久久久久| 亚洲伦理精品| 国产草草浮力影院| 亚洲18色成人| 午夜小视频在线播放| 97视频在线看| 欧美在线关看| 精品人妻一区二区三区四区在线 | 日韩高清专区| 欧美亚洲三区| 亚洲成人黄色av| 欧美日韩亚州综合| 日本www在线观看视频| 91精品久久久久久久久久入口| 欧洲激情视频| 日韩高清第一页| 亚洲欧美日韩一区二区| 精品国产无码AV| 欧美高清视频在线观看| 国产精品115| 成人免费在线小视频| 久久精品一区二区| 最新国产中文字幕| xvideos成人免费中文版| 国产情侣一区在线| 欧美高清中文字幕| 91在线云播放| 日本中文字幕在线观看视频| 搡老女人一区二区三区视频tv| 91成人短视频在线观看| 国产性生活免费视频| 99久久国产综合精品麻豆| 免费无码国产精品| 色婷婷**av毛片一区| 视频在线一区| 天天摸天天碰天天添| 国产精品久久久久久久久免费丝袜 | 久草在线在线精品观看| 欧美三根一起进三p| 亚洲精品久久久久久久久久久久 | 97超碰人人看人人| 亚洲高清资源| 国产精品密蕾丝袜| 欧美一级生活片| 九色porny自拍视频在线播放| 日韩福利二区| 国产精品乡下勾搭老头1| 一级片中文字幕| 久久精品小视频| 精品自拍偷拍| 热久久久久久久久| 精品久久久一区二区| 黄av在线播放| 久久婷婷国产综合尤物精品| 激情欧美一区二区| 国产性xxxx高清| 久久精品99无色码中文字幕| 日韩激情网站| 特种兵之深入敌后| 色香色香欲天天天影视综合网| 草莓福利社区在线| 色一情一区二区三区四区| 成人免费毛片a| 国产一区二区小视频| 热久久99这里有精品| 欧美日韩免费观看一区=区三区|