最近準備組織一個關(guān)于敏捷的工作坊,不得不又再次被問及敏捷和瀑布到底哪種好聂渊。
前段日子在某個產(chǎn)品經(jīng)理群里差购,有好幾個產(chǎn)品經(jīng)理也在討論是否需要寫需求規(guī)格說明書,用什么方式寫比較好汉嗽。
我一向秉承一個觀點歹撒,正如鄧爺爺說的“管他黑貓白貓,抓到老鼠才是好貓诊胞∨玻”
在我看來,敏捷和瀑布沒有什么哪種更好的說法撵孤,只有哪種更合適你的產(chǎn)品和項目的說法迈着。
同樣的,到底是用Word寫需求規(guī)格說明書邪码,還是用Axure之類的原型工具來寫裕菠,也沒有什么更好的說法,只有哪種更適合你的產(chǎn)品和項目的說法闭专。
Joel Spolsky在他2002年的博文中提到了五大世界的觀點奴潘。
時過境遷,軟件行業(yè)發(fā)展迅猛影钉,各種工具層出不窮画髓,可能老喬當年的一些定義已經(jīng)過時了。
但是平委,當我翻開他的博文合集《軟件隨想錄》的時候奈虾,卻發(fā)現(xiàn)他對于五大世界的劃分,在當今軟件行業(yè)中依舊適用。
老喬將軟件世界分成五種肉微,這五種對于軟件的質(zhì)量匾鸥、用戶體驗、版本等要求都各不相同碉纳。
這些不同也就決定了適用的流程和工具也不盡相同勿负。
注:為了能讓大家讀懂,我將一些“過時”的詞匯用大家熟悉的詞來代替劳曹。
再注:我們把重頭戲放在后面吧笆环!
嵌入式軟件
有人問,啥是嵌入式軟件厚者?
其實家用電器上非常常見躁劣。
你家洗衣機、微波爐用的芯片在出廠前會將軟件燒制在上面库菲,這樣你才可以通過按幾個按鈕就可以選擇模式和啟動機器工作账忘。
對于這類軟件,一般對性能的要求會非常高熙宇。
用戶會期望通過一條指令就能讓設備迅速運轉(zhuǎn)鳖擒。
所以編寫嵌入式軟件的代碼追求的是運行速度,而不是優(yōu)雅烫止。
你覺得這類軟件會進行版本升級嗎蒋荚?
可能有些小伙伴知道“燒機”這件事情,就是以前我們的手機可以通過這種方式進行設備的“破解”馆蠕。
但是期升,大部分情況下嵌入式軟件時不會進行升級的。
這樣就意味著這類軟件對質(zhì)量的要求很高互躬,你沒有第二次的機會去做什么Hot Fix播赁。
所以這類軟件不論是需求文檔還是設計文檔的要求都是非常高的。
而且也不會存在純粹的敏捷吼渡,因為它是不允許所謂的“試錯”的容为。
游戲
游戲軟件很有一種“贏家通吃”的感覺。
怎么說呢寺酪?迅速的搶占市場是最重要的坎背。
同樣一款“跳一跳”游戲,一般大家會去玩的總是先出來的那個寄雀。
就算后來出現(xiàn)了很多類似的游戲得滤,但是大家比較少去玩了。
另外咙俩,一旦通關(guān)或者熱度過去后耿戚,玩家也不大可能再玩了。
游戲軟件對質(zhì)量要求也是比較高的阿趁,因為玩家是“最不忠誠”的用戶膜蛔,動不動就放棄你,奔向別人的懷抱脖阵。
曾經(jīng)聽一位游戲軟件從業(yè)小伙伴說過皂股,有的產(chǎn)品團隊甚至會同時讓三個團隊三班倒,24小時不間斷的開發(fā)以快速搶占市場命黔。
這樣的速度呜呐,完全不可能讓產(chǎn)品經(jīng)理慢條斯理的去寫需求規(guī)格,評審等等悍募。
這也就決定了他們采取的流程一定是快速響應蘑辑、信息共享的。
To C 軟件
在2002年坠宴,老喬稱之為“盒裝軟件”洋魂。
因為當年的互聯(lián)網(wǎng)軟件應用不是很多,還主要集中在網(wǎng)頁網(wǎng)站上喜鼓。
而以老喬工作過的微軟為例的Excel軟件副砍,是裝在塑料盒里售賣的。
所以老喬稱之為“盒裝軟件”庄岖。
現(xiàn)在的話豁翎,即便是Excel,也基本上不賣光盤了隅忿,而是自行從網(wǎng)上下載后心剥,購買“許可”進行安裝使用。
To C的軟件背桐,一個非常大的特點是:用戶量很大刘陶。
記得幾年前和一個互聯(lián)網(wǎng)行業(yè)的小伙伴討論需求調(diào)研提綱和訪談的時候,他一臉茫然牢撼。
對于用戶量上十萬匙隔、百萬,甚至更多的軟件來說熏版,你讓產(chǎn)品經(jīng)理去做調(diào)研提綱和用戶訪談纷责,其內(nèi)心活動估計是:“你在逗我嗎?除非我下半輩子只做這一件事情撼短,還不一定做得完再膳。”
對于這類軟件曲横,傳統(tǒng)意義上的用戶訪談等可能就起不了什么作用了喂柒。
所以不瓶,這類產(chǎn)品開始一些其他的嘗試,比如:問卷灾杰。
后來發(fā)現(xiàn)問卷的水太深蚊丐,轉(zhuǎn)而通過“埋點”+“主動反饋”的方式收集需求和反饋。
注:關(guān)于問卷艳吠,我后面會專門開一篇文麦备。
另外,也是因為用戶量巨大昭娩,所以用戶使用的終端五花八門凛篙。
雖然移動端目前主流的是安卓和IOS,但是再七八年前栏渺,那簡直就是一場混戰(zhàn)呛梆,更不用說在彩屏剛上市的年代了。
那么產(chǎn)品的設計和開發(fā)就需要適配多款終端磕诊,這里面的復雜性可想而知削彬。
所以對軟件產(chǎn)品的兼容性要求很高。
因為用戶量巨大秀仲,重口難調(diào)融痛。
對于軟件的風格、配色神僵、易用性的要求會更高雁刷。
這種情況現(xiàn)在更為明顯。
以我使用時間管理APP的經(jīng)歷為例保礼,我曾棄用一款APP沛励,就是因為界面太丑。
我可以選擇的APP那么多炮障,為什么還要“忍氣吞聲”的使用我不那么喜歡的軟件呢目派?
基于以上的各種原因,To C的軟件必須要款速迭代升級(買方市場決定)胁赢,并且注重易用性和用戶體驗企蹭,而業(yè)務邏輯相對簡單。
所以智末,這類軟件大都使用迭代的開發(fā)模式谅摄,比如敏捷。
而且系馆,這類軟件會考慮用Axure等原型工具來寫需求規(guī)格送漠,這樣更加直觀,畢竟大部分的功能都是基于頁面的由蘑。
甚至說闽寡,由于變化太快代兵,很多公司直接用一些軟件工具進行需求、User Story的管理爷狈,會畫一些草圖而不寫正式的需求文檔植影。
用過即拋的代碼
對于開發(fā)來說,有的時候會寫一些臨時性的代碼淆院。
可能是為了驗證某種設計何乎,可能是為了別的什么目的句惯。
不管怎樣土辩,這類代碼寫的時候就是做好了被隨時拋棄的準備。
針對這部分的流程抢野、文檔和工具拷淘,一般來說不會做什么規(guī)定和約束。
書寫的代碼一般來說指孤,對于產(chǎn)品經(jīng)理和BA來說也不可見启涯。
內(nèi)部軟件
大部分的To B的軟件,比如ERP恃轩,CRM结洼,OA等等都是屬于這類軟件。
這類軟件大部分會針對客戶的需求進行定制叉跛。
不論是SAP這類國外的廠商松忍,還是金蝶、用友這類的國內(nèi)供應商筷厘,他們提供軟件產(chǎn)品鸣峭,更提供實施服務。
他們的主要利潤來源有兩個部分酥艳,一個是軟件產(chǎn)品(一般是按照模塊或者許可數(shù)量等進行銷售)摊溶,另外一個就是實施費用。
沒錯充石,這類“內(nèi)部軟件”買回來一般只能使用基礎的功能莫换,而每個企業(yè)的管理模式和制度都千差萬別。
那怎么辦呢骤铃?
需要靠實施團隊來進行需求調(diào)研浓镜、解決方案制定,評審過后由客制化團隊的成員進行定制開發(fā)劲厌。
所以這類軟件產(chǎn)品會要求比較好的可擴展性膛薛、可維護性、可配置性补鼻,否則實施成本會很高哄啄。
比如雅任,如果不提供審批流程的快速可配置,而需要通過代碼實現(xiàn)咨跌,那么實施一套OA的成本會迅速被提高沪么。
另外,因為定制只是針對一個用戶的锌半,所以該組織使用什么硬件環(huán)境禽车、網(wǎng)絡環(huán)境一般都是已知或者說可獲悉的,相對于 To C軟件來說刊殉,開發(fā)的難度一般來說不會特別高殉摔。
甲乙雙方會在實施前就約定好付費方式,一般會按照里程碑付費记焊。
比如需求階段結(jié)束逸月,解決方案評審完成,作為一個支付里程碑遍膜,甲方會支付50%的費用碗硬。
這就要求雙方都要簽字確認,確認的是方案瓢颅,一般也需要進行歸檔恩尾,所以如果你是用Axure寫方案,那就麻煩了挽懦,因為沒辦法簽字翰意。
所以,一般來說巾兆,這類軟件都會需要寫非常詳細非常正式的方案文檔猎物。
另外,這類軟件的業(yè)務邏輯一般來說比較復雜角塑,特別是客戶需求和場景比較復雜的時候蔫磨,分支case和頁面層級特別多。
如果你不寫文檔圃伶,或者說你用Axure來寫文檔堤如,開發(fā)和測試都會更糊涂。
Axure最多是用來和客戶做需求確認的時候使用窒朋,而且要特別和客戶說明搀罢,咱這個是假的,是原型侥猩,不是可以使用的系統(tǒng)榔至。否則客戶可能會覺得自己受騙了:花了那么多實施費用,你就用兩個晚上就把系統(tǒng)做好了欺劳?
而且因為付多少錢在實施之前就約定好了唧取,大部分按照人天付費铅鲤,那么項目經(jīng)理會嚴格把控項目成本。
即便是你挖掘出來了新需求枫弟,除非你能說服客戶簽訂補充合同邢享,另外付一筆錢〉或者你能說服老板“吃虧是负粒”,否則一般情況下是不會做擴展的韩容。
當然款违,隨著云服務的發(fā)展,越來越多的To B的軟件開始朝著輕量化的方向發(fā)展宙攻。
但是對于非常復雜和特殊的業(yè)務池充,實施環(huán)節(jié)還是必不可少的韵吨。
還有一點非常有意思,雖然現(xiàn)在滿大街都在嚷嚷著“用戶體驗”霹购,但是To B這類實施軟件的用戶體驗相比于To C的軟件簡直一個地一個天柔滔。
我覺得當你讓甲方選擇溢陪,同樣的錢在用戶體驗和數(shù)據(jù)安全或者業(yè)務流程滿足度上進行選擇,他們肯定不會選擇用戶體驗的睛廊。
更何況形真,如果想要提升用戶體驗,對于To B的軟件來說超全,并不是說我軟件做的好用就可以了咆霜,而是要從甲方的組織架構(gòu)、文化制度嘶朱、規(guī)章流程上進行優(yōu)化蛾坯。
你怎么指望一個需要10個簽審節(jié)點的流程通過一個軟件進行用戶體驗的優(yōu)化?
這類軟件的升級方式也很特別疏遏,通常情況下有兩種方式脉课。
一種方式是,在簽合同之前的售前階段财异,就會有一個宏大的總體方案倘零,然后說這個實施會分為三期或者五期上線。
然后戳寸,簽合同的時候可能只包括一期的內(nèi)容呈驶。
等到一期內(nèi)容上線運行后,肯定會有一堆的需求和BUG疫鹊,這個時候就會在二期一并進行改進袖瞻。
另外一種方式是跌穗,按照約定上線運行一段時間后,可能是三五年虏辫。
甲方實在對系統(tǒng)忍無可忍了蚌吸,而且手頭上又有點閑錢了,就決定要升級系統(tǒng)砌庄。
這個升級很有可能是直接把原來的系統(tǒng)徹底換掉羹唠,也可能是找原來的廠家來做升級。
這里一般來說娄昆,甲方會有人來做可行性分析佩微,然后進行評估,哪一種性價比更高萌焰,然后交給領(lǐng)導定奪哺眯。
說了這么多,你覺得你處在哪個世界中呢扒俯?
還是那句話奶卓,只有適合的方法和工具才是最好的。
你同意嗎撼玄?
小婧是一名行走在實踐路上的資深業(yè)務分析師(BA)夺姑,如果想與我同行,就請關(guān)注我吧掌猛!