為什么拙劣的軟件也會(huì)成功?
對(duì)于一個(gè)公正的軟件制造者,一個(gè)很難接受的事實(shí)就是——一些花費(fèi)了很多心力去設(shè)計(jì)的精美軟件竟然會(huì)被棄之不用。相反,一些拙劣的軟件——粗糙的設(shè)計(jì)、遍布 bug 的代碼——卻大受歡迎。讓人心塞的是,這似乎已經(jīng)成為了軟件行業(yè)的一個(gè)基本現(xiàn)狀。
怎么樣的才是拙劣的軟件?
這些拙劣的軟件之所以會(huì)成功的第一原因也是最重要的原因就是我們對(duì)于這個(gè)“拙劣”的定義并沒有達(dá)成共識(shí)。對(duì)那些聲稱可以備份計(jì)算機(jī)但是卻在隨機(jī)破壞存儲(chǔ)數(shù)據(jù)的軟件,以及表面上數(shù)據(jù)已經(jīng)備份成功但實(shí)際上數(shù)據(jù)依然丟失的軟件,大家都會(huì)認(rèn)同是“拙劣”的軟件,這是毋庸置疑的。但是,還是有很多處于中間地帶的軟件,該如何定義尚不能達(dá)成共識(shí)。比方說,對(duì)于下面這些軟件,你是怎么看的?
- 如果一個(gè)軟件,基礎(chǔ)用戶使用的時(shí)候工作良好,但要當(dāng)需要擴(kuò)展、改變或者再次開發(fā)就特別麻煩?
- 如果一個(gè)軟件,用戶服務(wù)目的明確,但是需要經(jīng)過長(zhǎng)時(shí)間的培訓(xùn)之后,用戶才能高效使用它?
- 如果一個(gè)軟件,工作原理不錯(cuò),了解起來也比較直觀,但是執(zhí)行預(yù)期操作的時(shí)候要命的慢?
- 如果一個(gè)軟件,雖然能工作,但是界面實(shí)在是丑陋不堪?
- 或者這個(gè)軟件 95% 的時(shí)間能正常工作然后剩下的時(shí)候就會(huì)系統(tǒng)崩潰并死機(jī)?
上面這些例子就足以說明我們對(duì)于軟件的“拙劣”是有分歧的。比如說,你覺得用戶界面丑就說明軟件不好,但是我覺得那些不能實(shí)現(xiàn)預(yù)先功能的軟件才是拙劣的。所以如果拿出來一個(gè)企業(yè)依賴度非常高的 Swing(Java)應(yīng)用,我們之間的看法可能就會(huì)截然不同。
當(dāng)拙劣的軟件貼上 GOOD 的標(biāo)簽
知道了這個(gè)原因我們就能明白為什么拙劣的軟件也會(huì)成功了。企業(yè)人士側(cè)重的要點(diǎn)可能和開發(fā)人員的不同。而最終用戶的側(cè)重點(diǎn)又與企業(yè)和開發(fā)人員的不同。所以可能這一個(gè)認(rèn)為“一級(jí)棒”,另一個(gè)則只是覺得“差強(qiáng)人意”,但是到了還有一個(gè)眼里就是“太爛了”。而這,就是問題的根源。
大多數(shù)開發(fā)人員第一次接觸 WordPress 的時(shí)候都會(huì)認(rèn)為不好。作為一個(gè)開發(fā)平臺(tái),充其量最多只能說有點(diǎn)標(biāo)新立異。代碼是很久以前的老代碼,設(shè)計(jì)還是十年前的那個(gè)模樣。由于平臺(tái)著重于用戶的易用性和連貫性,到現(xiàn)在它依然運(yùn)行在 PHP 5.2(已經(jīng)好幾年沒有安全更新過了)上面,而且所有的舊模版和插件仍然可以在最新的版本上良好地運(yùn)行。
我們可以認(rèn)為 WordPress 這個(gè)軟件實(shí)在是差得不可救藥,但是卻不得不承認(rèn),它有大量的用戶(甚至還在不斷增加中),因?yàn)槭褂眠^ WordPress,用戶大多會(huì)被它的簡(jiǎn)單舒適以及強(qiáng)大的功能所折服,大概就是俗話說的,誰用誰知道吧。
為什么拙劣的軟件也并不是萬能的?
從根本上來說,之所以這些“拙劣”的軟件也會(huì)收到歡迎,是因?yàn)椴煌Y(jié)構(gòu)層次的人他們的決策優(yōu)先方向不一樣。
也就是說,整潔、測(cè)試良好、文檔記錄明確、易于理解的代碼是開發(fā)人員關(guān)注的重點(diǎn);而企業(yè)只注重它是否能帶來價(jià)值是否能賺很多錢;至于管理員則希望軟件正常使用時(shí)間能達(dá)到 5 個(gè)9——99.999%;但是最終用戶關(guān)注的則是軟件是否討人喜歡是否易學(xué)易用??偠灾@些利益相關(guān)者的目標(biāo)雖然都很容易實(shí)現(xiàn),但是卻會(huì)不可避免地發(fā)生碰撞。
制作軟件就像是平衡這些利益相關(guān)者之間的利益一樣,因?yàn)槲覀冃枰獧?quán)衡軟件的制作工藝、敏捷實(shí)踐、TDD,以及其他很多很多問題。想讓每一個(gè)人滿意那是不可能的事情。哪怕甚至于所有的利益相關(guān)者的目標(biāo)和關(guān)注重點(diǎn)等條件都一致,還是會(huì)有很多人覺得他們面對(duì)的是“拙劣”的軟件。