產(chǎn)品經(jīng)理需要了解的敏捷開(kāi)發(fā)常識(shí)

文章開(kāi)頭:本文是王一點(diǎn)老師發(fā)表在產(chǎn)品壹佰的文章(http://www.chanpin100.com/article/105627 )轉(zhuǎn)載文章僅供大家習(xí),不作任何商業(yè)用途。

經(jīng)常聽(tīng)見(jiàn)敏捷開(kāi)發(fā)這個(gè)詞,還有Scrum和XP,它們究竟都是什么意思,本文來(lái)聊一聊這幾個(gè)關(guān)于軟件流程和項(xiàng)目管理有關(guān)的常見(jiàn)話題。

話說(shuō)軟件最開(kāi)始出現(xiàn)的時(shí)候,開(kāi)發(fā)規(guī)模很小,以小作坊開(kāi)發(fā)的模式為主。后來(lái),硬件發(fā)展起來(lái),需要更大規(guī)模更復(fù)雜的軟件才能滿足需求,作坊式的生產(chǎn)軟件效率低,已經(jīng)不能滿足這種規(guī)模的軟件項(xiàng)目開(kāi)發(fā),所以20世紀(jì)80年代出現(xiàn)了瀑布模型。

瀑布模型提出了一個(gè)軟件聲明周期的概念,其實(shí)就是強(qiáng)調(diào)按照:可行性研究-需求分析-設(shè)計(jì)-編碼-測(cè)試-運(yùn)行維護(hù),這樣的固定順序開(kāi)始工作,就是相當(dāng)于需求一旦確定,進(jìn)入開(kāi)發(fā)階段,需求就不能再改了。變更需求就只能在下個(gè)周期進(jìn)行。這對(duì)頻繁變化的需求完成的效率非常低,所以又出現(xiàn)了敏捷開(kāi)發(fā)。

什么是敏捷開(kāi)發(fā)

敏捷開(kāi)發(fā)是以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開(kāi)發(fā)。

這個(gè)概念讀起來(lái)貌似有一點(diǎn)生硬,直接通過(guò)幾個(gè)典型的特性來(lái)說(shuō)明。

1、快速迭代

2、開(kāi)發(fā)和測(cè)試人員參與需求過(guò)程

3、合作溝通

就是在客戶還沒(méi)有明確要什么的時(shí)候,保持溝通合作持續(xù)改進(jìn),以用戶故事描述軟件需求。內(nèi)部團(tuán)隊(duì)保持簡(jiǎn)潔高效的溝通,用站會(huì)等方式直接反饋工作進(jìn)度,通過(guò)團(tuán)隊(duì)的協(xié)作和優(yōu)化反饋方式應(yīng)對(duì)快速變化的需求,相應(yīng)地縮短交付周期,最終通過(guò)不斷的澄清用戶需求,最終交付符合用戶價(jià)值的產(chǎn)品。

總結(jié)下來(lái),其實(shí)敏捷是一種思想,敏捷開(kāi)發(fā)就是敏捷思想的一個(gè)實(shí)際應(yīng)用,一旦思想指導(dǎo)到實(shí)際應(yīng)用,就具化成一些行之有效的手段和原則,比如極限編程(Extreme Programming即XP)、Scrum等這些都算是敏捷開(kāi)發(fā)的一種應(yīng)用框架。

什么是極限編程

為什么叫做極限?原因是XP強(qiáng)調(diào)把整個(gè)工作流程都做到極限,做到最好,包括極限工作環(huán)境、極限的需求、極限的設(shè)計(jì)、極限的編程、極限的設(shè)計(jì),比如它要求交付用戶的版本一定是能夠使用的,重復(fù)冗余的代碼一定要被重構(gòu)。而其它XP所不提倡的,則一概忽略(如開(kāi)發(fā)前期的整體設(shè)計(jì)等)。

再來(lái)簡(jiǎn)單介紹一個(gè)概念:用戶故事

用戶故事就是描述對(duì)用戶有價(jià)值的功能,簡(jiǎn)單點(diǎn)說(shuō)就是敏捷開(kāi)發(fā)里強(qiáng)調(diào)的管理需求的方式。

極限編程的角色

產(chǎn)品經(jīng)理:負(fù)責(zé)編寫用戶故事,排列故事優(yōu)先級(jí)以及驗(yàn)證用戶故事

項(xiàng)目經(jīng)理:負(fù)責(zé)管理項(xiàng)目進(jìn)度和流程

程序員:負(fù)責(zé)開(kāi)發(fā)任務(wù),并對(duì)代碼進(jìn)行單元測(cè)試

極限編程的工作方式

1、產(chǎn)品經(jīng)理從客戶處獲取需求,編寫用戶故事,并確定需求優(yōu)先級(jí);

2、開(kāi)發(fā)和產(chǎn)品共同對(duì)需求清單進(jìn)行評(píng)估,確定迭代周期,并按照優(yōu)先級(jí)確定在該迭代周期內(nèi)完成的需求;

3、進(jìn)入開(kāi)發(fā)階段,開(kāi)發(fā)團(tuán)隊(duì)每日更新進(jìn)度,產(chǎn)品經(jīng)理可以調(diào)整合理的需求,開(kāi)發(fā)團(tuán)隊(duì)做到快速響應(yīng);

4、迭代周期結(jié)束,產(chǎn)品經(jīng)理驗(yàn)收迭代結(jié)果,團(tuán)隊(duì)總結(jié)進(jìn)度預(yù)期經(jīng)驗(yàn),并發(fā)布版本。

極限編程的價(jià)值

重視溝通,溝通方式不拘泥于形式,可以是談話、會(huì)議或者直接畫圖

簡(jiǎn)單,以最簡(jiǎn)單的方式解決需求

重視反饋,無(wú)論是用戶反饋還是團(tuán)隊(duì)內(nèi)部人員對(duì)產(chǎn)品的反饋

勇氣,有勇氣不斷優(yōu)化產(chǎn)品功能

什么是Scrum

Scrum與極限編程類似,也是一種迭代遞增的開(kāi)發(fā)過(guò)程。

Scrum角色

與極限編程類似,但是各類人員之間并沒(méi)有嚴(yán)格的區(qū)分,比如上線前夕,產(chǎn)品經(jīng)理也可以兼職測(cè)試。

Scrum的工作方式

1、產(chǎn)品經(jīng)理列出需求清單(產(chǎn)品Backlog),并選擇優(yōu)先級(jí)高的需求作為本次迭代的需求;

2、項(xiàng)目經(jīng)理給團(tuán)隊(duì)成員分配開(kāi)發(fā)任務(wù),并進(jìn)入開(kāi)發(fā),開(kāi)發(fā)階段不允許變更本次迭代的需求;

3、開(kāi)發(fā)階段每天進(jìn)行簡(jiǎn)會(huì)(Daily Scrum),審查進(jìn)度,反饋問(wèn)題;

4、迭代周期結(jié)束,產(chǎn)品經(jīng)理驗(yàn)收迭代結(jié)果,團(tuán)隊(duì)總結(jié)進(jìn)度預(yù)期經(jīng)驗(yàn),并發(fā)布版本。

二者的區(qū)別

Scrum團(tuán)隊(duì)典型地工作在一個(gè)從2周到4周為長(zhǎng)度的迭代周期中(也被稱為Sprints)。而XP團(tuán)隊(duì)典型地工作在從1周到2周為長(zhǎng)度的迭代周期中。

Scrum團(tuán)隊(duì)在Sprints迭代周期中不允許發(fā)生變更。XP團(tuán)隊(duì)經(jīng)常在他們的迭代周期中進(jìn)行變更。只要XP團(tuán)隊(duì)還沒(méi)有開(kāi)始開(kāi)發(fā)一個(gè)特定的功能,在XP團(tuán)隊(duì)的迭代中可以使用與之前功能規(guī)模等價(jià)的新的功能來(lái)替換還沒(méi)有開(kāi)始開(kāi)發(fā)的功能。

XP團(tuán)隊(duì)的開(kāi)發(fā)工作嚴(yán)格遵守優(yōu)先級(jí)順序。相比之下,Scrum團(tuán)隊(duì)產(chǎn)品負(fù)責(zé)人排列的優(yōu)先級(jí)排序,開(kāi)發(fā)團(tuán)隊(duì)并不完全按照這個(gè)順序開(kāi)發(fā),會(huì)有一些調(diào)整。

總結(jié)

在Scrum和XP雖然存在區(qū)別,但是主要思想依舊是敏捷開(kāi)發(fā),在進(jìn)行項(xiàng)目管理時(shí)還是要根據(jù)團(tuán)隊(duì)情況,選擇合適的應(yīng)用框架。敏捷開(kāi)發(fā)模式可以讓產(chǎn)品在市場(chǎng)上快速試錯(cuò),根據(jù)數(shù)據(jù)的反饋進(jìn)行及時(shí)的戰(zhàn)略調(diào)整,讓產(chǎn)品在市場(chǎng)立于不敗之地,而在這個(gè)過(guò)程中,產(chǎn)品經(jīng)理無(wú)疑是最重要的一個(gè)角色。

文章結(jié)尾:再次申明所有轉(zhuǎn)載文章僅供學(xué)習(xí),感謝王一點(diǎn)老師的分享,如果喜歡我們的文章點(diǎn)關(guān)注??吧!比心呦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容