跳轉至內容

Lentis/Featuritis

來自華夏公益教科書

Featuritis,或功能蔓延,是指產品功能的擴充套件或新增,遠遠超出專案最初的範圍或意圖。儘管這種產品開發現象可能發生在任何領域,但軟體開發中常見的持續整合和持續交付 (CI/CD) 實踐往往會導致功能蔓延。這些實踐使開發和交付內容給使用者的渠道變得極其高效。隨著更新的開發速度越來越快,它們中內容的效用對於終端使用者來說可能會變得很可疑。本章研究功能蔓延的原因和影響,並提供消除它的潛在解決方案。

開發者方面的原因

[編輯 | 編輯原始碼]

與使用者群脫節

[編輯 | 編輯原始碼]

新功能的有效性源於它們對使用者群的效用。如果開發人員沒有花時間適當地與使用者就產品使用情況和需求進行溝通,那麼新增的任何功能都可能無法為終端使用者帶來任何價值。儘管開發人員可以猜測終端使用者會發現哪些功能有用,但花時間收集使用者關於現有功能效能的反饋以及他們希望看到哪些新功能,可以大大降低產品遭受功能蔓延的可能性。

擴大市場份額的願望

[編輯 | 編輯原始碼]

隨著產品功能數量的增加,吸引更大受眾的潛力也隨之增加。如果一家公司希望擴大產品的目標受眾,他們可能會新增專門針對該市場的功能。雖然這會增加潛在客戶的數量,但也使產品失去了對最初使用者群的關注。長期使用者可能會感到產品對他們越來越沒有用處,因為他們過去使用的功能在為了創造新功能而努力時變得過時了。

這也可以應用於維持使用者。一家公司可以透過在自己的產品中包含競爭對手產品的不同功能來阻止他們目前的客戶轉向競爭對手的產品。這也可以以類似的方式來挽回被競爭對手吸引走的使用者。這很危險,因為競爭對手產品使用者群的願望可能略有不同,從而導致對繼續使用該產品的使用者來說不太有用的功能。

需求創造

[編輯 | 編輯原始碼]

可以向產品中新增功能,希望以此來創造需求。如果新增到新產品中的功能被使用者認為有用,或者至少足夠有趣,那麼他們更有可能購買新產品,無論他們當前的產品是否好用。因此,公司可以透過說服使用者在需要之前購買新產品來提高客戶的整體終身價值,方法是新增看似有用的功能。實際上,這些功能可能不過是一些聰明的營銷策略,讓使用者得到的產品與他們已經擁有的產品幾乎相同。

消費者方面的原因

[編輯 | 編輯原始碼]

消費主義

[編輯 | 編輯原始碼]

在當前的經濟環境下,消費者已經習慣了新產品在很短的時間內開發出來。無論他們在哪個市場購物,客戶都希望儘快看到新產品。因此,他們會給開發人員施加壓力,要求他們建立新功能或與其他產品的功能相匹配。雖然這可以幫助公司輕鬆地營銷和銷售新版本的產品,但它也給想出新功能帶來了很大壓力。如果開發人員無法以消費者需求新產品的速度創建出新的有用功能,他們就可能不得不新增毫無意義但易於實現的更改,從而導致功能蔓延。

沉默的大多數/有聲的少數

[編輯 | 編輯原始碼]

隨著社交媒體的興起,許多軟體產品在開發人員迎合有聲的少數群體而忽略沉默的大多數 (消歧義)時,會受到損害。沉默的大多數是指對產品整體感到滿意的使用者,他們沒有留下意見的動機。不滿意且有聲的少數群體通常會要求新功能。從開發人員的角度來看,這些功能似乎受到整個使用者群的廣泛需求,但實際上,這只是一小部分使用者的需求。因此,可能忽略了迎合沉默的大多數使用者的功能,而專注於有聲的少數群體要求的功能。

短期盈利能力

[編輯 | 編輯原始碼]

