1.4 軟件交付不是按時(shí)間階段或角色劃分出來的
軟件交付,無法限定于按時(shí)間階段劃分出來的一段時(shí)間內(nèi)。并不是說,先進(jìn)行兩天需求拆分,再進(jìn)行五天設(shè)計(jì)開發(fā),然后進(jìn)入三天的軟件交付階段,最后是發(fā)布上線之后的持續(xù)運(yùn)維。在實(shí)際工作中,沒有這樣明確的時(shí)間階段。
在為一個(gè)特性編寫代碼時(shí),隨時(shí)可以執(zhí)行構(gòu)建和單元測試。在集成某幾個(gè)特性時(shí),其他特性還正在開發(fā)中。而與此同時(shí),技術(shù)運(yùn)維和運(yùn)營活動(dòng)也一直在進(jìn)行,畢竟在新版本發(fā)布前,也要保證當(dāng)前線上版本的穩(wěn)定運(yùn)行。
所以,盡管從具體代碼改動(dòng)的角度來看,在邏輯和時(shí)間先后上,是先確定需求,再設(shè)計(jì)和開發(fā),再交付,再運(yùn)維的,但從宏觀上看,在項(xiàng)目排期上,并沒有軟件交付這個(gè)階段,軟件交付也不構(gòu)成和其他階段之間的串聯(lián)關(guān)系。這些不同的活動(dòng)是隨時(shí)在不同“脈絡(luò)”上并行開展的。
軟件交付,也不是按角色劃分出來的一堆工作。并不是說,開發(fā)人員做的質(zhì)量相關(guān)工作就屬于軟件開發(fā)過程,測試人員做的質(zhì)量相關(guān)工作就屬于軟件交付過程。只要是質(zhì)量相關(guān)工作,那就屬于軟件交付過程。同樣地,并不是說,運(yùn)維人員做的生產(chǎn)環(huán)境上的部署等操作就屬于運(yùn)維過程,要是換成開發(fā)人員來做生產(chǎn)環(huán)境上的部署就屬于交付過程。不論是哪個(gè)角色做,只要是做生產(chǎn)環(huán)境上的部署,完成軟件的發(fā)布,那就屬于軟件交付過程。
為什么這么劃分呢?為什么不是按照時(shí)間階段或角色來劃分的呢?因?yàn)槲覀円芯康氖沁@樣一些事情,這些事情不論什么時(shí)候做,不論哪個(gè)角色做,它們都在那里。而具體什么時(shí)候做,具體由什么角色做,具體怎么做,正是我們要討論的內(nèi)容。所以,既然要討論,那么就讓它們始終在討論范圍之內(nèi),這樣討論起來更方便。
- Spring源碼深度解析
- UML基礎(chǔ)與Rose建模案例(第3版)
- 經(jīng)·理@互聯(lián)網(wǎng)產(chǎn)品經(jīng)理的進(jìn)階修煉
- 數(shù)字化轉(zhuǎn)型架構(gòu):方法論與云原生實(shí)踐
- Android插件化開發(fā)指南
- 實(shí)用軟件工程
- iOS移動(dòng)開發(fā)從入門到精通
- 微服務(wù)架構(gòu)原理與開發(fā)實(shí)戰(zhàn)
- C語言點(diǎn)滴
- CATIA V5 從入門到精通(第二版)
- 中國軟件工程師:工作、生活與觀念
- 混沌工程:通過可控故障實(shí)驗(yàn)提升軟件系統(tǒng)可靠性
- 移動(dòng)終端應(yīng)用軟件開發(fā)實(shí)戰(zhàn)
- 測試開發(fā)實(shí)戰(zhàn)教程
- Scrum捷徑:敏捷策略、工具與技巧