零基礎(chǔ)學(xué)習(xí)產(chǎn)品經(jīng)理-運(yùn)用敏捷開發(fā)十大秘訣(第二十六章)

今天繼續(xù)為大家更新《啟示錄-如何打造用戶喜愛的產(chǎn)品》?

第26章? ?合理運(yùn)用敏捷方法

Succeeding?with?Agile?Methods

十大秘訣

不少軟件產(chǎn)品團(tuán)隊(duì)已經(jīng)采納了敏捷方法,有些正在嘗試。盡管敏捷方法(包括Scrum和極限編程)有許多優(yōu)點(diǎn),??但這類方法源自定制軟件(custom?software)?領(lǐng)域,不完全適用于開發(fā)產(chǎn)品軟件(product?software)。許多產(chǎn)品團(tuán)隊(duì)歷經(jīng)磨難,才明白如何將敏捷方法應(yīng)用到產(chǎn)品軟件領(lǐng)域。

本章介紹在產(chǎn)品軟件領(lǐng)域使用敏捷方法的訣竅。不了解敏捷方法的讀者,請(qǐng)參考

http://agilemanifesto.org/

注意這些訣竅只適用于產(chǎn)品軟件團(tuán)隊(duì),不適用于定制軟件團(tuán)隊(duì)。

1.產(chǎn)品經(jīng)理即是產(chǎn)品負(fù)責(zé)人(product owner),他代表了客戶的需求,??因而需要與產(chǎn)品開發(fā)團(tuán)隊(duì)保持密切的聯(lián)系,協(xié)助督促開發(fā)進(jìn)程,及時(shí)解決出現(xiàn)的問題。有些產(chǎn)品經(jīng)理以為敏捷方法可以讓工作變得輕松,這是大錯(cuò)特錯(cuò)的。如果產(chǎn)品經(jīng)理和產(chǎn)品負(fù)責(zé)人不是由一個(gè)人擔(dān)任,通常會(huì)埋下隱患(參見第2章)。

2.?使用敏捷方法絕不等于省略產(chǎn)品規(guī)劃。產(chǎn)品經(jīng)理仍然要明白產(chǎn)品的方向和目標(biāo),設(shè)定衡量產(chǎn)品成功與否的標(biāo)準(zhǔn)。只不過在敏捷環(huán)境里,規(guī)劃周期應(yīng)該適度縮短,反復(fù)迭代,采用輕量級(jí)的機(jī)會(huì)評(píng)估方法替代冗長(zhǎng)的市場(chǎng)需求文檔(參見第11章)。

3.產(chǎn)品經(jīng)理和設(shè)計(jì)師的工作進(jìn)度應(yīng)該比開發(fā)團(tuán)隊(duì)領(lǐng)先一兩個(gè)迭代周期,確保你們有足夠的時(shí)間攻克難題。讓交互設(shè)計(jì)師和視覺設(shè)計(jì)師提前設(shè)計(jì)產(chǎn)品,充分發(fā)揮他們主導(dǎo)設(shè)計(jì)的作用,不能一邊設(shè)計(jì)一邊開發(fā)(參見第19章)。另外,始終讓開發(fā)人員參與評(píng)估產(chǎn)品設(shè)計(jì)和產(chǎn)品原型,及時(shí)反饋關(guān)于可行性、成本、解決方案的建議。

4.盡量把產(chǎn)品設(shè)計(jì)工作拆分成獨(dú)立的部分,分而治之,但也不能拆得太細(xì)——好比設(shè)計(jì)建筑不能一次只設(shè)計(jì)一個(gè)房間。目標(biāo)是設(shè)計(jì)出符合基本要求的產(chǎn)品(參見第20章)。值得注意的是,在敏捷環(huán)境里,設(shè)計(jì)師必須加快工作速度,采用迅速制作原型的方法更能適應(yīng)敏捷環(huán)境。

5.產(chǎn)品經(jīng)理的主要任務(wù)是定義有價(jià)值、可用的產(chǎn)品原型和用戶故事(user?story),作為開發(fā)的基礎(chǔ)。用產(chǎn)品原型和用戶故事替代厚厚的產(chǎn)品需求文檔和功能說明文檔有三個(gè)優(yōu)勢(shì):①可以請(qǐng)用戶測(cè)試;②強(qiáng)迫產(chǎn)品經(jīng)理全面認(rèn)真地思考問題;③向開發(fā)團(tuán)隊(duì)明確地描述每次迭代周期需要完成的任務(wù)。請(qǐng)用戶測(cè)試原型,根據(jù)反饋意見反復(fù)迭代修改原型設(shè)計(jì),確保交給開發(fā)團(tuán)隊(duì)的是有價(jià)值的結(jié)果,避免任何浪費(fèi),哪怕只是一個(gè)迭代周期。

6.??讓開發(fā)人員自主劃分迭代周期。有的產(chǎn)品功能可以在一個(gè)迭代周期完成,有的卻需要好幾次迭代才能完成。好的原型可以提高估算工作量和開發(fā)時(shí)間的精度。??別忘了,開發(fā)團(tuán)隊(duì)必須考慮產(chǎn)品的質(zhì)量、性能、擴(kuò)展性,應(yīng)該讓他們自行決定如何劃分迭代周期。

7.產(chǎn)品經(jīng)理和交互設(shè)計(jì)師必須出席每天的晨會(huì)。晨會(huì)是一天溝通過程的開始,而不是結(jié)束,關(guān)于產(chǎn)品的討論會(huì)持續(xù)一整天。設(shè)計(jì)師向開發(fā)人員和測(cè)試人員展示產(chǎn)品功能;開發(fā)人員互相展示完成的代碼,讓測(cè)試人員測(cè)試,請(qǐng)?jiān)O(shè)計(jì)師和產(chǎn)品經(jīng)理過目;測(cè)試人員和開發(fā)人員在制作原型的階段識(shí)別潛在的問題,協(xié)助產(chǎn)品經(jīng)理制定更合理的決策,解決產(chǎn)品設(shè)計(jì)、開發(fā)的問題。

8.除非達(dá)到了產(chǎn)品經(jīng)理的要求,否則不要輕易發(fā)布新版本。產(chǎn)品經(jīng)理必須確保交給用戶的產(chǎn)品能正常運(yùn)行。過度頻繁更新版本會(huì)讓用戶感到不安(參見第24章)。

9.??在每次迭代完成后,產(chǎn)品經(jīng)理應(yīng)該向團(tuán)隊(duì)展示產(chǎn)品現(xiàn)狀,以及下次迭代的產(chǎn)品原型,讓大家看到工作成果,同時(shí)加深大家對(duì)產(chǎn)品的理解,增強(qiáng)團(tuán)隊(duì)對(duì)這種開發(fā)方式的信心。

10.在團(tuán)隊(duì)內(nèi)展開敏捷培訓(xùn)。聘請(qǐng)敏捷顧問協(xié)助你們完成向敏捷團(tuán)隊(duì)轉(zhuǎn)型的目標(biāo),但是要確保敏捷顧問有過類似的工作經(jīng)驗(yàn),理解產(chǎn)品軟件與定制軟件的差別。只有每位團(tuán)隊(duì)成員都真正理解敏捷方法,你才能把工作重心放在執(zhí)行.上,否則敏捷方法就只能停留在教條式的理論層面。

問答解疑:迭代初期開發(fā)的產(chǎn)品能用做原型嗎?

有些敏捷方法的倡導(dǎo)者和實(shí)踐者認(rèn)為開發(fā)團(tuán)隊(duì)可以把迭代初期開發(fā)的產(chǎn)品當(dāng)做產(chǎn)品原型用。這種做法也許適用于定制軟件,畢竟定制軟件不需要我所說的產(chǎn)品管理,也少有用戶體驗(yàn)設(shè)計(jì),然而,這種做法對(duì)產(chǎn)品軟件是行不通的,原因如下。

第一,用一個(gè)迭代周期來驗(yàn)證產(chǎn)品創(chuàng)意(通常存在缺陷)時(shí)間太長(zhǎng)?;◣讉€(gè)月時(shí)間驗(yàn)證生產(chǎn)中的產(chǎn)品與用幾天時(shí)間驗(yàn)證可更改的產(chǎn)品原型相比,后者效率顯然更高。

第二,在探索(定義)產(chǎn)品的階段,開發(fā)團(tuán)隊(duì)還有許多重要的工作要完成。如果這時(shí)占用開發(fā)團(tuán)隊(duì)的時(shí)間開發(fā)產(chǎn)品原型,會(huì)消耗他們開發(fā)正式產(chǎn)品的精力。

第三,盡管敏捷方法鼓勵(lì)開發(fā)團(tuán)隊(duì)不斷學(xué)習(xí),快速反應(yīng),可一旦進(jìn)入開發(fā)階段,設(shè)計(jì)出軟件架構(gòu)后,再想改變產(chǎn)品設(shè)計(jì)思路,對(duì)開發(fā)團(tuán)隊(duì)來說,無論是成本還是難度都太高了。

問答解疑:敏捷方法可以用來開發(fā)產(chǎn)品軟件嗎?

像Scrum這樣的敏捷方法的確解決了許多困擾軟件團(tuán)隊(duì)多年的問題,??但是多數(shù)產(chǎn)品經(jīng)理、用戶體驗(yàn)設(shè)計(jì)師、測(cè)試人員,對(duì)敏捷方法持懷疑態(tài)度,不確定自己應(yīng)該扮演什么角色。毫無疑問,實(shí)施敏捷方法絕對(duì)離不開這些人,出現(xiàn)這種情況是因?yàn)椤霸肌钡拿艚莘椒ú⒉贿m用于研發(fā)產(chǎn)品軟件。我發(fā)現(xiàn)解釋敏捷方法的起源可以幫助人們理解它的適用范圍。

敏捷方法的起源? ??

Scrum于1986年誕生于日本,距今已有二十多年的歷史,許多人對(duì)此感到驚訝不已(這又一次證明了,新觀念要經(jīng)過很長(zhǎng)時(shí)間才能被人們廣泛接受)。值得注意的是,這些方法起源于定制軟件領(lǐng)域,而不是產(chǎn)品軟件領(lǐng)域。

長(zhǎng)久以來,開發(fā)定制軟件困難重重原因之一是,雖然需求確實(shí)存在,但客戶通常不知道自己想要什么。他們與軟件公司簽訂合約,把自己的需求告訴開發(fā)人員,由開發(fā)人員自行開發(fā)。等到交付軟件時(shí),客戶往往發(fā)現(xiàn)到手的軟件和想象中的相差十萬八千里,于是又要求開發(fā)人員修改,如此惡性循環(huán),客戶屢屢失望而歸。但是由于剛性需求一直存在,所以開發(fā)人員、軟件供應(yīng)商、相關(guān)專業(yè)服務(wù)機(jī)構(gòu)不必?fù)?dān)心沒有生意做。

另外,定制軟件領(lǐng)域長(zhǎng)期以來很難招聘/留住頂級(jí)的程序員。部分原因是頂級(jí)的程序員更喜歡為成千上萬的用戶開發(fā)產(chǎn)品軟件,因而選擇在產(chǎn)品軟件公司工作。而且產(chǎn)品軟件公司能提供更具競(jìng)爭(zhēng)力的薪資待遇。產(chǎn)品軟件公司必須開發(fā)出滿足大眾需求的產(chǎn)品,否則就得關(guān)門大吉,他們懂得只有用高薪吸引頂尖人才,推出優(yōu)質(zhì)的產(chǎn)品,才能獲得高額利潤(rùn)。所以,多數(shù)資質(zhì)普通的程序員留在了定制軟件領(lǐng)域。

定制軟件的客戶認(rèn)為自己了解自己的需求,所以不需要什么產(chǎn)品經(jīng)理。他們也不需要用戶體驗(yàn)設(shè)計(jì)師,這個(gè)原因更復(fù)雜,主要是客戶不理解什么是用戶體驗(yàn)(在定制軟件領(lǐng)域幾乎沒人認(rèn)識(shí)到用戶體驗(yàn)的重要性),以及對(duì)成本過于敏感(讓開發(fā)人員設(shè)計(jì)產(chǎn)品可以節(jié)約成本)。另外,用戶體驗(yàn)設(shè)計(jì)人才極度短缺也是不能忽視的原因,即便定制軟件公司意識(shí)到用戶體驗(yàn)的重要性,也很難招聘到合適的用戶體驗(yàn)設(shè)計(jì)師,因?yàn)樗麄冊(cè)缇捅划?dāng)成“香餑餑”被少數(shù)幾家大公司搶去了。同樣,定制軟件項(xiàng)目里也鮮見測(cè)試人員,本該由他們完成的測(cè)試工作都被開發(fā)人員包攬了。

定制軟件的另一特點(diǎn)是大多數(shù)項(xiàng)目規(guī)模較小,一般用來支持公司內(nèi)部運(yùn)營(yíng),比如人力資源、財(cái)務(wù)、??生產(chǎn)系統(tǒng),有限的用戶數(shù)量使得可擴(kuò)展性和性能表現(xiàn)通常不受重視。

以前,定制軟件領(lǐng)域常使用瀑布式開發(fā)方法,這樣做是為了便于客戶監(jiān)督漫長(zhǎng)的開發(fā)過程。實(shí)際上,瀑布式開發(fā)方法也同樣源于定制軟件領(lǐng)域。

產(chǎn)品軟件必須在各方面都盡量做到完美,才能贏得市場(chǎng)。所以必須由產(chǎn)品經(jīng)理負(fù)責(zé)收集廣大用戶的需求;由用戶體驗(yàn)設(shè)計(jì)師創(chuàng)造完美的用戶體驗(yàn);由測(cè)試人員測(cè)試產(chǎn)品,保證軟件可以像廣告里說的那樣正常運(yùn)行。

敏捷方法極大地提高了開發(fā)定制軟件的效率:增進(jìn)了客戶和開發(fā)人員之間的交流;通過更頻繁的迭代來大幅度降低風(fēng)險(xiǎn)(客戶可以更早看到階段性的產(chǎn)品,再不必等到整個(gè)開發(fā)過程結(jié)束);引進(jìn)了現(xiàn)代軟件測(cè)試的理念;省去了撰寫連篇累牘的產(chǎn)品說明文檔的麻煩(這些文檔實(shí)際上少有人閱讀,很快就會(huì)被束之高閣) 。

我認(rèn)為敏捷方法同樣適用于產(chǎn)品軟件的開發(fā),但應(yīng)用時(shí)應(yīng)該做出相應(yīng)的調(diào)整。我曾經(jīng)寫過相關(guān)文章(如何在開發(fā)過程中加入用戶體驗(yàn)設(shè)計(jì),如何管理產(chǎn)品的發(fā)布和部署)。敏捷方法唯一不適合產(chǎn)品軟件開發(fā)的地方是在架構(gòu)設(shè)計(jì)方面。敏捷方法鼓勵(lì)開發(fā)人員不要拘泥于傳統(tǒng)的開發(fā)流程,要相信簡(jiǎn)單重構(gòu)和快速重新設(shè)計(jì)架構(gòu)的優(yōu)勢(shì)。這對(duì)多數(shù)定制軟件來說是可行的,但對(duì)產(chǎn)品軟件系統(tǒng)(比如針對(duì)成千上萬用戶的大眾網(wǎng)絡(luò)服務(wù))而言,這個(gè)想法就太天真了。

所以,產(chǎn)品軟件團(tuán)隊(duì)使用敏捷方法時(shí)遇到問題不足為奇,主要是因?yàn)樗麄冋瞻崃硕ㄖ栖浖拿艚菽J?。至今多?shù)介紹敏捷方法的圖書、文章、培訓(xùn)課程依然不涉及產(chǎn)品經(jīng)理和用戶體驗(yàn)設(shè)計(jì)師(交互設(shè)計(jì)師和視覺設(shè)計(jì)師)的作用,??因?yàn)樗鼈冡槍?duì)的讀者群還是定制軟件團(tuán)隊(duì)。

要想成功轉(zhuǎn)型成為敏捷開發(fā)團(tuán)隊(duì),選一位合格的敏捷教練相當(dāng)重要,他必須理解產(chǎn)品軟件與定制軟件的差別,了解產(chǎn)品軟件的特殊需求,而這正是多數(shù)人不明白的。

更多資料可掃碼關(guān)注“產(chǎn)品經(jīng)理讀書營(yíng)”,百人產(chǎn)品經(jīng)理手把手帶你實(shí)現(xiàn)進(jìn)階。進(jìn)群即可領(lǐng)取產(chǎn)品大禮包。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容