之前,小編在《從瀑布式到 DevOps,開發(fā)流程經(jīng)歷了什么?》一文中,梳理了軟件開發(fā)流程的大致演變過(guò)程。
其實(shí),在早期軟件開發(fā)還是“小作坊”作業(yè)的時(shí)候,沒(méi)有形成所謂的開發(fā)流程方法論,開發(fā)特別倚重個(gè)人能力,大多都雜亂無(wú)章,所以效率也不高。
20 世紀(jì) 70 年代,從瀑布式開發(fā)開始,開發(fā)流程有了一套自己的方法論。一路發(fā)展演進(jìn),先后涌現(xiàn)了敏捷和 DevOps 等新興理念??梢钥闯龅氖?軟件開發(fā)規(guī)模越來(lái)越大,要求的速度卻越來(lái)越快。
01 開發(fā)流程正在“提效”路上一去不回頭
上世紀(jì)50年代,一種項(xiàng)目管理三角(也稱的三重約束、鐵三角或項(xiàng)目三角)的模型開始被人們廣泛使用。

三角模型被用來(lái)約束項(xiàng)目的發(fā)展過(guò)程,它認(rèn)為:
質(zhì)量工作是由該項(xiàng)目的預(yù)算、時(shí)間和功能來(lái)限制;
項(xiàng)目經(jīng)理可以約束之間的平衡;
一個(gè)約束的變化需要其他約束的變化來(lái)補(bǔ)償,否則質(zhì)量將受到影響。
例如,可以通過(guò)增加預(yù)算或縮小范圍來(lái)更快地完成項(xiàng)目。同樣,增加范圍可能需要相應(yīng)增加預(yù)算和進(jìn)度。削減預(yù)算而不調(diào)整時(shí)間表或范圍會(huì)導(dǎo)致質(zhì)量下降。也就是說(shuō),好、快、便宜(范圍、時(shí)間和成本),只能選擇兩個(gè)。
在早期,瀑布式開發(fā)與三角模型相關(guān)聯(lián),由此表明:軟件開發(fā)可以由應(yīng)用程序創(chuàng)建或構(gòu)建所花費(fèi)的時(shí)間長(zhǎng)度來(lái)定義。
然而,在當(dāng)時(shí),創(chuàng)建、測(cè)試和部署軟件通常需要很長(zhǎng)時(shí)間,因?yàn)樵陂_發(fā)過(guò)程中沒(méi)有制衡。結(jié)果是軟件質(zhì)量不佳,存在缺陷和錯(cuò)誤以及未滿足的時(shí)間表。因此,瀑布式開發(fā)的重點(diǎn)是軟件項(xiàng)目的長(zhǎng)期計(jì)劃。
這種思維方式來(lái)自制造和工程,其中線性過(guò)程是有意義的——你先建墻,再建屋頂。同樣,軟件開發(fā)問(wèn)題被視為可以通過(guò)計(jì)劃解決的問(wèn)題。從開始到結(jié)束,開發(fā)過(guò)程都由路線圖明確定義,路線圖將導(dǎo)致產(chǎn)品的最終交付。
但是,瀑布式被認(rèn)為是對(duì)軟件開發(fā)有害的,因?yàn)橥ǔV钡巾?xiàng)目周期的最后階段才能確定其價(jià)值,并且在許多情況下項(xiàng)目都失敗了。此外,客戶直到項(xiàng)目結(jié)束才能看到可運(yùn)行的軟件。
事情在敏捷時(shí)代發(fā)生了改變。
敏捷采取了一種不同的方法,不再規(guī)劃整個(gè)項(xiàng)目,承諾預(yù)計(jì)日期,并對(duì)計(jì)劃負(fù)責(zé)。而是假設(shè)并擁抱不確定性,改變被認(rèn)為是滿足客戶需求的一種方式。
它定義了以下12條原則:
(引用)
1.我們的首要任務(wù)是通過(guò)早期和持續(xù)交付有價(jià)值的軟件來(lái)滿足客戶。
2. 歡迎不斷變化的需求,即使是在開發(fā)后期。
3. 敏捷流程利用變化來(lái)獲得客戶的競(jìng)爭(zhēng)優(yōu)勢(shì)。
4. 頻繁地交付可工作的軟件,從幾周到幾個(gè)月不等,優(yōu)先考慮較短的時(shí)間范圍。
5.業(yè)務(wù)人員和開發(fā)人員必須在整個(gè)項(xiàng)目中每天一起工作。
6.圍繞積極的個(gè)人建立項(xiàng)目。
7. 為他們提供所需的環(huán)境和支持,并相信他們會(huì)完成工作。
8. 向開發(fā)團(tuán)隊(duì)和在開發(fā)團(tuán)隊(duì)內(nèi)部傳達(dá)信息最有效的方法是面對(duì)面交談。
9. 工作軟件是進(jìn)度的主要衡量標(biāo)準(zhǔn)。
10. 敏捷流程促進(jìn)可持續(xù)發(fā)展。贊助商、開發(fā)者和用戶應(yīng)該能夠無(wú)限期地保持恒定的步伐。
11、對(duì)卓越技術(shù)和良好設(shè)計(jì)的持續(xù)關(guān)注可提高敏捷性。
12、團(tuán)隊(duì)定期反思如何提高效率,然后相應(yīng)地調(diào)整和調(diào)整其行為。
詳情可查看敏捷宣言網(wǎng)頁(yè):https://agilemanifesto.org/principles.html
從敏捷開始,短時(shí)間和高效率成為開發(fā)理念中的一個(gè)重點(diǎn)。而 DevOps 則更進(jìn)一步。
某種程度上,DevOps 是一種文化、一種心態(tài)、一種軟件開發(fā)或基礎(chǔ)架構(gòu)的方式,以及一種構(gòu)建和部署軟件和應(yīng)用程序的方式。其中的精髓是:開發(fā)和運(yùn)維之間沒(méi)有墻;它們同時(shí)工作,沒(méi)有孤島。
DevOps 正是基于精益和敏捷兩個(gè)實(shí)踐領(lǐng)域。雖然敏捷和 DevOps 有很多不同之處,但它們都尋求解決復(fù)雜問(wèn)題、提高質(zhì)量并圍繞軟件設(shè)計(jì)進(jìn)行創(chuàng)新。
與此同時(shí),DevOps 加快了開發(fā)和運(yùn)維人員之間的工作,還減少了Dev 和 Ops 之間的分工。這是因?yàn)镈evOps 要求持續(xù)部署、交付和集成。團(tuán)隊(duì)合作是一體的;問(wèn)題和故障由開發(fā)、運(yùn)維和其他實(shí)體共同擁有,例如質(zhì)量保證(QA)、測(cè)試、自動(dòng)化等。

