在傳統(tǒng)的產(chǎn)品研發(fā)模式中,單調(diào)從需求分析開始到測試驗(yàn)收結(jié)束。開發(fā)和測試始終處于產(chǎn)品研發(fā)的不同階段,開發(fā)人員在產(chǎn)品研發(fā)的早期就介人,然后經(jīng)過一段時(shí)間的開發(fā)設(shè)計(jì),將開發(fā)的累計(jì)成果轉(zhuǎn)交給測試人員從而進(jìn)入到測試階段。在測試完成并提交用戶驗(yàn)收通過后,產(chǎn)品即可交付使用。這種產(chǎn)品研發(fā)模式最大的優(yōu)點(diǎn)是產(chǎn)品研發(fā)的階段劃分明確,職責(zé)明確,易于管理。
但是隨著產(chǎn)品復(fù)雜程度的增加,操作系統(tǒng)日益龐大,傳統(tǒng)的產(chǎn)品研發(fā)模式會給產(chǎn)品質(zhì)量帶來極大的風(fēng)險(xiǎn),同時(shí)也給研發(fā)人員帶來很大的壓力。首先針對累計(jì)開發(fā)成果的集中測試使得多個(gè)測試任務(wù)在同時(shí)爆發(fā),在測試時(shí)問一定的情況下,經(jīng)常導(dǎo)致分配到單個(gè)測試項(xiàng)的時(shí)間被一再壓縮,或者優(yōu)先級較低的測試項(xiàng)將被剔除,很難保質(zhì)保量按照測試計(jì)劃執(zhí)行。其次即使在規(guī)定時(shí)間內(nèi)完成了測試任務(wù),但是沒有充裕的時(shí)間針對市場需求、用戶需求、產(chǎn)品定位和質(zhì)量達(dá)標(biāo)的度量輸入進(jìn)行充分和全面的測試,難以保證產(chǎn)品已經(jīng)完全滿足設(shè)計(jì)要求和用戶需求。
眾所周知,測試作為研發(fā)過程的常規(guī)部分,最重要的作用是發(fā)現(xiàn)問題和及時(shí)反饋問題。理想化模型中認(rèn)為只要能發(fā)現(xiàn)問題就能夠修改,但實(shí)際中卻要求產(chǎn)品設(shè)計(jì)之初就必須預(yù)留有修正錯(cuò)誤的接口和方案,否則當(dāng)產(chǎn)品研發(fā)進(jìn)行到測試階段,產(chǎn)品已經(jīng)基本定型,如果此時(shí)才發(fā)現(xiàn)了問題并進(jìn)行修正,會導(dǎo)致耗費(fèi)的成本十分昂貴。由此可見,傳統(tǒng)的產(chǎn)品研發(fā)模式從本質(zhì)上推遲了產(chǎn)品風(fēng)險(xiǎn)和問題的暴露時(shí)間,可能會導(dǎo)致產(chǎn)品的研發(fā)周期延長,研發(fā)質(zhì)量低下,研發(fā)成本超支等問題,同時(shí)嚴(yán)重打擊參與者的積極性和信心,甚至導(dǎo)致整個(gè)產(chǎn)品線的失敗。
因此為了在一定程度上解決上述問題,同時(shí)滿足新產(chǎn)品研發(fā)的需求,我們在華虹新產(chǎn)品的研發(fā)過程中,逐漸探索出了一套全新的產(chǎn)品研發(fā)模式,稱之為測試驅(qū)動(dòng)開發(fā)的迭代研發(fā)過程,也稱為(3+2策略)。該研發(fā)模式強(qiáng)調(diào)測試與開發(fā)的齊頭并進(jìn),通過對新產(chǎn)品的不斷測試與修正,將設(shè)計(jì)缺陷扼殺于萌芽狀態(tài),提供產(chǎn)品質(zhì)量信心,實(shí)現(xiàn)產(chǎn)品價(jià)值提升。下面將著重介紹我們在實(shí)踐中如何使用該迭代研發(fā)過程。迭代的概念源自軟件測試,在本文中的定義為,迭代起始于模塊設(shè)計(jì),結(jié)束于模塊測試通過。首先我們把一個(gè)產(chǎn)品研發(fā)過程劃分為3個(gè)階段(立項(xiàng)、研發(fā)、驗(yàn)收)。各階段的]一作內(nèi)容都是傳統(tǒng)產(chǎn)品研發(fā)模式的流程和工作內(nèi)容的延續(xù),但是又強(qiáng)調(diào)新的突破點(diǎn)。在立項(xiàng)階段,我們強(qiáng)調(diào)對用戶需求,投入產(chǎn)出和升級方案的預(yù)研,考核的階段成果將匯總為需求輸出到研發(fā)團(tuán)隊(duì);在研發(fā)階段,我們強(qiáng)調(diào)產(chǎn)品定義時(shí)采用模塊化的方式,分離,設(shè)計(jì),開發(fā)和測試,已成型的模塊,并逐步集成,最終構(gòu)成完整的系統(tǒng)。考核的階段成果將體現(xiàn)為把需求轉(zhuǎn)化為系統(tǒng)實(shí)現(xiàn);而在驗(yàn)收階段 , 就注重技術(shù)指標(biāo)和研發(fā)成本的確認(rèn), 其階段成果表現(xiàn)為產(chǎn)品成本的控制和客戶驗(yàn)收通過。其中立項(xiàng)階段的需求輸出和研發(fā)階段的設(shè)計(jì)實(shí)現(xiàn)同等重要 , 只有實(shí)現(xiàn)了二者的相互補(bǔ)充和相互制約, 才能保證產(chǎn)品驗(yàn)收的成功。
其次在進(jìn)入研發(fā)階段后,我們會制定2 類計(jì)劃,第一是粗粒度的計(jì)劃:也稱為階段計(jì)劃。包括從用戶需求、系統(tǒng)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)到編碼, 涵蓋了整個(gè)產(chǎn)品的研發(fā)目錄。主要用于控制產(chǎn)品開發(fā)進(jìn)度和開發(fā)周期, 階段計(jì)劃制定完成后相對同定, 且必須嚴(yán)格執(zhí)行。第二是細(xì)粒度的計(jì)劃: 也稱為迭代計(jì)劃。包括了任務(wù)的詳細(xì)說明, 并給每個(gè)參與者和參與團(tuán)隊(duì)分配任務(wù),覆蓋到可能的應(yīng)用場景,分解出關(guān)鍵的技術(shù)指標(biāo)。目的用于控制開發(fā)質(zhì)量和開發(fā)回溯。迭代計(jì)劃通常會隨著開發(fā)的深入而動(dòng)態(tài)變化。大家對于執(zhí)行單一的階段計(jì)劃都非常熟悉, 但是在階段計(jì)劃中加入了迭代計(jì)劃, 研發(fā)過程將會發(fā)生怎樣的變化呢? 。迭代計(jì)劃可以看作是單個(gè)階段計(jì)劃中的移動(dòng)窗口, 所起的作用是把階段計(jì)劃進(jìn)行逐級放大。首先將階段計(jì)劃中的工作分配到小集體, 繼而分配到每個(gè)集體中更小的集體;其次將研發(fā)過程化整為零, 從最基礎(chǔ)的模塊開始開發(fā)并測試, 逐級累加測試模塊。最后分解出關(guān)鍵的技術(shù)指標(biāo)( 模塊) , 要求必須盡早完成, 這樣就可以在不斷迭代中對其進(jìn)行徹底的測試。
相關(guān)推薦:2010年軟件水平考試程序員考試備考資料北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |