本書講了什么
在軟件行業(yè)中终议,我們把設(shè)計(jì)汇竭、打造、發(fā)布一款符合市場需求的軟件稱為交付(shipping)穴张。一旦走上了軟件交付之路细燎,你將面臨產(chǎn)品、方案皂甘、項(xiàng)目和工程管理各方面的挑戰(zhàn)玻驻。本書講的就是作者在谷歌和亞馬遜的交付經(jīng)驗(yàn)之談。
作者什么來頭
Chris Vander Mey偿枕,F(xiàn)acebook產(chǎn)品經(jīng)理璧瞬,曾任谷歌高級產(chǎn)品經(jīng)理、亞馬遜技術(shù)產(chǎn)品開發(fā)經(jīng)理和工程經(jīng)理渐夸,他交付的軟件正在被億萬人所使用嗤锉。Chris曾多次帶隊(duì)在消費(fèi)者或企業(yè)領(lǐng)域開發(fā)軟件,其中包括亞馬遜的實(shí)名制系統(tǒng)墓塌,也包括Google Maps瘟忱。
第一部分 交付卓越產(chǎn)品,步步為“贏”
有效交付過程的7個(gè)階段
階段一桃纯,確定正確的產(chǎn)品方向酷誓。好的產(chǎn)品一定要滿足眾多客戶所共有的某個(gè)真實(shí)的需求。你的使命就是找到一種獨(dú)特而有意義的方法去滿足這一需求态坦。
階段二盐数,盡可能清晰詳細(xì)地定義產(chǎn)品。這個(gè)過程需要10個(gè)主要步驟伞梯,包括撰寫新聞稿玫氢、創(chuàng)建并不斷更新FAQ文檔帚屉、撰寫功能需求文檔等。
階段三漾峡,設(shè)計(jì)用戶體驗(yàn)攻旦。你需要從用戶的角度出發(fā),和設(shè)計(jì)團(tuán)隊(duì)不斷溝通生逸、反復(fù)迭代牢屋,最終構(gòu)建出良好、直觀槽袄、簡潔的用戶體驗(yàn)烙无。
階段四,做一些基礎(chǔ)的項(xiàng)目管理工作遍尺。項(xiàng)目管理工作包括跟蹤交付物的進(jìn)展截酷、指出問題以及控制項(xiàng)目范圍。
階段五乾戏,開始測試迂苛。你需要主導(dǎo)bug的處理并慎重決定哪些可以容忍出現(xiàn)在版本1而哪些又必須在發(fā)布之前修復(fù)掉。
階段六鼓择,準(zhǔn)備發(fā)布三幻。不過在發(fā)布之前要清楚知道怎樣才算成功,這就要求你建立一套衡量產(chǎn)品成敗的指標(biāo)惯退。讓團(tuán)隊(duì)利用剩余工時(shí)來把這些指標(biāo)納入監(jiān)控并搭建產(chǎn)品狀態(tài)面板赌髓。
最后,正式發(fā)布產(chǎn)品催跪。發(fā)布一款卓越的產(chǎn)品可不只是上傳一些文件到服務(wù)器上那么簡單,你需要制訂市場營銷和公關(guān)方案夷野,并在發(fā)布前仔細(xì)核查清單中的每一項(xiàng)內(nèi)容懊蒸。
第1章贏在使命和策略
如何找到正確的需求
團(tuán)隊(duì)?wèi)?yīng)該始終積極地去解決客戶的問題,而不是緊盯競爭對手悯搔,被動(dòng)地做出反應(yīng)骑丸。我們學(xué)到必須專注于解決真正的客戶問題。當(dāng)把一個(gè)問題不斷放大時(shí)妒貌,你覆蓋的客戶會(huì)不斷增多通危,而問題的解決也會(huì)使更多人受益,這意味著你的潛在收益會(huì)更大灌曙,財(cái)富菊碟、名望、成功也就隨之而來了在刺。
如何構(gòu)建卓越的使命
卓越的使命需要完全符合以下三點(diǎn)要求:
能夠喚起人們的興趣逆害。
提供言之有物且能指明方向的原則头镊。
適合印在T恤上。
最后一個(gè)衷告:你需要的是一個(gè)能夠反映代表性產(chǎn)品或服務(wù)的使命魄幕,而不是一個(gè)面面俱到的使命相艇。
如何制訂正確的策略
策略是指在競爭對手的壓力下,利用公司獨(dú)特的優(yōu)勢來爭取目標(biāo)用戶的粗略計(jì)劃纯陨。它只是一段用于說明對目標(biāo)客戶來說你的產(chǎn)品將如何長期保持比競爭對手更強(qiáng)的吸引力的話坛芽。簡而言之,你需要闡明三件事:客戶翼抠、公司和競爭咙轩。
當(dāng)你開始思考公司、客戶和競爭這三大問題時(shí)机久,需特別注意如何才能長期為客戶提供比競爭對手更優(yōu)質(zhì)的產(chǎn)品臭墨。你需要深思遠(yuǎn)慮,因?yàn)橐肴〉蒙虡I(yè)上的成功就必須保持長期的競爭優(yōu)勢膘盖,否則競爭對手就會(huì)迅速模仿并推出一個(gè)和你的產(chǎn)品功能一樣胧弛、價(jià)格卻更低廉的新品牌來將你一舉擊潰。
第2章贏在產(chǎn)品定義
產(chǎn)品定義過程主要分為10步:
第1步:撰寫新聞稿
所謂新聞稿是指一篇向市場宣布將要推出新產(chǎn)品的通告侠畔,應(yīng)該簡單明了地傳達(dá)關(guān)于產(chǎn)品的關(guān)鍵信息结缚。新聞稿的媒體屬性注定了它天生就更簡潔、可讀性更強(qiáng)且更關(guān)注真實(shí)的產(chǎn)品能給真實(shí)的用戶帶來什么價(jià)值软棺。好的新聞稿包含六大要素:產(chǎn)品命名红竭、發(fā)布時(shí)間、目標(biāo)客戶喘落、解決了什么問題茵宪、如何解決、CEO的公開贊辭瘦棋。
第2步:創(chuàng)建并不斷更新FAQ文檔
隨著產(chǎn)品方案的不斷細(xì)化稀火,各種問題也層出不窮,我會(huì)迅速把這些問題記到一個(gè)內(nèi)部FAQ文檔中并盡我所能回答提問者赌朋。創(chuàng)建并維護(hù)FAQ文檔有兩大好處凰狞。第一,它能節(jié)省你大量回復(fù)郵件的時(shí)間沛慢,還能抵御一些內(nèi)部責(zé)難赡若。第二,當(dāng)你的客戶支持團(tuán)隊(duì)和科技寫作團(tuán)隊(duì)開始整理所有面向公眾的內(nèi)容時(shí)团甲,F(xiàn)AQ將是一個(gè)很有價(jià)值的資源
第3步:繪制線框圖和流程圖
在FAQ中撰寫問題答案時(shí)逾冬,你會(huì)發(fā)現(xiàn)其中一些答案用流程圖或線框圖來表述會(huì)更好一些,尤其是涉及用戶體驗(yàn)(UX)的細(xì)節(jié)時(shí)伐庭。流程圖可以幫助你準(zhǔn)確地解釋用戶工作流和系統(tǒng)交互相關(guān)問題粉渠,簡要線框圖則可以幫助你具象化產(chǎn)品各環(huán)節(jié)的用戶體驗(yàn)分冈。
第4步:撰寫產(chǎn)品單頁和制作10分鐘的演示文稿
這兩份文檔所需包含的五個(gè)要素:
產(chǎn)品名稱。
目標(biāo)客戶數(shù)量有多少霸株。
解決了什么問題雕沉。
這個(gè)問題對于目標(biāo)客戶來說有多大價(jià)值。
解決方案去件。
何時(shí)交付坡椒。主要的里程碑有哪些尤溜?
團(tuán)隊(duì)背景(僅針對VC)。
第5步:在FAQ中增加API文檔
API文檔可以說明你的團(tuán)隊(duì)如何與其他團(tuán)隊(duì)協(xié)作丈攒、外部開發(fā)者如何使用這套系統(tǒng)以及你需要存儲什么數(shù)據(jù)。預(yù)先定義清楚API還有個(gè)好處授霸,它可以幫助你搭建由這些API構(gòu)成的面向服務(wù)的體系架構(gòu)(SOA)。因此預(yù)先撰寫API文檔對每個(gè)人都有很大幫助显设。
第6步:撰寫功能規(guī)格文檔
它是用來詳細(xì)描述用戶應(yīng)該如何體驗(yàn)產(chǎn)品的文檔。它不包含系統(tǒng)在后臺如何運(yùn)行之類的技術(shù)細(xì)節(jié)辛辨,這類細(xì)節(jié)應(yīng)該包含在工程主管撰寫的技術(shù)規(guī)格或設(shè)計(jì)文檔中。功能規(guī)格文檔包含以下九個(gè)內(nèi)容塊:
簡介斗搞。它說明了為什么要做這個(gè)產(chǎn)品以及做些什么,每個(gè)新進(jìn)入項(xiàng)目的成員都可以從中了解到必要的背景信息幽七。
目標(biāo)與非目標(biāo)溅呢。你需要將產(chǎn)品方向細(xì)化成不同目標(biāo)猿挚,每個(gè)目標(biāo)都應(yīng)保持清晰簡潔并將它們按優(yōu)先級排列。
用例或用戶場景铣墨。用例是指用簡要的語句來描述那些用戶必須執(zhí)行的操作办绝,用戶場景則是指用敘述故事的方式來描述用戶是如何體驗(yàn)產(chǎn)品的姚淆。
原型圖或線框圖腌逢。將這些圖粘貼到功能說明中超埋,它們是用戶場景的重要補(bǔ)充。
API霍殴。如果你還沒寫API文檔,那就現(xiàn)在寫妒蔚,不過前提是已征得工程團(tuán)隊(duì)的同意。
負(fù)載規(guī)劃月弛。負(fù)載規(guī)劃是指對未來一段時(shí)間內(nèi)用戶的使用量進(jìn)行粗略估計(jì)并制訂應(yīng)對計(jì)劃肴盏。
依賴。你需要將全部依賴方及其負(fù)責(zé)人列出來尊搬,如果有應(yīng)急方案也一并列出來叁鉴。
FAQ和開放問題。你可以直接將FAQ和開放問題的鏈接地址放入功能文檔中幌墓,也可以把內(nèi)容復(fù)制過來常侣。
關(guān)鍵事件弹渔。你最好能列出主要事件的達(dá)成時(shí)間肢专,如特性完成時(shí)間、可信測試者版發(fā)布時(shí)間椿胯。
第7步:找出邊界情況并得到團(tuán)隊(duì)認(rèn)可
你的團(tuán)隊(duì)將開始尋找邊界情況或者極端情況剃根,即極少出現(xiàn)的產(chǎn)品行為或場景。不要抱怨這個(gè)看似繁瑣的事情廉油,如果不找出所有邊界和極端情況抒线,你就無法采取應(yīng)對措施。
第8步:客戶測試
去找一批現(xiàn)存的或潛在的客戶趣竣,向他們介紹你的產(chǎn)品設(shè)想和原型遥缕,并聽聽他們的反饋宵呛。這個(gè)測試可以避免你做出一個(gè)沒人想用的產(chǎn)品或者遺漏一些核心功能宝穗。
第9步:想清楚基本的商業(yè)要素——命名、定價(jià)和收益
考慮產(chǎn)品命名以及產(chǎn)品能帶來多大收益鸡号。當(dāng)你向高管或投資者匯報(bào)產(chǎn)品方案時(shí)须鼎,需要一個(gè)確定的名稱來確保你們討論的是同一個(gè)東西晋控。你還需要告訴他們產(chǎn)品能帶來多大收益,從而使他們更認(rèn)真地對待你的方案仲吏,而要想預(yù)估產(chǎn)品收益就得先給產(chǎn)品定價(jià)裹唆。
第10步:取得上層的認(rèn)可
為了讓負(fù)責(zé)決策的高管最終認(rèn)可你的產(chǎn)品方案只洒,你需要預(yù)先爭取中間每一級老板的支持红碑,然后讓直接向該高管匯報(bào)的家伙預(yù)先順暢地了解你的產(chǎn)品概念。
第3章贏在用戶體驗(yàn)
6個(gè)用戶體驗(yàn)問題
該用戶界面要求用戶完成的最重要的任務(wù)是什么羡鸥?
主要角色必須完成的主要任務(wù)是什么惧浴?該用戶界面要求主要角色完成的主要任務(wù)又是什么奕剃?關(guān)注主要角色而非全體用戶可以幫助你更好確定優(yōu)先級纵朋。若以上兩個(gè)問題答案一致,則設(shè)計(jì)是符合要求的嘁锯,反之你就需要做些工作了聂薪。我們要做的是清晰地闡述我們的業(yè)務(wù)目標(biāo)以及它們之間的優(yōu)先級藏澳,之后將權(quán)力交給設(shè)計(jì)團(tuán)隊(duì),讓他們以此為基礎(chǔ)進(jìn)行一系列的優(yōu)化业崖。
這是最簡單的解決方案嗎腻要?
用戶完成任務(wù)的能力與該任務(wù)的復(fù)雜程度呈非線性函數(shù)關(guān)系涝登。你對用戶要求得越多胀滚,用戶完成的能力和意愿就越低。簡化特性顷编,讓用戶只做他們必須做的剑刑,然后隱藏那些偶爾使用或者次重要的高級特性双肤。
信息是否組織得當(dāng)茅糜?
有時(shí)候你想展示的信息會(huì)有多個(gè)行動(dòng)點(diǎn)素挽,你需要讓它們保持平衡预明。亞馬遜的產(chǎn)品詳情頁面,幾乎所有內(nèi)容塊都統(tǒng)一按照它們的收益能力排序酥馍。有些特性的直接影響很難評估窗慎,如客戶評價(jià)遮斥,它們被放到了頁面底部。有些特性則很容易評估尉辑,如“看過此商品后顧客買的其他商品”隧魄,它被放在靠近頁面頂部的地方隘蝎。最重要的客戶類型最關(guān)注的信息應(yīng)該最突出嘱么。信息應(yīng)該盡可能個(gè)性化且實(shí)時(shí),也應(yīng)在合理的前提下盡可能詳細(xì)几迄。用戶喜歡適度精確的信息映胁。最常用的控件出現(xiàn)在最容易找到的地方甲雅。
設(shè)計(jì)是否易用并且一目了然?
當(dāng)識別出了用戶最需要完成的核心任務(wù)后妆距,你需要問問自己這些任務(wù)是否是可發(fā)現(xiàn)且可理解的。可發(fā)現(xiàn)性是指用戶發(fā)現(xiàn)行動(dòng)點(diǎn)的能力中剩。以“加入購物車”這個(gè)行動(dòng)點(diǎn)為例抒寂,如果你的用戶連“加入購物車”的按鈕都很難找到屈芜,你這份工作也別想再干下去了。
解決可發(fā)現(xiàn)性問題的三種常用方法:
定位属铁。在西方文化中信息的優(yōu)先級是從左上角向右下角遞減的焦蘑。如果你想把行動(dòng)點(diǎn)放在最顯眼的地方盒发,你很可能需要把它放在內(nèi)容的左上角宁舰。
視覺設(shè)計(jì)蛮艰。視覺設(shè)計(jì)能有效解決可發(fā)現(xiàn)性問題,你可通過改變元素大小低葫,使用差異化配色仍律,或者跳出柵格來使你的行動(dòng)點(diǎn)變得易于發(fā)現(xiàn)水泉。
慣例。應(yīng)用程序钢拧、網(wǎng)站和企業(yè)都依賴于某種設(shè)計(jì)語言來使任務(wù)可被理解源内。
標(biāo)準(zhǔn)是否一致膜钓?
最好確保你的應(yīng)用程序中按鈕始終位于同一位置,特別是當(dāng)它們運(yùn)行在iOS或者Android上時(shí)夫壁。所有主要按鈕都應(yīng)尺寸放大且配色一致盒让。一個(gè)用戶界面中只有一個(gè)主要按鈕司蔬。使用一組按鈕來表示“是”或“否”這樣的選擇葱她。不同優(yōu)先級的行動(dòng)點(diǎn)使用不同的樣式。當(dāng)一個(gè)流程有3或4張頁面時(shí)搓谆,告訴用戶目前處于哪一步以及共有多少步泉手。
能否減少用戶點(diǎn)擊次數(shù)偶器?
問自己:“我能把一個(gè)表單從兩頁合成一頁嗎屏轰?”用戶必要的點(diǎn)擊次數(shù)會(huì)極大影響用戶完成這個(gè)任務(wù)的能力霎苗。你還需要仔細(xì)考慮用戶選項(xiàng)中的默認(rèn)設(shè)置。如果你的默認(rèn)設(shè)置符合用戶的需求内狸,用戶就可以少點(diǎn)擊幾次昆淡,同時(shí)也少遇到一些異常結(jié)果。另一個(gè)可減少點(diǎn)擊次數(shù)的重要方面是減少用戶在鍵盤和鼠標(biāo)之間來回切換的次數(shù)避凝。
了解如何與設(shè)計(jì)師溝通
把他們當(dāng)做專家來對待恕曲。
以用戶的口吻說話渤涌。
以提問的方式建立共識实蓬。
反復(fù)講述業(yè)務(wù)目標(biāo)吊履。
幫助設(shè)計(jì)師了解他必須解決的問題是什么艇炎。
避免設(shè)置主觀目標(biāo)也能幫助你的團(tuán)隊(duì)缀踪。
用數(shù)據(jù)說話。
提供一些競爭對手或類似體驗(yàn)中運(yùn)作良好的案例奏候。
學(xué)習(xí)如何借助圖畫進(jìn)行溝通
只制作用戶界面中相關(guān)部分的原型蔗草〗幔總是使用完整的、經(jīng)過適當(dāng)編輯的文本模叙∠蚵ィ控制花在視覺設(shè)計(jì)上的時(shí)間。使用灰度色逻卖,不要使用其他顏色评也。預(yù)期你的線框圖會(huì)發(fā)生很大改動(dòng)灭返。當(dāng)心視覺花招熙含。
控制花在視覺設(shè)計(jì)上的時(shí)間視覺設(shè)計(jì)怎静、品牌、命名等元素都是主觀的腌乡,與用戶能否完成任務(wù)的關(guān)系也不大与纽。不像文案塘装,這些花哨的元素不會(huì)幫助你理解用戶體驗(yàn)氢哮,要是你把它們添加到原型中反而可能產(chǎn)生關(guān)于樣式的爭論冗尤,而這種爭論與你想要解決的問題一點(diǎn)關(guān)系都沒有裂七。你應(yīng)該使用標(biāo)簽明確的占位符框來替代這些視覺元素,然后繼續(xù)下一步腰吟。
第4章贏在項(xiàng)目管理
創(chuàng)建一張簡單的計(jì)劃表并持續(xù)維護(hù)
你需要一張計(jì)劃表來告訴你何時(shí)可以交付毛雇。一張簡單的計(jì)劃表只需包含任務(wù)列表和每個(gè)任務(wù)的工程評估量,這個(gè)量是指工程師或設(shè)計(jì)師完成該任務(wù)所需要的時(shí)間织阅。你只需將這些任務(wù)按照他們認(rèn)可的特性優(yōu)先級排序并分配給團(tuán)隊(duì)成員荔棉,然后一張計(jì)劃表就成型了润樱。一張簡單的Google電子表格就足以管理這些任務(wù)和評估量了壹若。如圖皂冰。
這份電子表格的使用方法:
你需要和開發(fā)主管合作將各項(xiàng)任務(wù)填入到任務(wù)分解區(qū)域灼擂。
評估每個(gè)任務(wù)在不考慮余量的情況下所需的剩余開發(fā)者日剔应,并猜測哪個(gè)工程師可以承擔(dān)這個(gè)工作峻贮。
將每個(gè)任務(wù)都?xì)w屬到產(chǎn)品的某個(gè)目標(biāo)版本中应闯。你可能知道這些版本被稱為“迭代”碉纺,其實(shí)它們也同樣是你的發(fā)布版本骨田。
如何拿到評估量
讓你的工程經(jīng)理去要評估量态贤。
表面上接受評估結(jié)果。
認(rèn)識到你的權(quán)力箱吕。
只跟蹤剩余時(shí)間茬高。
要求不考慮余量的評估雅采。
每周一次在團(tuán)隊(duì)會(huì)議上評估各任務(wù)的剩余時(shí)間。
跟蹤Bug并創(chuàng)建Bug燃盡圖
Bug燃盡圖是一張反映你的Bug數(shù)量隨時(shí)間變化情況的圖表宝鼓。它可以預(yù)測產(chǎn)品何時(shí)能夠交付愚铡。制作燃盡圖需要為不同嚴(yán)重等級的Bug各繪制一條其數(shù)量隨時(shí)間變化的曲線沥寥。你還可能想要繪制一條描述Bug總量隨時(shí)間變化的曲線邑雅。
你應(yīng)該期望接近編碼完成時(shí)Bug數(shù)量會(huì)隨時(shí)間不斷增加淮野,然后接近發(fā)布時(shí)Bug數(shù)量會(huì)隨時(shí)間不斷下降吹泡。這些Bug下降的比率爆哑,或者說這條曲線的斜率揭朝,被稱作發(fā)現(xiàn)/修復(fù)率。當(dāng)發(fā)現(xiàn)/修復(fù)率小于1露筒,即每天修復(fù)的Bug數(shù)量超過每天發(fā)現(xiàn)的Bug數(shù)量時(shí)慎式,你才能確定Bug的具體規(guī)模并精準(zhǔn)地預(yù)測發(fā)布日期。
當(dāng)Bug發(fā)現(xiàn)/修復(fù)率降到1以下時(shí)瘪吏,你便能通過計(jì)算Bug數(shù)歸零的日期來預(yù)測產(chǎn)品何時(shí)能夠按照給定的質(zhì)量等級發(fā)布了癣防。如果你對測算出來的發(fā)布日期不滿意,你只有兩個(gè)選擇:降低你的質(zhì)量標(biāo)準(zhǔn)掌眠,或者增加工程人力以更快修復(fù)更多Bug蕾盯。
管理依賴
如果去除它也可以運(yùn)轉(zhuǎn),那就去除它蓝丙。
如果內(nèi)部能構(gòu)建,那就內(nèi)部構(gòu)建渺尘。
如果必須添加一個(gè)依賴挫鸽,那就趁早添加。
如果必須添加一些依賴鸥跟,那就依靠它上一個(gè)已構(gòu)建的版本丢郊。
如果交付得早,被依賴傷害的可能性就小医咨。
第5章贏在測試
如果你交付的軟件無法正常工作枫匾,賣不出去是一方面,更糟糕的是你會(huì)因此蒙羞拟淮。高中蒙羞測試:你只需捫心自問:“我能確信當(dāng)一個(gè)高中老同學(xué)看到我的產(chǎn)品時(shí)我不會(huì)感到羞愧嗎干茉?”記住,你的工程團(tuán)隊(duì)成員都有一幫高中老同學(xué)很泊,別讓他們因?yàn)槟愕漠a(chǎn)品而蒙羞等脂。
如何確保你交付的軟件不會(huì)讓你蒙羞呢?你可以遵循下面8個(gè)主要步驟撑蚌,這些步驟對產(chǎn)品質(zhì)量有著重大影響:
堅(jiān)持測試驅(qū)動(dòng)開發(fā)
埃迪工程師將代碼分成多個(gè)片段,每個(gè)片段負(fù)責(zé)執(zhí)行一些簡單的操作搏屑。這些片段稱為單元争涌。例如,countToTen()是一個(gè)軟件單元辣恋。在寫countToTen這個(gè)方法之前亮垫,埃迪先寫了一個(gè)測試,即單元測試伟骨。大體是這樣寫的:If countToTen() is equal to 10, then pass;else,fail.單元測試寫完后饮潦,他開始寫countToTen方法,如果索引在循環(huán)中意外失效導(dǎo)致count
ToTen實(shí)際上輸出的是9携狭,測試就會(huì)失敗继蜡。當(dāng)軟件構(gòu)建時(shí),所有的單元測試會(huì)自動(dòng)執(zhí)行。
圍繞優(yōu)秀的測試主管組建測試團(tuán)隊(duì)
無論你的工程團(tuán)隊(duì)多么優(yōu)秀稀并、編寫了多少單元測試仅颇,總是避免不了Bug的。找到這些Bug的最佳策略就是雇傭或者任命一位測試主管跟束。測試主管需要確保測試用例撰寫準(zhǔn)確褂傀、覆蓋完整吱晒,且被正確執(zhí)行。
親自評審測試計(jì)劃和測試用例
一個(gè)測試計(jì)劃由很多測試用例構(gòu)成耕皮,這些用例是從你的產(chǎn)品需求文檔中派生出來的。測試計(jì)劃通常是用電子表格創(chuàng)建的蝙场,因此你能方便地整理測試用例凌停。檢查測試用例是否包含下列描述性要素:
領(lǐng)域。這一列描述哪部分的用戶體驗(yàn)將被測試李丰,你可以合并相近的項(xiàng)苦锨。
嚴(yán)重性。該列定義了如果測試失敗你會(huì)將此歸為哪個(gè)級別的Bug趴泌,通常有1~4級舟舒。
前置條件。前置條件指定了測試人員在測試前必須做的事情嗜憔。
需執(zhí)行的任務(wù)秃励。任務(wù)由多個(gè)步驟組成,是測試的主要內(nèi)容吉捶。
后置條件夺鲜。后置條件描述了應(yīng)用程序在任務(wù)執(zhí)行完畢后所處的狀態(tài)。
如果時(shí)間不夠?qū)捲D盘颍憧梢悦枯啘y試只執(zhí)行高嚴(yán)重性的測試用例币励,這樣雖然完整性有所欠缺但速度更快。這個(gè)方式也適用于驗(yàn)證一些微小的產(chǎn)品變更珊拼。你可以只測試發(fā)生微小變化的部分和高嚴(yán)重性的測試用例食呻,這比全部測試一遍要省很多時(shí)間。在這里重新執(zhí)行一遍高嚴(yán)重性的測試用例非常重要澎现,即便你覺得這個(gè)微小的變更與其他特性毫不相干仅胞。
一輪全面測試后的輸出物是Bug列表,有時(shí)候這個(gè)測試結(jié)果會(huì)讓人詫異剑辫。這個(gè)時(shí)候很關(guān)鍵干旧,作為團(tuán)隊(duì)主管,你需要一邊向團(tuán)隊(duì)強(qiáng)調(diào)“壞的消息就是好的消息”妹蔽,一邊大力表揚(yáng)測試團(tuán)隊(duì)的努力和成果椎眯,畢竟你還需要測試團(tuán)隊(duì)繼續(xù)鼓起干勁尋找錯(cuò)誤挠将。
評審測試用例十分繁瑣。你必須親力親為盅视,即便只是為了維護(hù)與測試團(tuán)隊(duì)的感情捐名。這里有一個(gè)小訣竅:固然堅(jiān)持評審?fù)晁袦y試用例是最理想的,且每一個(gè)注意到的人都會(huì)對你贊賞不已闹击,但你也可以選擇只關(guān)注以下三塊內(nèi)容镶蹋。
用戶體驗(yàn)。
安全和隱私赏半。
依賴贺归。
自動(dòng)化測試
如果你的測試主管能夠精心搭建一套獨(dú)立于產(chǎn)品代碼的測試系統(tǒng),你的測試工程師們將受益極大断箫。更為重要的是拂酣,測試自動(dòng)化程序會(huì)不間斷運(yùn)行,干著數(shù)十人才能干完的活仲义。
推行內(nèi)部試用
推行內(nèi)部試用會(huì)遇到挑戰(zhàn)婶熬,特別是你要大家試用的軟件已經(jīng)有了一個(gè)比較好的、沒什么Bug的替代品時(shí)埃撵。比如谷歌想讓員工去試用谷歌文檔赵颅,但大家都在使用微軟Office,這時(shí)候解決該問題的最佳辦法就是停止在公司電腦上默認(rèn)安裝微軟Office暂刘,這不但能推動(dòng)員工去試用谷歌文檔饺谬,還能節(jié)省辦公軟件成本。
如何開展找蟲總動(dòng)員
找蟲總動(dòng)員是指發(fā)動(dòng)你的團(tuán)隊(duì)或者你的整個(gè)公司專門花一定時(shí)間谣拣,通常是一個(gè)小時(shí)募寨,來尋找盡可能多的內(nèi)部試用產(chǎn)品的Bug。四件事情有助于找蟲總動(dòng)員獲得成功:
設(shè)立獎(jiǎng)項(xiàng)森缠,提供物質(zhì)激勵(lì)拔鹰。
在項(xiàng)目計(jì)劃中增加找蟲總動(dòng)員這樣一個(gè)關(guān)鍵事件。
將找蟲總動(dòng)員排進(jìn)你的開發(fā)和測試日程表中贵涵。
壞的消息就是好的消息列肢。每發(fā)現(xiàn)一個(gè)壞Bug都是好消息。
準(zhǔn)確且有條理地處理Bug
只需簡單的3步就能把Bug處理好:
基于頻率独悴、嚴(yán)重性和解決成本對Bug進(jìn)行分級。
每天與開發(fā)主管和測試主管碰一次锣尉,評審新增的Bug刻炒。
不斷施加壓力以減少新的阻礙發(fā)布的Bug出現(xiàn)。
Bug分級時(shí)你需考察以下三個(gè)方面自沧。
頻率坟奥。Bug出現(xiàn)的頻率越高树瞭,修復(fù)它的重要性就越高。
嚴(yán)重性爱谁。你需要評估Bug對用戶體驗(yàn)的傷害有多大晒喷。
修復(fù)成本。評估修復(fù)一個(gè)Bug需要耗費(fèi)多少資源访敌。
發(fā)揮可信測試者的作用
可信測試者是指在保密協(xié)議的約束下凉敲,在產(chǎn)品發(fā)布前使用產(chǎn)品內(nèi)部試用版的用戶。他們比你的團(tuán)隊(duì)有著更豐富的多樣性寺旺,包括更多不一樣的電腦爷抓,更多不一樣的期望,而且他們還不像你們那么懂技術(shù)阻塑。因此他們的反饋具有更大的價(jià)值蓝撇。
思想火花:以新用戶的方式來使用整個(gè)產(chǎn)品
在我看來人們常常是被細(xì)微的事情所打動(dòng)。如果你的內(nèi)部試用搞得好陈莽,產(chǎn)品的大部分地方都不會(huì)讓你蒙羞渤昌。但產(chǎn)品開箱體驗(yàn)的好壞取決于產(chǎn)品中一些最復(fù)雜的部分。抵達(dá)特性完成階段后刪掉你所有數(shù)據(jù)和賬號然后從零開始使用軟件走搁,抵達(dá)編碼完成階段后再這樣操作一次独柑。
第6章贏在量化
如何采集正確的量化數(shù)據(jù)且只采集正確的量化數(shù)據(jù)
優(yōu)秀的量化指標(biāo)應(yīng)具備5個(gè)關(guān)鍵特點(diǎn)。
測量成本低廉朱盐。
測量可靠且可重復(fù)檢驗(yàn)群嗤。
能頻繁地測量,最好能實(shí)時(shí)測量兵琳。
團(tuán)隊(duì)能夠根據(jù)它做出明智的改變狂秘。
專注于客戶。
你需要采集的三類量化數(shù)據(jù)
無法測量的東西也就無法提升躯肌。如果你辛苦了一年去提升某個(gè)產(chǎn)品的某些客戶的使用周期者春,但到頭來你無法量化業(yè)績,你憑什么能晉升呢清女?如果想在未來證明你的業(yè)績钱烟,你需要事先準(zhǔn)備一根基準(zhǔn)線。因此你必須盡早確立指標(biāo)并在產(chǎn)品開發(fā)過程中不斷更新嫡丙。確立基本指標(biāo)并不困難拴袭,比如說工程團(tuán)隊(duì)的執(zhí)行能力就是一個(gè)基本指標(biāo)。
執(zhí)行力可以通過考察產(chǎn)品能否在你要求的日期內(nèi)發(fā)布來衡量曙博。你的發(fā)布時(shí)間通常取決于待修復(fù)的Bug數(shù)量拥刻。很多Bug跟蹤系統(tǒng)能夠生成發(fā)現(xiàn)/修復(fù)率和Bug數(shù)量趨勢圖。因此綜合發(fā)現(xiàn)/修復(fù)率和Bug數(shù)量你可以預(yù)測“零Bug”到達(dá)日期父泳。要了解更多有關(guān)如何生成該指標(biāo)數(shù)據(jù)以及它為什么這么重要的內(nèi)容般哼。
產(chǎn)品發(fā)布后你可能需要更換指標(biāo)吴汪,即客戶及其行為數(shù)據(jù)。你需要借助基于它們的指標(biāo)數(shù)據(jù)來向投資方或管理層匯報(bào)蒸眠,形成產(chǎn)品發(fā)展策略漾橙,并指導(dǎo)你的團(tuán)隊(duì)。三類發(fā)布后需要跟蹤的關(guān)鍵指標(biāo):
目標(biāo)進(jìn)度楞卡。目標(biāo)指標(biāo)會(huì)告訴你目標(biāo)的完成進(jìn)度霜运。
經(jīng)營績效。經(jīng)營績效指標(biāo)會(huì)告訴你產(chǎn)品的問題在哪里以及如何提升用戶體驗(yàn)臀晃。這些指標(biāo)通常是用比率表示觉渴,比如從點(diǎn)擊購買按鈕到付款成功的轉(zhuǎn)化率。
系統(tǒng)性能系統(tǒng)徽惋。性能指標(biāo)能說明你產(chǎn)品的實(shí)時(shí)健康度案淋。
專注于目標(biāo)本身,忽略細(xì)枝末節(jié)
幾乎所有的指標(biāo)都可以通過一些巧妙的手法進(jìn)行操縱险绘。指標(biāo)只是一個(gè)指示器踢京,不是你的老板,所以請放心宦棺,你的核心指標(biāo)是不可能被糊弄過去的瓣距。當(dāng)指標(biāo)變成了你的老板,你需要花費(fèi)數(shù)天乃至數(shù)周的時(shí)間去為你指標(biāo)數(shù)值的合理性辯護(hù)時(shí)代咸,你就該換個(gè)指標(biāo)了蹈丸,或者換個(gè)工作也行。
第7章贏在發(fā)布
對改動(dòng)說不
在準(zhǔn)備發(fā)布的過程中你必須盡量頻繁地對新的特性呐芥、新的Bug以及用戶體驗(yàn)上新的改動(dòng)說不逻杖!如果不這樣做,你就永遠(yuǎn)完成不了軟件思瘟,自然也就永遠(yuǎn)交付不了荸百。發(fā)布手中有的,而非腦中想的滨攻。有時(shí)候你不得不交付你的產(chǎn)品够话,即使它并不完美,因?yàn)榻桓兑粋€(gè)過得去的產(chǎn)品比為了追求完美而什么也交付不了好光绕。
開啟作戰(zhàn)室
隨著發(fā)布日期的臨近女嘲,每周開一次會(huì)的節(jié)奏已經(jīng)不合時(shí)宜了,所有人都在朝著目標(biāo)加速?zèng)_刺诞帐。在這個(gè)節(jié)點(diǎn)上你應(yīng)改開每日例會(huì)并不再禁止與會(huì)者在會(huì)上爭論一些問題欣尼。每日例會(huì)能幫助你高效做出決策并營造一種緊迫的氛圍。
營造緊迫的氣氛
所有的項(xiàng)目都是看似時(shí)間分配得井井有條景埃,但到最后都需要沖刺一把才能趕上發(fā)布時(shí)間媒至。只要這樣的沖刺不超過1個(gè)月,大多數(shù)團(tuán)隊(duì)和他們的家人還是可以接受的谷徙,特別是你還會(huì)補(bǔ)償給他們一定的休息時(shí)間拒啰。
完成發(fā)布清單的核查
要想出色地完成發(fā)布,你需要擬定一張發(fā)布清單完慧。這份清單的目的在于確保軟件發(fā)布中所有需要跟進(jìn)的事項(xiàng)都被有序安排且被詳細(xì)描述谋旦。發(fā)布清單還能促進(jìn)團(tuán)隊(duì)內(nèi)部不同職能的交流。正確地使用清單能讓它發(fā)揮不可思議的作用屈尼,每個(gè)民航飛行員在每次飛行前都必須核查一遍清單册着,可見清單的價(jià)值和重要性。
撰寫博文
博文的目的在于闡述你的使命脾歧、你的目標(biāo)客戶以及你能解決的問題甲捏。從傳統(tǒng)新聞的角度來看它就是你的“導(dǎo)語”。
發(fā)布軟件
發(fā)布特性的最佳方法是借助一套實(shí)驗(yàn)性框架鞭执。它允許新舊兩套代碼同時(shí)在產(chǎn)品服務(wù)器上運(yùn)行司顿,這樣無需重啟服務(wù)器即可在版本1和2之間快速切換。長期來看兄纺,投入資源構(gòu)建一套實(shí)驗(yàn)性框架幾乎總是值得的大溜。
親自驗(yàn)證軟件
你需要以新用戶的身份來親身體驗(yàn)整個(gè)產(chǎn)品,確保產(chǎn)品所有主要功能都可正常使用估脆。有些產(chǎn)品功能常常會(huì)出現(xiàn)問題钦奋,如注冊流程、上傳數(shù)據(jù)(如圖片)疙赠、搜索付材、表單提交等。它們都依賴于一些子系統(tǒng)棺聊,所以有時(shí)會(huì)因?yàn)榕渲檬韬龆赶虻搅隋e(cuò)誤的服務(wù)器伞租。這種類型的錯(cuò)誤無時(shí)無刻不在發(fā)生。因此你的團(tuán)隊(duì)?wèi)?yīng)該等待你和你的測試主管限佩、開發(fā)主管全部驗(yàn)收通過后葵诈,再把產(chǎn)品推向更大面積的用戶。
應(yīng)對發(fā)布帶來的各種影響
出現(xiàn)問題祟同,回滾軟件作喘。只要成功回滾,發(fā)布就還沒有失敗晕城∨⑻梗回滾是指把軟件撤回到預(yù)發(fā)布狀態(tài)。它簡直就是家常便飯砖顷。如果可以回滾贰锁,你就能撤回對產(chǎn)品的改動(dòng)赃梧,從容不迫地修復(fù)問題,然后再試一次豌熄。
應(yīng)對產(chǎn)品危機(jī)危機(jī)授嘀。檢查這是否是一起突發(fā)事件并評估影響范圍。確定這個(gè)問題不止在你這里出現(xiàn)锣险。發(fā)起電話會(huì)議蹄皱。打開一個(gè)Bug。知會(huì)危機(jī)擴(kuò)大郵件組成員芯肤。推遲任何公關(guān)計(jì)劃巷折。知會(huì)相關(guān)方。保持Bug的更新崖咨。尋找并引入專家協(xié)助團(tuán)隊(duì)解決問題锻拘。
演示產(chǎn)品。你的演示需要直截了當(dāng)击蹲,演示的目的在于用講故事的方式來講述產(chǎn)品逊拍,并在每一步凸顯產(chǎn)品使命。它必須簡潔际邻,最好不要超過10分鐘芯丧,這樣才能保持觀眾的注意力。
應(yīng)對媒體和客戶世曾。如果你有幸能和媒體或者知名博主接觸缨恒,盡可能讓他們對你的業(yè)務(wù)產(chǎn)生深刻印象。和他們通電話并向他們演示產(chǎn)品轮听∑叮快速響應(yīng)撰稿人的需求,因?yàn)樗麄兺ǔ6加幸蟮慕馗鍟r(shí)間血巍。
慶祝發(fā)布萧锉。每一個(gè)令人矚目的產(chǎn)品發(fā)布都離不開團(tuán)隊(duì)成員做出的犧牲,因此感謝你的團(tuán)隊(duì)為之付出的心血是非常重要的述寡。不要吝惜任何贊美之詞柿隙,它會(huì)讓你的團(tuán)隊(duì)歡欣鼓舞。
第二部分 掌握卓越技能鲫凶,更勝一籌
第8章勝在團(tuán)隊(duì)
如何組建一支團(tuán)隊(duì)
為了組建一支高效的團(tuán)隊(duì)禀崖,你必須找到能默契配合的工程主管、產(chǎn)品主管和設(shè)計(jì)主管螟炫。當(dāng)發(fā)現(xiàn)這些人時(shí)波附,你要巴結(jié)好他們,哪怕給他們寫贊美詩、買糖果甚至洗車都行掸屡。你的效率源自于團(tuán)隊(duì)的運(yùn)作封寞,找到一個(gè)能帶好他們的主管將從根本上減輕你的工作量,還會(huì)極大促進(jìn)你在其他方面努力的成效仅财。
如何與遠(yuǎn)程團(tuán)隊(duì)合作
組建一支工程師團(tuán)隊(duì)钥星。
充分溝通。
盡量不要外包設(shè)計(jì)和PM角色满着。
重視文化差異。
構(gòu)建清晰的需求贯莺。
忍受時(shí)差风喇。
委任得力的主管。
與遠(yuǎn)程團(tuán)隊(duì)共飲缕探。
第9章勝在技術(shù)
略魂莫。
第10章勝在溝通
如何寫好郵件
將想表達(dá)的最重要的事情放在文章開頭。
使用精確增量表達(dá)法爹耗。
分點(diǎn)闡釋原因耙考。
立即停筆,你已經(jīng)寫完了這封郵件潭兽。
設(shè)法用建議取代質(zhì)疑倦始。
考慮受眾的感受。
五種類型的會(huì)議
團(tuán)隊(duì)會(huì)議山卦。這類會(huì)議用來了解近況以及利用團(tuán)隊(duì)合力來深入討論和解決特定問題鞋邑。雖然團(tuán)隊(duì)會(huì)議中解決的大多數(shù)問題理論上通過郵件也能解決,但只是理論上而已账蓉,所以你還是需要這種會(huì)議來承擔(dān)這些工作枚碗。
站會(huì)。它只用來交流近況铸本,促使團(tuán)隊(duì)內(nèi)部信息透明肮雨、責(zé)任到位。在會(huì)議中每個(gè)人都站著箱玷,這樣可以幫助保持會(huì)議的簡短怨规。
1對1。指只有你和另外一個(gè)人之間的會(huì)議锡足。這類會(huì)議或許是最值得開的椅亚,因?yàn)樵跁?huì)議中你們能坦率地交談。而且會(huì)議也給了你們專門時(shí)間來完成需要互相協(xié)作的任務(wù)舱污。
產(chǎn)品/工程/用戶體驗(yàn)評審呀舔。這是一種大規(guī)模會(huì)議,通常會(huì)有一些大老板參加。這個(gè)會(huì)議既要向高管通報(bào)產(chǎn)品進(jìn)展媚赖,又要收集組織內(nèi)最富有經(jīng)驗(yàn)的人們的反饋建議霜瘪。
頭腦風(fēng)暴會(huì)。這是所有會(huì)議中最有趣的惧磺,它形式自由颖对,能激發(fā)想法,還能讓團(tuán)隊(duì)主動(dòng)參與到問題的解決中去磨隘。
如何組織好會(huì)議
會(huì)后立即發(fā)出主題紀(jì)要缤底。
允許改變開會(huì)的目的。
拒絕在團(tuán)隊(duì)會(huì)議中發(fā)泄番捂。
問五輪為什么个唧。
如何做好演示
將演示時(shí)間控制在15分鐘內(nèi)。
永遠(yuǎn)只傳達(dá)一個(gè)信息设预。
講故事徙歼。
制作“綜述單頁”你想討論的東西是什么,機(jī)會(huì)鳖枕,提供的解決方案魄梯,成本和實(shí)施時(shí)間表。
重點(diǎn)演示用戶體驗(yàn)宾符。
極度專注傾聽酿秸。
第11章勝在決策
略。
第12章勝在從容
略魏烫。
第13章 再度啟航
十大交付原則
你不是來當(dāng)老板的——團(tuán)隊(duì)主管是仆人允扇,他們存在的目的就是為了伺候工程團(tuán)隊(duì)。
從用戶角度出發(fā)则奥。
用獨(dú)特的方法解決很多人都有的大問題考润。
壞的消息就是好的消息。
先尋求理解读处,再尋求被理解糊治。
構(gòu)建最簡潔的可用的產(chǎn)品。
交付手中有的罚舱,而非腦中想的井辜。
無法測量的東西也就無法提升。
你不可能做完所有工作管闷,所以你應(yīng)首先做那些只有你能做的工作粥脚。
永遠(yuǎn)走在交付的康莊大道上。