如何避免開(kāi)發(fā)一款失敗的產(chǎn)品(下篇)
本文編譯自Medium,作者Rian van der Merwe 2005年到2009年間曾就職于eBay,現(xiàn)在在Jive Software擔(dān)任產(chǎn)品設(shè)計(jì)主管。
在這篇文章中,作者提出打造一款成功的產(chǎn)品,必須在產(chǎn)品開(kāi)發(fā)的始終關(guān)注著“用戶需求”、“商業(yè)需求”以及“技術(shù)需求”。原文篇幅較長(zhǎng),這里拆分為3篇為大家闡釋作者的看法。本文所討論的是作者對(duì)于產(chǎn)品開(kāi)發(fā)中“技術(shù)需求”以及3種需求之間平衡的看法。如果您還沒(méi)有閱讀前兩部分,請(qǐng)移步:用戶需求、商業(yè)需求
在討論技術(shù)需求之前,需要先明確兩個(gè)概念:“技術(shù)資產(chǎn)”和”技術(shù)負(fù)債“。所謂“技術(shù)資產(chǎn)”就是產(chǎn)品所依賴的底層技術(shù)以及一些日常辦公所用的系統(tǒng)(采購(gòu)、財(cái)務(wù)、后勤)。相反,“技術(shù)負(fù)債”指的是限制產(chǎn)品開(kāi)發(fā)的系統(tǒng)和代碼(經(jīng)常以 bug 的形式出現(xiàn)),技術(shù)負(fù)債如果長(zhǎng)期得不到緩解會(huì)帶來(lái)更加嚴(yán)重的問(wèn)題。Construx 公司的首席軟件工程師 Steve McConnell 認(rèn)為,技術(shù)負(fù)債主要可以分為兩類:
- 無(wú)意的負(fù)債(unintentional debt)會(huì)出現(xiàn)在錯(cuò)誤設(shè)計(jì)被實(shí)施時(shí)或者程序員寫(xiě)出了差勁的代碼時(shí)。這種負(fù)債并不是刻意的,當(dāng)然越少越好。
- 有意的負(fù)債(intentional debt)是指公司明知道某種情況并不理想,但是出于種種原因還是做出了妥協(xié)(通常是由于預(yù)算或時(shí)間限制)。盡管這類技術(shù)負(fù)債也并不是件好事,但是對(duì)任何組織來(lái)說(shuō),它都是不可避免的,我們需要做的就是將其影響最小化。
對(duì)于技術(shù)負(fù)債來(lái)說(shuō),我們需要盡可能地減少負(fù)面影響,不然就會(huì)遇到我們常說(shuō)的“破窗效應(yīng)”。
“破窗效應(yīng)”是犯罪心理學(xué)中的術(shù)語(yǔ)。用來(lái)解釋城市中秩序混亂和破壞公物的行為,其含義是:
城市管理中需要保持各種設(shè)施處于良好的狀態(tài),并隨時(shí)監(jiān)控,這樣才能阻止進(jìn)一步的公物破壞甚至升級(jí)成更嚴(yán)重的暴力犯罪。
我們可以把軟件比作城市的環(huán)境。如果有幾扇窗戶破了(軟件中出現(xiàn)一些糟糕的代碼),而破窗又沒(méi)有盡快修好,那么很有可能會(huì)出現(xiàn)更多破碎的窗戶(人們變得不再關(guān)心優(yōu)質(zhì)代碼),繼而環(huán)境進(jìn)一步惡化:垃圾到處出現(xiàn),擅自占用空房的人越來(lái)越多(代碼標(biāo)準(zhǔn)普遍下降)。不久之后,所有的窗戶都會(huì)破碎。
如果負(fù)債擴(kuò)大到一定程度,公司最終花費(fèi)在彌補(bǔ)這些漏洞上精力會(huì)比用在創(chuàng)造新價(jià)值上的還要多。常見(jiàn)的情況就是遺留的代碼庫(kù)往往需要耗費(fèi)大量的精力去維護(hù)(也就是“還債”),留給開(kāi)發(fā)系統(tǒng)新功能的時(shí)間就變少了。——Steve McConnell
在產(chǎn)品開(kāi)發(fā)時(shí)需要竭盡全力去避免此類技術(shù)負(fù)債。如果遇到了,找時(shí)間來(lái)處理這些欠賬的過(guò)程會(huì)非常艱難,經(jīng)常看不到任何改變,團(tuán)隊(duì)內(nèi)會(huì)有一些人不理解這么做的原因,很多人懶得去清理代碼中的這些垃圾。然而,在開(kāi)發(fā)過(guò)程中清理這些技術(shù)負(fù)債恰恰是一項(xiàng)非常重要的工作,如果做不好很可能會(huì)摧毀整個(gè)體系。
當(dāng)然,需要注意的是,技術(shù)負(fù)債并不一定都是壞事,有時(shí)技術(shù)負(fù)債會(huì)催生一些強(qiáng)大的功能??偟脕?lái)說(shuō),新出現(xiàn)的負(fù)債是沒(méi)問(wèn)題的,但是長(zhǎng)期累積起來(lái)的舊賬就不好了。Henrik Kniberg 在他所寫(xiě)的《Good and Bad Technical Debt》?一文中曾提出一個(gè)避免技術(shù)負(fù)債失控的好方法,那就是引入了債務(wù)上限的概念,當(dāng)你的負(fù)債達(dá)到一定限額時(shí)需要采取措施以避免進(jìn)一步失控:
當(dāng)債務(wù)達(dá)到上限時(shí),我們就宣布進(jìn)入“負(fù)債緊急狀態(tài)”,停止開(kāi)發(fā)新項(xiàng)目,所有人都將注意力放在清理舊代碼中的問(wèn)題,直到回歸到基準(zhǔn)線。
理論上在每個(gè)開(kāi)發(fā)周期中你都會(huì)遇到技術(shù)負(fù)債,但是當(dāng)負(fù)債達(dá)到上限時(shí),就需要及時(shí)調(diào)整,以免事態(tài)惡化。
權(quán)衡三方面需求
收集用戶需求、商業(yè)需求和技術(shù)需求只是產(chǎn)品開(kāi)發(fā)中一部分工作,更重要的是如何處理這些信息,平衡三方面需求。這時(shí)我們應(yīng)該主要考慮以下三個(gè)要素:
- 產(chǎn)品在生命周期中所處的階段。這是一款全新的產(chǎn)品,還是已經(jīng)問(wèn)世一段時(shí)間的產(chǎn)品?
- 用戶獲取情況。你們?cè)谂ξ脩舻碾A段,還是用戶會(huì)自己找上門來(lái)使用你們的產(chǎn)品?
- 公司的財(cái)務(wù)狀況。你們是在想方設(shè)法掙錢的階段,還是已經(jīng)有了穩(wěn)定的收入?
這三個(gè)要素的組合不同,你關(guān)注的重點(diǎn)應(yīng)該也不一樣。如果是一款正在努力獲取用戶的新產(chǎn)品,那么你就需要十分關(guān)注用戶需求;如果公司在尋求大規(guī)模良性的增長(zhǎng),那你就需要把重點(diǎn)放在盈利上。
最后,需要強(qiáng)調(diào)的是:如果不理解產(chǎn)品的核心用戶的需求以及商業(yè)上、技術(shù)上的需求,那你的產(chǎn)品就是建立在虛無(wú)之上的。一款產(chǎn)品可能在一段時(shí)間如日中天,但最終肯定會(huì)有新的產(chǎn)品出現(xiàn)。所以不要把你的產(chǎn)品建立在危險(xiǎn)的假設(shè)之上,開(kāi)發(fā)產(chǎn)品時(shí)做到深思熟慮,努力開(kāi)發(fā)出可持續(xù)的產(chǎn)品。
查看更多
如何避免開(kāi)發(fā)一款失敗的產(chǎn)品(上篇)
如何避免開(kāi)發(fā)一款失敗的產(chǎn)品(中篇)
[本文編譯自:medium.com]
來(lái)源:36氪
原文地址:http://www.36kr.com/p/220490.html
- 目前還沒(méi)評(píng)論,等你發(fā)揮!