敏捷與 DevOps 的區(qū)別
總的來(lái)說(shuō),無(wú)論是敏捷還是DevOps,都旨在幫助團(tuán)隊(duì)更快、更高效地工作,更快地交付高質(zhì)量產(chǎn)品和提高客戶滿意度。
02 天下武功唯快不破!
在敏捷時(shí)代,一批輕量的軟件工程方法和框架相繼誕生,它們共同的特點(diǎn)是,相對(duì)傳統(tǒng)軟件工程,都遵循演進(jìn)和迭代的模型,過(guò)程更加輕量靈活,以 Scrum 和極限編程 (ExtremeProgramming) 為代表。
早期的敏捷專注的是研發(fā)交付階段,站在業(yè)務(wù)的角度,它的目標(biāo)是幫助產(chǎn)品和研發(fā)團(tuán)隊(duì)提升敏捷響應(yīng)能力。但在 DevOps 時(shí)代,IT 不僅要保證產(chǎn)品的開發(fā)和交付,系統(tǒng)部署和運(yùn)行同樣重要 。在敏捷開發(fā)的理念之上,又補(bǔ)上了運(yùn)維的部分。
目前,DevOps 仍處于高速發(fā)展階段。南京大學(xué)軟件研發(fā)效能實(shí)驗(yàn)室發(fā)布的DevOps ·云原生2021年度中國(guó)調(diào)查報(bào)告》顯示,2021年國(guó)內(nèi)企業(yè)的 DevOps 工具的普及程度較2019年有明顯上升趨勢(shì)。
因此,為了達(dá)到更快更好的開發(fā)目標(biāo),不斷有新式的開發(fā)工具涌現(xiàn)出來(lái)。
一方面,不同工具在各領(lǐng)域全面開花,一起助推 DevOps 的落地。比如JIRA、Trello等敏捷開發(fā)工具,Maven、NPM、Gradle等持續(xù)交付工具,Zabbix、Elastic、Grafana、Kafka、Ansible、Logstash、Prometheus等自動(dòng)運(yùn)維工具等等。
另一方面,一些集大成的工具也同時(shí)應(yīng)用自動(dòng)化、AI等技術(shù),以更好地實(shí)現(xiàn)功能。其中,飛算SoFlu 全自動(dòng)軟件工程平臺(tái)便是其中的一個(gè)代表。
飛算SoFlu是近年發(fā)布的新一代 JAVA 開發(fā)工具,截至目前已在包括醫(yī)療、金融、制造、零售等在內(nèi)的多個(gè)行業(yè)使用。
全自動(dòng)平臺(tái)可以通過(guò)降低準(zhǔn)入門檻、人力成本和溝通成本,來(lái)極大提升企業(yè)的開發(fā)效率。以工具為核心,制訂好管理流程,利用科學(xué)的管理方法,讓程序員在操作工具時(shí)有規(guī)可循,從而降低管理風(fēng)險(xiǎn)和溝通風(fēng)險(xiǎn)。
以某大型國(guó)有企業(yè)開發(fā)的“百萬(wàn)人使用級(jí)別的電商平臺(tái)”項(xiàng)目為例。此前,該企業(yè)組建數(shù)十人團(tuán)隊(duì)完成開發(fā),上線后卻在功能性、穩(wěn)定性、安全性等方面問(wèn)題不斷,且無(wú)法在短期內(nèi)修復(fù)。在使用飛算 SoFlu 全自動(dòng)軟件工程平臺(tái)后,該企業(yè)僅投入 6 位研發(fā)人員 45 天就高效完成開發(fā)、測(cè)試、聯(lián)調(diào)、上線全流程任務(wù)。
具體來(lái)說(shuō),單就Excel表格文件解析這個(gè)高頻開發(fā)功能,這在之前,即使是一個(gè)經(jīng)驗(yàn)豐富的程序員,也至少需要花費(fèi)半天時(shí)間。但是飛算能夠?qū)r(shí)間壓縮到以分鐘計(jì)算:
1. 編程邏輯流程化,十分鐘完成開發(fā),完全不用敲代碼,拖拉拽即可完成后端開發(fā)。
2. 豐富的組件支持,涵蓋數(shù)據(jù)庫(kù)、redis、api、mongoDB、子流程組件等,支持循環(huán)、條件判斷、函數(shù)調(diào)用,通過(guò)拖拉拽的方式以及參數(shù)配置實(shí)現(xiàn)等同編寫復(fù)雜代碼的業(yè)務(wù)邏輯。
3.函數(shù)齊全,各種API函數(shù)應(yīng)有盡有,快速解決業(yè)務(wù)及功能上的各種需求。

特別提醒:本網(wǎng)信息來(lái)自于互聯(lián)網(wǎng),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- RakSmart服務(wù)器成本優(yōu)化策略
- 2025年國(guó)內(nèi)免費(fèi)AI工具推薦:文章生成與圖像創(chuàng)作全攻略
- 自媒體推廣實(shí)時(shí)監(jiān)控從服務(wù)器帶寬到用戶行為解決方法
- 站長(zhǎng)必讀:從“流量思維”到“IP思維”的品牌升級(jí)之路
- 從流量變現(xiàn)到信任變現(xiàn):個(gè)人站長(zhǎng)的私域運(yùn)營(yíng)方法論
- 傳統(tǒng)網(wǎng)站如何借力短視頻?從SEO到“內(nèi)容種草”的轉(zhuǎn)型策略
- AI時(shí)代,個(gè)人站長(zhǎng)如何用AI工具實(shí)現(xiàn)“一人公司”
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