在軟件業(yè)界,敏捷開(kāi)發(fā)及項(xiàng)目管理方法已成為很多團(tuán)隊(duì)高效運(yùn)作的有力武器。在項(xiàng)目的啟動(dòng)環(huán)節(jié)中引入QuickStart方法,幫助快速確立項(xiàng)目目標(biāo),統(tǒng)一理解,發(fā)掘用戶(hù)需求,使用各種流程建模和分析技術(shù),產(chǎn)生交付計(jì)劃。之后項(xiàng)目團(tuán)隊(duì)就可以立即投入迭代開(kāi)發(fā)工作。該方法是一種可以有效推動(dòng)軟件項(xiàng)目快速啟動(dòng)的敏捷項(xiàng)目管理方法。
【關(guān)鍵詞】敏捷項(xiàng)目管理敏捷軟件開(kāi)發(fā)快速啟動(dòng) QuickStart用戶(hù)模型場(chǎng)景模型用戶(hù)故事交付計(jì)劃
1 敏捷開(kāi)發(fā)及項(xiàng)目管理方法體系
1.1 敏捷方法介紹
敏捷方法誕生于2001年初,當(dāng)時(shí),由于看到開(kāi)發(fā)團(tuán)隊(duì)陷入越來(lái)越沉重的軟件過(guò)程當(dāng)中。業(yè)界專(zhuān)家們總結(jié)出了一套使團(tuán)隊(duì)具有快速工作、響應(yīng)變化能力的價(jià)值觀和原則?;谶@一套價(jià)值觀和原則的軟件開(kāi)發(fā)方法,被稱(chēng)為敏捷軟件開(kāi)發(fā)方法(Agile Software Develop-ment),而這類(lèi)方法也發(fā)展出相應(yīng)的敏捷項(xiàng)目管理體系(Agile Project Management)。敏捷開(kāi)發(fā)方法及項(xiàng)目管理體系統(tǒng)稱(chēng)為敏捷方法(Agile)。
1.2 敏捷方法的優(yōu)點(diǎn)
敏捷方法是一種以人為核心、迭代、循序漸進(jìn)的開(kāi)發(fā)及項(xiàng)目管理方法。該方法使用了迭代、增量等方法來(lái)優(yōu)化可預(yù)見(jiàn)性并控制風(fēng)險(xiǎn)。它靈活、高效、可持續(xù),可以幫助軟件開(kāi)發(fā)團(tuán)隊(duì)有效地應(yīng)對(duì)復(fù)雜的適應(yīng)性問(wèn)題。
該方法受到擁護(hù)和流行是因?yàn)椴捎昧嗽摲椒ê?,團(tuán)隊(duì)得到的收益:據(jù)統(tǒng)計(jì),敏捷方法可以讓團(tuán)隊(duì)的效率提升3~10倍;軟件的質(zhì)量也更有保障;團(tuán)隊(duì)成員有良好的發(fā)展機(jī)會(huì);技術(shù)能力和團(tuán)隊(duì)協(xié)作也得到了提高。
2 敏捷項(xiàng)目的快速啟動(dòng)
2.1 什么是快速啟動(dòng)?
敏捷軟件開(kāi)發(fā)項(xiàng)目通常會(huì)通過(guò)1~4周的快速啟動(dòng)(QuickStart)工作,制定出迭代開(kāi)發(fā)計(jì)劃,然后在開(kāi)發(fā)過(guò)程中逐漸完善需求。QuickStart是一種高效的項(xiàng)目啟動(dòng)方式,主要用以在項(xiàng)目開(kāi)始之前識(shí)別關(guān)鍵的驅(qū)動(dòng)因素,這種方式能夠讓關(guān)鍵干系人認(rèn)可并理解即將交付的產(chǎn)品。如圖1所示。
3 QuickStart的前期準(zhǔn)備
3.1 邀請(qǐng)相關(guān)參與人員
QuickStart過(guò)程中需要邀請(qǐng)參與的人員包括:核心團(tuán)隊(duì)、領(lǐng)域?qū)<壹坝脩?hù)代表、關(guān)鍵干系人(受益人、高層領(lǐng)導(dǎo)等)。核心團(tuán)隊(duì)一般包括產(chǎn)品負(fù)責(zé)人、需求分析人員、項(xiàng)目負(fù)責(zé)人及核心團(tuán)隊(duì)成員。這些人需要全程參與整個(gè)QuickStart,他們是成果的主要貢獻(xiàn)者。領(lǐng)域?qū)<壹坝脩?hù)代表主要在用戶(hù)建模、場(chǎng)景建模等環(huán)節(jié)為團(tuán)隊(duì)提供專(zhuān)業(yè)的意見(jiàn)和建議。他們可以在某些階段時(shí)參與到QuickStart中來(lái)。關(guān)鍵干系人主要參與QuickStart的啟動(dòng)和展示匯報(bào)的環(huán)節(jié),并對(duì)產(chǎn)出成果進(jìn)行確認(rèn),特別是需要對(duì)產(chǎn)品目標(biāo)和發(fā)布計(jì)劃進(jìn)行確認(rèn)和授權(quán)。
3.2 擬定QuickStart的計(jì)劃
在QuickStart正式開(kāi)始之前,項(xiàng)目負(fù)責(zé)人和產(chǎn)品負(fù)責(zé)人需要擬定QuickStart的整體計(jì)劃。以一個(gè)2周的QuickStart為例,整個(gè)QuickStart計(jì)劃可以這樣安排:
QuickStart啟動(dòng)及業(yè)務(wù)目標(biāo)識(shí)別(0.5~1天)
參與人員包括:核心團(tuán)隊(duì)、領(lǐng)域?qū)<壹坝脩?hù)代表、項(xiàng)目領(lǐng)導(dǎo)
產(chǎn)出物:產(chǎn)品目標(biāo)
識(shí)別主要角色及場(chǎng)景(3~5天)
參與人員包括:核心團(tuán)隊(duì)、領(lǐng)域?qū)<壹坝脩?hù)代表、項(xiàng)目領(lǐng)導(dǎo)
產(chǎn)出物:主要用戶(hù)角色列表、核心場(chǎng)景及流程、頁(yè)面設(shè)計(jì)及原型
需求列表梳理(1~2天)
參與人員包括:核心團(tuán)隊(duì)、領(lǐng)域?qū)<壹坝脩?hù)代表
產(chǎn)出物:用戶(hù)故事清單
規(guī)模及成本估算(0.5~1天)
參與人員包括:核心團(tuán)隊(duì)
產(chǎn)出物:估算結(jié)果
迭代/發(fā)布計(jì)劃制定(0.5~1天)
參與人員包括:核心團(tuán)隊(duì)
產(chǎn)出物:迭代/發(fā)布計(jì)劃
QuickStart的成果匯報(bào)(0.5天)
參與人員包括:全體團(tuán)隊(duì)成員
產(chǎn)出物:成果匯報(bào)材料
4 引入的各種流程建模及分析技術(shù)
4.1 識(shí)別業(yè)務(wù)目標(biāo)及愿景
業(yè)務(wù)目標(biāo)的識(shí)別和確定需要符合SMART原則;需要了解問(wèn)題的背景及上下文信息;需要定義驗(yàn)證問(wèn)題成功的標(biāo)準(zhǔn);需要界定問(wèn)題的范圍,例如規(guī)模指的是數(shù)量還是金額,或者單品規(guī)模;需要明確并逐步完善關(guān)鍵干系人信息;需要明確關(guān)鍵資源,例如領(lǐng)域?qū)<一蛘哧P(guān)鍵信息等等;還需要明確該問(wèn)題的各種約束條件。
4.2 識(shí)別角色及主要場(chǎng)景
用戶(hù)識(shí)別從頭腦風(fēng)暴的形式開(kāi)始,盡可能識(shí)別出更多的用戶(hù),然后挑選出主要的用戶(hù)和角色,并且為用戶(hù)進(jìn)行用戶(hù)畫(huà)像,并建立用戶(hù)模型。通過(guò)理解用戶(hù)的目標(biāo)需求和痛點(diǎn),梳理出更多的細(xì)分用戶(hù)場(chǎng)景,之后對(duì)用戶(hù)場(chǎng)景進(jìn)行優(yōu)先級(jí)排序、分析,以發(fā)現(xiàn)其中的問(wèn)題或隱含的機(jī)會(huì)。
對(duì)問(wèn)題和機(jī)會(huì)進(jìn)行結(jié)構(gòu)化的分析可以通過(guò)這幾個(gè)方面來(lái)進(jìn)行:
(1)進(jìn)行問(wèn)題/機(jī)會(huì)的原始描述;
(2)通過(guò)事例來(lái)說(shuō)明問(wèn)題/機(jī)會(huì)的現(xiàn)象;
(3)對(duì)問(wèn)題/機(jī)會(huì)進(jìn)行定量的分析;
(4)對(duì)問(wèn)題/機(jī)會(huì)進(jìn)行定義并明確對(duì)于問(wèn)題解決的期望;
(5)將問(wèn)題和機(jī)會(huì)的相關(guān)分析及描述標(biāo)識(shí)在用戶(hù)場(chǎng)景描述的周?chē)?/p>
業(yè)務(wù)流程梳理的過(guò)程中可以將之前識(shí)別出來(lái)的用戶(hù)場(chǎng)景在進(jìn)行串聯(lián)。較高層級(jí)的業(yè)務(wù)流程將各個(gè)場(chǎng)景串聯(lián)起來(lái)之后,就可以在場(chǎng)景中進(jìn)行場(chǎng)景流程的細(xì)化和展開(kāi),分析出流程步驟和各個(gè)步驟的細(xì)節(jié)。業(yè)務(wù)流程場(chǎng)景中的步驟細(xì)節(jié)需要包含這些信息:場(chǎng)景名稱(chēng)、場(chǎng)景入口的背景說(shuō)明,本場(chǎng)景中需要跟進(jìn)解決的問(wèn)題,場(chǎng)景中事件步驟,某個(gè)步驟的細(xì)節(jié)說(shuō)明,還需要有場(chǎng)景的出口目標(biāo)。
4.3 產(chǎn)出Product backlog
根據(jù)上一環(huán)節(jié)中梳理出來(lái)的用戶(hù)模型、場(chǎng)景模型、業(yè)務(wù)流程以及場(chǎng)景細(xì)節(jié),開(kāi)始進(jìn)行用戶(hù)故事的梳理,并建立用戶(hù)故事列表。用戶(hù)故事是為了方便與用戶(hù)溝通而記錄的信息,它不是需求文檔,它需要以用戶(hù)能理解的方式來(lái)進(jìn)行描述。它的目的是要將用戶(hù)的關(guān)注點(diǎn)從“寫(xiě)”轉(zhuǎn)移到“交流”上,讓開(kāi)發(fā)團(tuán)隊(duì)做用戶(hù)真正需要的東西,而不是用戶(hù)寫(xiě)的東西。
一個(gè)用戶(hù)故事的描述樣例是:“作為一個(gè)<角色>,我想要<活動(dòng)>,以便于<商業(yè)價(jià)值>”。一個(gè)用戶(hù)故事是否成功可以從以下幾點(diǎn)(INVEST)來(lái)判斷:是不是獨(dú)立的(Independent),是不是可協(xié)商的(Negotiable),是不是有價(jià)值的(Valuable),是不是可以估算的(Estimable),是不是大小合適、粒度相似的(Sized appropriately),是不是測(cè)試能夠測(cè)試、業(yè)務(wù)能夠驗(yàn)收的(Testable)。
4.4 梳理依賴(lài)、估算及優(yōu)先級(jí)排序
核心開(kāi)發(fā)人員對(duì)已經(jīng)梳理出來(lái)的用戶(hù)故事進(jìn)行初步的技術(shù)解決方案分析,確定用戶(hù)故事的技術(shù)實(shí)現(xiàn)可行性和一些可能的實(shí)現(xiàn)方案。然后從邏輯層面和技術(shù)實(shí)現(xiàn)層面,對(duì)用戶(hù)故事列表中的故事進(jìn)行一次檢視,對(duì)于一些無(wú)法避免的用戶(hù)故事之間的相互依賴(lài),需要在故事卡片上標(biāo)識(shí)出來(lái)。對(duì)已經(jīng)梳理出來(lái)的用戶(hù)故事進(jìn)行估算,估算內(nèi)容包括故事規(guī)模估算、工作量估算等。
估算完成后可以根據(jù)用戶(hù)故事的價(jià)值、重要程度、依賴(lài)等信息進(jìn)行用戶(hù)故事優(yōu)先級(jí)排序。排序的原則是優(yōu)先考慮那些最有價(jià)值的故事、最關(guān)鍵的故事、被其他關(guān)鍵故事依賴(lài)最多的故事。
4.5 制定交付計(jì)劃
經(jīng)過(guò)以上各個(gè)環(huán)節(jié),團(tuán)隊(duì)已經(jīng)得到了了一份標(biāo)識(shí)了優(yōu)先級(jí)、依賴(lài)關(guān)系、工作量估算等信息的用戶(hù)故事列表,此時(shí)可以開(kāi)始來(lái)制定交付/發(fā)布計(jì)劃了。根據(jù)已經(jīng)排序的優(yōu)先級(jí)選擇并整理每個(gè)迭代/版本需要完成的用戶(hù)故事,使用每個(gè)故事上之前已經(jīng)完成的規(guī)?;蚬ぷ髁抗浪悖由瞎δ苈?lián)調(diào)和集成可能增加投入量的buffer值,整理并安排出整個(gè)交付計(jì)劃。
對(duì)于最近的一個(gè)交付周期的安排是團(tuán)隊(duì)?wèi)?yīng)該投入最多時(shí)間進(jìn)去分析和做進(jìn)一步估算的。確保第一個(gè)交付周期的所有用戶(hù)故事清晰且被團(tuán)隊(duì)理解,并且該周期中的所有用戶(hù)故事都已經(jīng)有較明確的技術(shù)實(shí)現(xiàn)方案,可以在QuickStart結(jié)束之后馬上進(jìn)入開(kāi)發(fā)實(shí)現(xiàn)。如圖2所示。
4.6 匯報(bào)QuickStart的成果
QuickStart的最后一個(gè)環(huán)節(jié)是召開(kāi)QuickStart成果匯報(bào)的會(huì)議,該會(huì)議的邀請(qǐng)人員包括項(xiàng)目團(tuán)隊(duì)全體成員、項(xiàng)目領(lǐng)導(dǎo)、相關(guān)干系人。會(huì)議上向項(xiàng)目相關(guān)人員匯報(bào)QuickStart的成果產(chǎn)出,包括確定項(xiàng)目產(chǎn)品目標(biāo)及愿景、需求列表及交付計(jì)劃。在展示項(xiàng)目團(tuán)隊(duì)QuickStart成果的同時(shí)也獲取相關(guān)領(lǐng)導(dǎo)及干系人對(duì)成果的認(rèn)可和支持,統(tǒng)一項(xiàng)目團(tuán)隊(duì)人員的認(rèn)識(shí),為匯報(bào)結(jié)束后立刻投入到需求的開(kāi)發(fā)實(shí)現(xiàn)奠定基石。
5 結(jié)束語(yǔ)
敏捷項(xiàng)目中的QuickStart是一種高效的項(xiàng)目啟動(dòng)方法,幫助項(xiàng)目快速確立目標(biāo)、梳理需求并排定計(jì)劃。它是一種敏捷的項(xiàng)目管理方式,強(qiáng)調(diào)共享、合作與包容,業(yè)務(wù)與IT關(guān)鍵干系人全程共同參與,注重群體決策。它是一種經(jīng)過(guò)反復(fù)實(shí)踐驗(yàn)證,效果較好的項(xiàng)目快速啟動(dòng)方法。
參考文獻(xiàn)
[1](美)John C.Goodpasture,陳秋萍譯.敏捷項(xiàng)目管理:企業(yè)級(jí)實(shí)踐與案例[M].電子工業(yè)出版社,2012.
[2](美)Robert C.Martin,鄧輝譯.敏捷軟件開(kāi)發(fā)原則模式與實(shí)踐[M].清華大學(xué)出版社,2003.
[3](美)Michele Sliger Stacia Broderick,李曉麗,李虎,趙華譯.軟件項(xiàng)目管理與敏捷方法[M].機(jī)械工業(yè)出版社,2010.
[4](美)Mike Cohn,石永超,張博超譯.用戶(hù)故事與敏捷方法[M].機(jī)械工業(yè)出版社,2008.
[5](美)Jeff Patton,李濤,向振東譯.用戶(hù)故事地圖[M].清華大學(xué)出版社,2016.
[6](美)Mike Cohn,宋銳譯.敏捷估計(jì)與規(guī)劃[M].清華大學(xué)出版社,2007.
作者簡(jiǎn)介
梁瑾(1978-),女,廣東省深圳市人。學(xué)士學(xué)位?,F(xiàn)為平安科技(深圳)有限公司項(xiàng)目副總監(jiān)。主要研究方向?yàn)槊艚蒈浖?xiàng)目管理。
作者單位
平安科技(深圳)有限公司 廣東省深圳市 518000