即使消費者知道產品可能更難使用,他們也會選擇功能更多 的產品。公司提高產品的功能是為了增強或區分它們。[1] Carpenter 等人 (1994) 發現,品牌可以透過在其產品中加入毫無意義的功能來區分自己。[2] 然而,如果在此過程中犧牲了核心功能,則會導致購買後消費者的不滿和更低的整體終身價值,因為使用者的偏好從購買後功能轉變為可用性。 [3]

時間損失

[編輯 | 編輯原始碼]

開發人員的時間是有限的。隨著開發人員花費更多時間新增功能,他們對產品的核心功能的關注就會減少。這可能導致軟體膨脹或核心功能的損失。如果核心功能受到影響,那麼開發人員可能不得不停止生產,直到他們解決問題,從而導致更多時間損失。

近年來,智慧手機已無處不在,製造商必須快速有效地開發產品才能在市場上取得成功。三星在 2018 年開發了一款可以對摺的智慧手機。2019 年 4 月,三星在媒體測試期間發現多款手機出現故障後,取消了這款新智慧手機的釋出。[4] 這些手機於當年 9 月上市銷售。[5] 由於該功能尚未完善,這些手機變得無法使用,並且需要幾個月的時間才能解決與新功能相關的問題。

可維護性下降

[edit | edit source]

無論程式碼庫的功能如何,由於複雜性增加,在產品中新增功能會使維護變得更加昂貴和耗時。[6] 據估計,超過 50% 的軟體生命週期成本是由於維護造成的。[7] 擁有過多功能的產品可能會比核心功能較少的那些產品遇到更多需要維護的錯誤和問題。隨著所需維護量的增加,開發人員必須投入更多資源進行維護,或者接受產品效能下降。

可用性下降

[edit | edit source]

隨著開發人員向產品中新增功能,使用者介面可能會變得擁擠且難以使用。核心功能可能會被次要功能掩蓋或阻礙,因為功能的位置會發生變化或變得更難導航。由於消費者在購買產品後重視可用性,因此可能會導致消費者不滿。

寶馬 iDrive 系統是控制寶馬汽車次要功能的計算機系統的使用者介面。它於 2002 年首次亮相寶馬 7 系轎車。由於其複雜性和糟糕的可用性,最初的系統受到了公眾的嚴厲批評。[8][9] 該系統在中控臺上採用了一個旋轉旋鈕,用於在控制面板中導航。雖然該系統確實消除了許多按鈕和旋鈕,但使用者發現它難以導航且令人困惑。一位評論員指出,需要六個步驟才能更改廣播電臺。此後,該系統已進行了大量改造,以提供更好的使用者體驗。[10] 當前迭代具有一個更小的旋鈕,控制的功能更少,一個類似於平板電腦的觸控式螢幕,以及能夠識別語音命令和手勢以控制功能的能力。

隨著支援 Wi-Fi 裝置的普及,智慧家居技術已成為一種常見現象。該技術包括可以控制家庭功能的裝置,例如照明、門、供暖和空調,以及從移動裝置控制電器。雖然用一個按鈕控制所有家用電器的願景自 20 世紀中葉就已存在,[11] 但由於功能問題,該技術尚未被廣泛接受。[12] 使用者抱怨裝置整合困難、學習曲線陡峭以及不希望的功能。許多房主選擇傳統的系統,例如燈開關、標準電器和機械鎖門,因為它們能夠可靠地執行其預期功能,並且不需要學習曲線。

軟體臃腫

[edit | edit source]

當產品的大小、記憶體使用量、最低硬體要求等增加時,而與之前的版本之間沒有可衡量的差異,就會發生 軟體臃腫。在極端情況下,新版本可能會出現效能問題,使其比前代版本更慢。由於速度變慢,使用者可能會對遇到軟體膨脹的產品感到沮喪。此外,許多導致速度變慢的附加功能對他們(或大多數其他使用者)來說並沒有用處。

潛在修復

[edit | edit source]

批判性分析新功能

[edit | edit source]

專案經理經常會沉迷於新增功能,因為修復系統中的錯誤對於公司來說並不像新增功能那樣引人注目和有益。這種思維方式會加速功能過多症。因此,在考慮是否應該實現一項新功能時,需要考慮兩個重要因素:有多少人會使用它,以及他們會使用它多長時間。例如,如果一項新功能將被所有使用者始終使用,那麼它就是一個很棒的功能,應該予以實現。另一方面,如果一項新功能只會被少數使用者始終或大部分時間使用,那麼它可能不是最好的時間利用方式。可能存在一些需要改進的當前功能或一些需要解決的未解決錯誤。

