迭代的概念(來(lái)源維基百科)
?Iteration: is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. The sequence will approach some end point or end value. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration.
?迭代:是一個(gè)過(guò)程的重復(fù),以產(chǎn)生一系列(可能是無(wú)限的)結(jié)果。序列將接近某個(gè)端點(diǎn)或結(jié)束值。過(guò)程的每次重復(fù)都是一次迭代,每次迭代的結(jié)果就是下一次迭代的起點(diǎn)。
版本的概念(來(lái)源維基百科)
?Version:? is a set of numbers that identify a unique evolution of a computer program,either unique version names or unique version numbers to unique states of computer software
?版本:一組標(biāo)識(shí)計(jì)算機(jī)程序的唯一演化的數(shù)字,即唯一的版本名稱或唯一的版本號(hào),以表示計(jì)算機(jī)軟件的唯一狀態(tài)
版本(Version)與 發(fā)布(Release)的區(qū)別與聯(lián)系
1、版本的概念來(lái)自于軟件發(fā)布
2、版本可大可小
3、版本代表里程碑中的價(jià)值
4、版本可以發(fā)布——一旦部署,一個(gè)版本就是一個(gè)發(fā)布
5、一旦一個(gè)版本發(fā)布,用戶就可以查看它的內(nèi)容
注:為簡(jiǎn)化概念,這里不區(qū)分部署與發(fā)布,即部署 = 發(fā)布。如果想了解部署與發(fā)布的區(qū)別,請(qǐng)自行GOOGLE。
下圖版本定義如下:

?根據(jù)業(yè)務(wù)需要,可能有如下場(chǎng)景:
場(chǎng)景一、迭代內(nèi)通常存在1個(gè)或多個(gè)版本發(fā)布,有時(shí)無(wú)版本發(fā)布

?場(chǎng)景二、通常多個(gè)迭代發(fā)一個(gè)版本,以里程碑進(jìn)行版本發(fā)布

無(wú)論是以上哪種場(chǎng)景,你會(huì)發(fā)現(xiàn),迭代與版本無(wú)強(qiáng)關(guān)聯(lián)關(guān)系。場(chǎng)景一適合于能快速發(fā)布的情況,快速響應(yīng)客戶或業(yè)務(wù)需求,快速生產(chǎn)。場(chǎng)景二適合多大項(xiàng)目初期建設(shè),逐步MVP的一個(gè)過(guò)程,最終形成一個(gè)MMF,作為一個(gè)里程碑推向市場(chǎng)。
在DevOps盛行的今天,也許你每天都有一個(gè)RC版本,在非生產(chǎn)環(huán)境或試運(yùn)行生產(chǎn)環(huán)境進(jìn)行快速的驗(yàn)證。 你可以根據(jù)需要選擇不同的發(fā)版節(jié)奏和迭代情況,請(qǐng)注意區(qū)分研發(fā)的迭代節(jié)奏和軟件發(fā)布的版本,更需要注意業(yè)務(wù)口中的需求迭代、業(yè)務(wù)迭代、業(yè)務(wù)版本等詞。?
如下圖,每一個(gè)MVP你可以認(rèn)為是一個(gè)業(yè)務(wù)迭代,一個(gè)MVP可能在多個(gè)研發(fā)迭代和版本,希望沒(méi)有被繞暈。

總結(jié):區(qū)分研發(fā)與業(yè)務(wù)的迭代和版本,研發(fā)迭代一般是節(jié)奏,版本指某一次軟件發(fā)布。業(yè)務(wù)迭代和版本并不好統(tǒng)一標(biāo)準(zhǔn)。