您的位置:軟件測(cè)試 > 軟件項(xiàng)目管理 > 進(jìn)度管理 >
成功的軟件管理方式:指導(dǎo)與平衡
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/5/22 13:37:00 ] 推薦標(biāo)簽:

成功的現(xiàn)代項(xiàng)目——以及使用傳統(tǒng)過(guò)程開發(fā)的成功項(xiàng)目——通常都有詳細(xì)定義的項(xiàng)目階段性標(biāo)志,即從創(chuàng)造性研究狀態(tài)到生產(chǎn)狀態(tài)的顯著過(guò)渡。早期階段著重于實(shí)現(xiàn)可演示的功能。后期階段著重于實(shí)現(xiàn)可供用戶使用的產(chǎn)品,這種產(chǎn)品關(guān)注的是健壯性、性能、適用性以及完整性。

另一個(gè)重要方面是從創(chuàng)造性世界到生產(chǎn)世界的過(guò)渡對(duì)整個(gè)團(tuán)隊(duì)的影響。結(jié)構(gòu)良好的團(tuán)隊(duì)通常不喜歡嚴(yán)格的過(guò)程、細(xì)節(jié)以及不成熟的精確性。生產(chǎn)能力強(qiáng)的團(tuán)隊(duì)通常會(huì)對(duì)松散的、不固定的、粗糙的結(jié)果感到不愉快。項(xiàng)目管理者需要管理各種團(tuán)隊(duì)的平衡性,這樣技術(shù)上領(lǐng)導(dǎo)的重力中心可以在整個(gè)生存周期發(fā)展進(jìn)化,從初始階段的管理團(tuán)隊(duì),到細(xì)化階段的架構(gòu)團(tuán)隊(duì),到建構(gòu)階段的開發(fā)團(tuán)隊(duì),再到過(guò)渡階段的測(cè)試/評(píng)估團(tuán)隊(duì)。軟件項(xiàng)目管理中人的因素被低估了,而且團(tuán)隊(duì)動(dòng)態(tài)性的主題值得被給予比大多數(shù)項(xiàng)目管理課程所給予的更多的關(guān)注。

進(jìn)展

經(jīng)典開發(fā)過(guò)程的很多方面造成了涉眾關(guān)系退化到相互間的不信任。信任對(duì)在用戶需要、產(chǎn)品特性以及計(jì)劃中通過(guò)指導(dǎo)和協(xié)商取得平衡是基本的。迭代過(guò)程加強(qiáng)了涉眾間的有效交流(通過(guò)一系列可演示的發(fā)布實(shí)現(xiàn)),允許基于更為客觀的所有人理解的協(xié)商。這需要客戶、用戶、以及管理者集中于可用系統(tǒng)的發(fā)布,而不是篤信標(biāo)準(zhǔn)和合同條款。它同時(shí)還需要開發(fā)組織致力于用能獲得利潤(rùn)的方式創(chuàng)造價(jià)值。

迭代過(guò)程需要對(duì)一個(gè)不斷完整的系統(tǒng)進(jìn)行順序的建構(gòu),這個(gè)系統(tǒng)展示了架構(gòu),實(shí)現(xiàn)了客觀的需求協(xié)商,證實(shí)了技術(shù)方法,并指出關(guān)鍵風(fēng)險(xiǎn)。理想的情況下,所有涉眾都著眼于這些里程碑,把它們視為有用功能的遞增發(fā)布,這不同于那些投機(jī)的對(duì)終觀點(diǎn)的論文描述。向可演示驅(qū)動(dòng)的生存周期的過(guò)渡造成了非常不同的項(xiàng)目外觀。一個(gè)健康的項(xiàng)目將誠(chéng)實(shí)地展示出一個(gè)進(jìn)展與背離共存的序列,而不是一個(gè)線性發(fā)展價(jià)值遞增的軌跡(通常是不誠(chéng)實(shí)的)。

下面是兩個(gè)我從未見過(guò)的反例的相關(guān)觀察:

1.一個(gè)具有一張價(jià)值持續(xù)不斷增長(zhǎng)曲線圖的軟件項(xiàng)目一定會(huì)有一個(gè)待解決的很大的回歸。
2.在解決不確定性,會(huì)師于一個(gè)可接受的解決方案的過(guò)程中,健康的軟件項(xiàng)目表現(xiàn)為一個(gè)進(jìn)展不斷增加,彎路不斷減少的序列。

雄心勃勃的展示是一個(gè)健康的項(xiàng)目的發(fā)展道路上絕好的里程碑。在生存周期早期進(jìn)行展示的目的是暴露設(shè)計(jì)缺陷,不是粉飾門面。涉眾不應(yīng)對(duì)早期錯(cuò)誤、背離或不成熟的設(shè)計(jì)反應(yīng)過(guò)激。如果早期工程階段受到過(guò)分限制,開發(fā)組織建立的中間檢查點(diǎn)將不會(huì)那么有抱負(fù)。早期的增量是不成熟的。外界涉眾,比如客戶和用戶,不能指望初始發(fā)布的版本擁有終發(fā)布版本的規(guī)格和性能——也是完整、完全可靠、擁有目標(biāo)級(jí)的質(zhì)量和性能。