錯誤修復

[edit | edit source]

如前所述,在某些情況下,實現新功能應該讓位於錯誤修復。因此,在嘗試減少功能過多症時,應該採用“先修復錯誤”的方法。這種方法側重於首先修復當前功能集中的所有錯誤,而不是在每次釋出產品時都推出新功能。這樣,使用者就不會被過多的功能所淹沒,反而會感覺到他們的反饋得到了重視、認可和實施。這種方法將使核心功能強大。

修剪

[edit | edit source]

關鍵在於專注於從系統中剔除不必要的功能,同時增強核心功能。換句話說,專注於打造強大的根和樹幹,然後再建立多個分支。確定哪些是核心功能需要傾聽使用者群並分析他們的用例。然後,以與上述相同的方式批判性地分析功能,以找到系統的核心功能。修剪後,應實施上述兩種解決方案,以阻止或減少系統中的功能過多症。修剪揭示了哪些被忽視的、高度利用的核心功能應該得到改進,以及哪些未充分利用的元件應該被移除。主要收穫是關注產品的核心元件並完善它們。

模組化

[edit | edit source]

與修剪類似,模組化是將系統拆分為其主要元件,然後新增額外的附加元件。這樣,使用者可以根據需要或想要新增軟體或產品,而不是一次性載入過多的功能。在修剪過程中被移除的額外功能可以變成額外的模組。然後,使用者可以獲得更加個性化的體驗,並可以根據需要或隨著專業知識的增加使用附加元件。因此,使用者構建的複雜性看起來並不像功能過多症,因為使用者對系統中的每一次新增都很滿意。計算機科學中對此的一個例子是框架的概念。例如,React Native 是由 Facebook 建立的用於構建原生移動應用程式的開源框架。Facebook 專注於支援和維護框架,而世界各地的開發人員則建立可以在框架中匯入和使用的庫或附加元件。因此,在每個 React Native 應用程式的核心,它都使用相同的框架,但構建在它之上的元件、附加元件或功能卻完全不同。

可配置的使用者模式

[edit | edit source]

與模組化類似,但附加元件被組合在一起並由系統預設。某些軟體或技術需要擁有大量功能才能支援廣泛的、幾乎無窮無盡的用例。在這些情況下,開發人員可以實現使用者模式,以顯示和隱藏不同的功能。這允許使用者根據他們在系統中的經驗在模式之間切換。因此,新使用者可以從初學者模式開始,然後隨著他們變得更加舒適和獲得更多專業知識而切換到其他模式。這將減少首次使用者被放置在專家模式下的功能過載問題,而實際上他們剛開始使用該系統。

SolidWorks 工具欄,已選擇“附加元件”功能區

SolidWorks 是一款計算機輔助設計軟體包,允許使用者根據自己的需求配置介面。預設螢幕顯示七個最重要的功能區和一個包含其餘專業功能區的“附加元件”功能區,而不是一次顯示所有 20 個可用的功能區。可以透過單擊適當的位置訪問許多隱藏的工具欄。側邊視窗可以最小化並重新定位。這些功能允許使用者根據自己的工作量身定製介面,並在需要時提供所有所需的功能,並說明可配置的使用者模式如何增強功能豐富的軟體的可用性。

結論

[edit | edit source]

功能膨脹症源於消費者、產品開發人員和營銷團隊之間相互競爭的議程的互動。根據奧卡姆剃刀原理,最複雜的解決方案往往不是最好的解決方案。正如三星可摺疊智慧手機的案例所證明的那樣,如果核心功能得不到維護,過度強調新功能將使開發人員付出大量的時間和金錢。產品功能可能具有革命性,但只有當產品與以前的版本一樣可靠且易於使用時,消費者才會投資。關於功能膨脹症的進一步研究可能包括進一步研究產品功能增加對盈利能力的長期影響,使用者反饋如何影響開發人員的決策和實踐,以及敏捷產品開發的有效性。

參考文獻

[編輯 | 編輯原始碼]
  1. Hamilton, R.W.,Rust,R.T.,Thompson,D.V.(2005年11月).Feature Fatigue: When Product Capabilities Become Too Much of A Good Thing. Journal of Marketing Research. Vol 4. (No. 4). 431-442. www.jstor.org/stable/30162393
  2. Carpenter, G.S., Glazer, R., & Nakamoto, K. (1994年8月1日). Meaningful brands from Meaningless Differentiation: The Dependence on Irrelevant Attributes. Journal of Marketing Research. Vol 31. doi:10.2307/3152221
  3. Hamilton, R.W.,Rust,R.T.,Thompson,D.V.(2006年2月). Defeating Feature Fatigue. Harvard Business Review. Vol 84.(No. 2). 98-107. http://re5qy4sb7x.search.serialssolutions.com/?url_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&rft.atitle=Defeating+feature+fatigue&rft.aufirst=RT&rft.aulast=Rust&rft.date=2006&rft.epage=%2B&rft.genre=article&rft.issn=0017-8012&rft.issue=2&rft.jtitle=HARVARD+BUSINESS+REVIEW&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.pages=98-%2B&rft_id=info:pmid/16485808&rfr_id=info:sid/webofscience.com:WOS:WOS&rft.spage=98&rft.stitle=HARVARD+BUS+REV&rft.volume=84&rft.au=Thompson%2C+DV&rft.au=Hamilton%2C+RW
  4. Samsung. (2019年4月23日). Samsung to Postpone the Launch of the Galaxy Fold. https://news.samsung.com/global/samsung-to-postpone-the-launch-of-the-galaxy-fold
  5. Samsung. (2019年7月24日). Galaxy Fold ready for launch September 2019. https://news.samsung.com/us/galaxy-fold-ready-for-launch-september-2019/
  6. Banker, R.D., Datar, S.M., Kemerer, C.F., & Zweig, D. (1993年11月). Software Complexity and Maintenance Costs. Communications of the ACM. Vol 36. (No. 11). http://www.pitt.edu/~ckemerer/CK%20research%20papers/SwComplexityAndMaintenanceCost_BankerDatar93.pdf
  7. Banker, R.D., Davis, G. B., & Slaughter, S.A. (1998年4月). Software Development Practices, Software Complexity, and Software Maintenance Performance: A Field Study. Management Science. Vol 44. (No. 4). 433-450. https://www.jstor.org/stable/2634607?Search=yes&resultItemClick=true&searchText=software&searchText=maintenance&searchText=management&searchUri=%2Faction%2FdoBasicSearch%3FQuery%3Dsoftware%2Bmaintenance%2Bmanagement%26amp%3Bacc%3Don%26amp%3Bwc%3Don%26amp%3Bfc%3Doff%26amp%3Bgroup%3Dnone&ab_segments=0%2Fbasic_expensive%2Fcontrol&refreqid=search%3A0ab30622098d6880a4a44862c8ae3b23&seq=17#metadata_info_tab_contents
  8. Hoover, Tyler. (2017年8月). I Bought the Most Hated BMW in the United States. https://www.autotrader.com/car-video/i-bought-most-hated-bmw-united-states-267950
  9. Kacher, Georg. (2001年12月2日). 2002 BMW 745i. Automobile. https://www.automobilemag.com/news/bmw-745i-2/
  10. Bornhop, Andrew. (2012年11月6日). 2002 BMW 745i.Road & Track https://www.roadandtrack.com/new-cars/reviews/a9297/2002-bmw-745i-1/
  11. [historycomestolife]. (2014). Westinghouse All Electric House (color). https://www.youtube.com/watch?v=jyrTgtPTz3M
  12. Paxton, Mike. (2017年6月14日). Smart Homes in the U.S. Becoming More Common, But Still Face Challenges. https://www.spglobal.com/marketintelligence/en/news-insights/blog/smart-homes-in-the-u-s-becoming-more-common-but-still-face-challenges
華夏公益教科書