瀑布開發(fā)碍彭、敏捷開發(fā)晤硕、Devops概述
無論是瀑布式開發(fā)、敏捷開發(fā)還是DevOps庇忌,整個(gè)流程都分為設(shè)計(jì)舞箍、開發(fā)、測試和部署四個(gè)部分皆疹,只不過各個(gè)部分的開始和結(jié)束時(shí)間節(jié)點(diǎn)不同而已疏橄!下圖很好地解釋了這一點(diǎn)。
上圖中可以清晰地看到略就,從瀑布式開發(fā)到敏捷開發(fā)再到DevOps捎迫,各個(gè)階段的切換速度越來越快,瀑布式開發(fā)和敏捷開發(fā)的運(yùn)維部署工作都是放到最后表牢,而 DevOps 結(jié)合敏捷開發(fā)思想窄绒,將部署工作也敏捷起來。
瀑布開發(fā)
瀑布式開發(fā)是早期被廣泛采用的軟件開發(fā)模型崔兴,要求有明確的需求彰导,大家按照需求一步步做好規(guī)劃蛔翅,每一階段工作的完成是下一階段工作開始的前提,每一階段都要進(jìn)行嚴(yán)格的評審位谋,保證各階段的工作做得足夠好時(shí)才允許進(jìn)入下一階段山析,它適用于需求明確的項(xiàng)目。其最大的風(fēng)險(xiǎn)是倔幼,當(dāng)產(chǎn)品研發(fā)完成后, 到了產(chǎn)品測試階段如果發(fā)現(xiàn)了問題 爽待,或者發(fā)現(xiàn)其無法滿足市場需求损同, 那么就需要重新開發(fā),甚至需要重新規(guī)劃產(chǎn)品鸟款。
敏捷開發(fā)
敏捷開發(fā)是一種以用戶需求進(jìn)化為核心膏燃、迭代、循序漸進(jìn)的開發(fā)方法何什。首先把用戶最關(guān)注的軟件原型做出來并交付給用戶组哩,用戶在實(shí)際場景中發(fā)現(xiàn)問題并給予反饋,研發(fā)人員快速修改彌補(bǔ)需求中的不足处渣。上述過程不斷迭代伶贰,直到用戶滿意。敏捷適用于需求不明確罐栈、創(chuàng)新性或者需要搶占市場的項(xiàng)目黍衙,特別適合互聯(lián)網(wǎng)項(xiàng)目。
DevOps
DevOps是一種軟件開發(fā)實(shí)踐荠诬,它將人員琅翻、流程和技術(shù)結(jié)合在一起,以交付持續(xù)的價(jià)值柑贞。該方法分為計(jì)劃和跟蹤方椎、開發(fā)、生成和測試钧嘶、交付以及監(jiān)視和操作棠众。DevOps 的獨(dú)特之處在于開發(fā)、IT 運(yùn)營有决、質(zhì)量工程和安全團(tuán)隊(duì)協(xié)同工作摄欲,在發(fā)布新產(chǎn)品、版本或更新所涉及的所有任務(wù)中創(chuàng)造效率疮薇。
DevOps和敏捷
關(guān)于 DevOps 和敏捷胸墙,最重要的一點(diǎn)是它們不是互斥的。DevOps 是一種文化按咒,促進(jìn)所有參與軟件開發(fā)和維護(hù)的參與者之間的協(xié)作迟隅。敏捷可以被描述為一種開發(fā)方法但骨,旨在需求不斷變化的現(xiàn)實(shí)中維護(hù)工作效率和驅(qū)動(dòng)發(fā)布。盡管 DevOps 和敏捷是不同的智袭,但是如果將這兩種方法結(jié)合使用奔缠,將會(huì)帶來更高的效率和更可靠的結(jié)果。DevOps是敏捷的有效補(bǔ)充吼野,是將運(yùn)維納入產(chǎn)品開發(fā)過程的思維方式校哎,是敏捷開發(fā)方法論的升級,更強(qiáng)調(diào)自動(dòng)化工具的實(shí)現(xiàn)與應(yīng)用瞳步,以幫助實(shí)現(xiàn)軟件的快速迭代闷哆。