另一方面,開發(fā)組織必須對(duì)連續(xù)增量之上的切實(shí)的進(jìn)展負(fù)責(zé),并對(duì)之進(jìn)行展示?陀^地量化變化、修改以及更新將會(huì)為進(jìn)展和質(zhì)量提供誠(chéng)實(shí)的指示。公開和專心的追隨對(duì)解決問(wèn)題是必須的。好的和不好的項(xiàng)目性能在生存周期的早期往往更為明顯。采用指導(dǎo)式的領(lǐng)導(dǎo)方式,成功會(huì)孕育成功。在發(fā)布一系列可演示的結(jié)果以后,你可以很好地預(yù)測(cè)結(jié)果了。持續(xù)沒(méi)有進(jìn)展或者停滯的結(jié)果序列是項(xiàng)目需要認(rèn)真重新考慮資源、范圍或者項(xiàng)目?jī)r(jià)值的標(biāo)志。軟件項(xiàng)目的經(jīng)驗(yàn)已多次表明,早期階段決定項(xiàng)目的成敗。這是使用小型的、能力強(qiáng)的出發(fā)團(tuán)隊(duì)處理計(jì)劃和架構(gòu)設(shè)計(jì)階段工作的原因。如果這些早期階段處理得當(dāng),項(xiàng)目將會(huì)由能力中等規(guī)模的團(tuán)隊(duì)向終產(chǎn)品發(fā)展,并成功完成。如果計(jì)劃和架構(gòu)設(shè)計(jì)階段處理不好,即使出動(dòng)全世界的程序和測(cè)試專家可能也無(wú)法在后續(xù)階段取得成功。

質(zhì)量控制

如果你按照迭代開發(fā)的精神正在成功管理一個(gè)項(xiàng)目,那么多數(shù)集成測(cè)試應(yīng)在部件測(cè)試之前進(jìn)行。停下來(lái)思考這一陳述。盡管在任何時(shí)候都有兩種活動(dòng)在混合進(jìn)行,你應(yīng)該認(rèn)識(shí)到初始的部件開發(fā)和測(cè)試更多的是作為在一個(gè)集成的、系統(tǒng)級(jí)的線程或行為內(nèi)執(zhí)行一個(gè)部件的接口和功能的方法。一旦接口和集成行為被成功測(cè)試,部件的完整性也可以測(cè)試了。先進(jìn)行集成測(cè)試加速了架構(gòu)上重要的問(wèn)題更早進(jìn)入生存周期的相應(yīng)階段。它還為持續(xù)的系統(tǒng)級(jí)和部件級(jí)進(jìn)展和性能的評(píng)估提供了演進(jìn)的測(cè)試模板。

這種先進(jìn)行集成測(cè)試的方法的一個(gè)關(guān)鍵副產(chǎn)品是測(cè)試和測(cè)試人員成了項(xiàng)目過(guò)程中的頭等公民。在傳統(tǒng)方法中,測(cè)試人員建立計(jì)劃、過(guò)程和文檔,它們都是次要于分析和設(shè)計(jì)工件的。測(cè)試人員的工作和生存周期早期的工件對(duì)項(xiàng)目的成功沒(méi)有太多指示作用,在多數(shù)組織內(nèi)都是由“B選手”(意思是,不能成為分析和設(shè)計(jì)師的人)來(lái)完成的。在健康的迭代項(xiàng)目中,生存周期早期的演示需要重要的測(cè)試觀念和產(chǎn)品。很多測(cè)試團(tuán)隊(duì)對(duì)一些有效的“分析”活動(dòng)和結(jié)果負(fù)有責(zé)任。太多分析人員在抽象模型內(nèi)單獨(dú)工作,他們的分析受到的制約是有限的。但是測(cè)試人員面臨的是建立“測(cè)試用例”——真實(shí)世界中用例或者評(píng)估標(biāo)準(zhǔn)或者預(yù)期行為的表現(xiàn)。他們提出一整套不同的問(wèn)題并從一個(gè)不同的角度看世界,因?yàn)樗麄兊墓ぷ魇前殉橄蟮臇|西翻譯為可測(cè)試的東西。

這是一個(gè)例子,F(xiàn)在很多項(xiàng)目都面臨著對(duì)商業(yè)上可獲得的部件和應(yīng)用程序是采取買還是自己寫的辦法的抉擇。如果第一個(gè)面向結(jié)果的項(xiàng)目的里程碑是通過(guò)演示來(lái)作出自己寫/購(gòu)買的決定的,那么你應(yīng)該對(duì)你的團(tuán)隊(duì)進(jìn)行如下分工:

分析團(tuán)隊(duì):與用戶一起工作,捕捉產(chǎn)生差性能的關(guān)鍵用例的情況,比如數(shù)據(jù)量峰值或者關(guān)鍵的控制畫面。
設(shè)計(jì)團(tuán)隊(duì):設(shè)計(jì)可以運(yùn)行候選商業(yè)部件的原型。
測(cè)試團(tuán)隊(duì):構(gòu)建測(cè)試用例(比如,一個(gè)消息集合、一個(gè)測(cè)試驅(qū)動(dòng)、一個(gè)智能樁模塊、一個(gè)有數(shù)據(jù)的數(shù)據(jù)庫(kù)、一個(gè)圖形用戶界面操作的序列等等)。這些用例能夠反映關(guān)鍵用例,驅(qū)動(dòng)原型并記錄它的相應(yīng)。

為了實(shí)現(xiàn)這第一個(gè)里程碑,你的團(tuán)隊(duì)可以只關(guān)注其中兩個(gè)關(guān)鍵用例(約為用戶需要的10%)、少數(shù)幾個(gè)關(guān)鍵部件以及少數(shù)幾個(gè)測(cè)試用例,但是它們以及用戶將會(huì)在生存周期非常早的時(shí)候解決掉30%的風(fēng)險(xiǎn)。通過(guò)把測(cè)試觀點(diǎn)作為過(guò)程早期一個(gè)同等伙伴包括進(jìn)來(lái),你將可以吸引更多作出更好分析的人才,因?yàn)檫@項(xiàng)工作更為有趣,而且對(duì)成功的貢獻(xiàn)更為有效。

傳統(tǒng)軟件測(cè)試方法遵循相同的、應(yīng)用于軟件開發(fā)的文檔驅(qū)動(dòng)方法。開發(fā)團(tuán)隊(duì)在建立任何源文件或可執(zhí)行文件之前先建立需求文檔、頂層設(shè)計(jì)文檔以及詳細(xì)設(shè)計(jì)文檔。相似地,測(cè)試團(tuán)隊(duì)在建立任何測(cè)試驅(qū)動(dòng)、樁模塊或工具之前先建立系統(tǒng)測(cè)試計(jì)劃文檔,系統(tǒng)測(cè)試過(guò)程文檔、集成測(cè)試計(jì)劃文檔、單元測(cè)試計(jì)劃文檔以及單元測(cè)試過(guò)程文檔。這一文檔驅(qū)動(dòng)方法對(duì)測(cè)試活動(dòng)造成的問(wèn)題與它對(duì)開發(fā)活動(dòng)造成的問(wèn)題是相同的:對(duì)大量廢物的刨光,還要留待日后重新組合整理。

為了在生存周期中提早進(jìn)行集成測(cè)試,測(cè)試序列應(yīng)該由迭代過(guò)程來(lái)組織,而不是根據(jù)部件來(lái)組織。典型地,它應(yīng)該被一組用例和其它文本表現(xiàn)的、能有意義地為用戶進(jìn)行演示的實(shí)體所捕獲。下面是一個(gè)抽象的描述:

初始迭代:大約五到十個(gè)評(píng)估標(biāo)準(zhǔn),抓住與主要用例(對(duì)結(jié)構(gòu)選擇和整體商業(yè)案例有影響的)相關(guān)的驅(qū)動(dòng)問(wèn)題。
細(xì)化迭代:十幾個(gè)評(píng)估標(biāo)準(zhǔn),當(dāng)用候選架構(gòu)進(jìn)行演示時(shí),為主要用例檢驗(yàn)實(shí)體框架,并證明關(guān)鍵風(fēng)險(xiǎn)已經(jīng)被解決了。
構(gòu)建迭代:大約數(shù)百個(gè)與有意義的用例集相關(guān)的評(píng)估標(biāo)準(zhǔn),這些用例集通過(guò)測(cè)試以后將組成有用的產(chǎn)品子集,可以轉(zhuǎn)為產(chǎn)品的alpha或beta發(fā)布版本。
產(chǎn)品化迭代:完整的用例集和相關(guān)的評(píng)估標(biāo)準(zhǔn)(可能有上千個(gè)),組成了與真正發(fā)布產(chǎn)品相關(guān)的接受測(cè)試結(jié)果的標(biāo)準(zhǔn)。

現(xiàn)代過(guò)程在產(chǎn)品的測(cè)試活動(dòng)中使用的基本工具、語(yǔ)言、符號(hào)以及工件與在產(chǎn)品的開發(fā)過(guò)程中使用的是相同的。測(cè)試是指對(duì)某些組件在一個(gè)控制情境下的執(zhí)行以及期望的客觀結(jié)果的外在評(píng)估。一個(gè)測(cè)試的成功取決于在一般意義上定義的成功標(biāo)準(zhǔn)下期望結(jié)果與實(shí)際結(jié)果的比較情況。測(cè)試是可以大規(guī)模自動(dòng)化由機(jī)器完成的評(píng)估形式。

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd