|
英文原文:8 Principles of Continuous Delivery
- The process for releasing/deploying software MUST be repeatable and reliable.
軟件的發(fā)布或部署過程必須是可重復(fù)且可靠的。這就引出了下一條… - Automate everything!
所有操作的自動化!我很難相信“手工操作是可重復(fù)且可靠的”這種說法。所以一定要將所有重復(fù)性的操作變成自動化的,從而變得可靠。 - If somethings difficult or painful, do it more often.
如果某件事情做起來很困難或者讓你覺得很痛苦,那么就盡早且盡可能頻繁地去做。乍一看上去,這么做太蠢了,因?yàn)槿说闹庇X反應(yīng)是:應(yīng)該推遲這件事。然而,實(shí)際上,這句話是說:如果做某件事很痛苦,一旦要求自己更頻繁地做,你就會有動力想出各種辦法,來解決這個痛苦,很可能把它變成了自動化的,最終會把它變成一件簡單容易的事情。就拿更新數(shù)據(jù)庫結(jié)構(gòu)來說吧。一般來說,沒人想頻繁地修改它,所以就會盡可能推遲或少做,比如一個月做一次更新,或者更長。然而,你真正需要做的卻是改進(jìn)數(shù)據(jù)庫結(jié)構(gòu)調(diào)整的流程,讓它變成更容易,更頻繁。甚至如果必要的話,可以一天做一次。 - Keep everything in source control
對所有內(nèi)容進(jìn)行版本控制。當(dāng)今軟件行業(yè)還在強(qiáng)調(diào)這種要求,你可能會覺得奇怪,誰現(xiàn)在還沒有用版本控制呢?但是,我指的不僅僅是源代碼喲,還包括環(huán)境、配置、數(shù)據(jù)等等。 - Done means “released”.
完成意味著“已發(fā)布”。也就是說,項(xiàng)目的“完成”是指把它交到用戶手中,并且可以正常工作。而不是“我已經(jīng)提交了,后面的我不管了”,或者“我已經(jīng)提測啦”,或者“我測試完了,沒有問題。” - Build quality in!
內(nèi)建質(zhì)量。在質(zhì)量度量方面花一點(diǎn)兒精力。從長期維護(hù)的角度來講,具有良好質(zhì)量度量目標(biāo)的項(xiàng)目(如單元測試覆蓋、代碼風(fēng)格、復(fù)雜度等等) 要比沒有這些度量的項(xiàng)目更容易一些。 - Everybody has responsibility for the release process.
每個人都要對交付過程負(fù)責(zé)。在開發(fā)人員機(jī)器上運(yùn)行的程序不會為公司帶來收益。沒有部署的項(xiàng)目也一樣。開發(fā)人員也應(yīng)該時刻想著如何部署手中的軟件。項(xiàng)目經(jīng)理也應(yīng)該關(guān)注什么時間部署。測試人員也應(yīng)該進(jìn)行部署測試。 - Improve continuously.
持續(xù)改進(jìn)。軟件開發(fā)如“逆水行舟”,不進(jìn)則退。持續(xù)改進(jìn)意味著,你的系統(tǒng)需要一直改進(jìn),這樣當(dāng)需要時,才能很容易修改。
譯/喬梁
it知識庫:持續(xù)交付的八條原則,你能做到幾條?,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。