軟體品質的巨大衰退:為什麼現代應用程式變得更糟

軟體品質的巨大衰退:為什麼現代應用程式變得更糟

現代軟體正經歷著品質與穩定性的系統性衰退,即使 AI 工具為開發者提供了前所未有的生產力。這種「軟體品質衰退」並非由技術能力不足所驅動,而是由組織激勵所驅動,該激勵優先考慮快速功能部署和表面的 KPI,而非穩健性和使用者體驗。

AI 生產力與軟體品質的悖論

儘管 AI 驅動的編碼助手和代理工作流程已經革命化了軟體創建,但它們並未轉化為更可靠的產品。更快生成程式碼的能力並未消除錯誤;相反,它經常加快了缺陷進入生產環境的速度。

Users are reporting a surge in "fragile" software experiences across various domains:

  • 關鍵系統故障: 現代汽車的資訊娛樂系統在行駛期間重新啟動,或未能觸發必要的音訊提示(例如轉向訊號)。
  • UI/UX 倒退: 銀行應用程式為單一操作要求多次生物辨識登入,或作業系統更新任意移動按鈕並改變導航模式。
  • 焦點與控制問題: 應用程式搶奪其他活動任務的視窗焦點,導致在錯誤視窗中發生意外輸入。
  • 網頁效能: 高端硬體被臃腫的軟體所抵銷,例如冗長的歡迎動畫和無響應的行動網頁介面。

品質衰退的根本原因

軟體穩定性的下降是幾個匯聚因素的結果,這些因素超出了用來編寫程式碼的工具。

KPI 驅動的開發

軟體供應商日益將重點放在獎勵新功能和重新設計而非穩定性的關鍵績效指標(KPIs)上。修復錯誤和提升可靠性在高層簡報中常常看不見,也不會帶來即時的市場價值。

這個季度,我們不會發布任何新功能,且我們沒有重新設計任何東西 ’ 我們將專注於修復錯誤。 — 虛構的 PM,來自 BigCo

業界參與者指出,這種激勵結構如此嚴格,以至于優先考慮修復錯誤而非功能 churn 的產品經理可能會被邊緣化或終止。

「Happy Path」和 MVP 文化

敏捷開發的普及以及「最小可行產品」(MVP)心態導致了交付「足夠好」軟體的文化。僅專注於「幸福路徑」——即理想的使用者旅程——團隊會忽略邊緣案例和錯誤處理,這保證了未來的技術債務和系統性不穩定。

複雜度與抽象的增加

軟體變得指數級地更複雜。從獨立工具向分佈式系統的過渡,加上新前端框架和基礎設施抽象的激增,使軟體變得更脆弱。許多開發者接受過孤立算法的訓練,但在面對分佈式系統、冪等性和併發的複雜性時會感到吃力。

非技術管理的影響

技術執行與產品擁有權之間的差距日益擴大。當非技術的產品擁有者(PO)掌控軟體生命週期時,焦點會轉向市場化和投資者需求,而非最終使用者的人際體驗。

前進道路的觀點

儘管目前軟體的狀況令人沮喪,但正在出現一些反趨勢,並且存在提升品質的潛在機會。

個人開發者的機會

隨著大型公司陷入「AI 債務」並產出日益臃腫的軟體,個人開發者有機會構建精簡、高品質的替代方案。針對主流作業系統和應用程式的臃腫,正興起一種「反叛行為」的運動。

將焦點轉向穩健性

有人主張,逆轉衰退的唯一方法是將軟體視為嚴謹的工程學科。這涉及將焦點從速度轉向穩健性,並以 SQLite 等專案作為穩定性和驗證的黃金標準。

使用者體驗(UX)的角色

真正的品質不僅是沒有錯誤,更是有意識的人本設計的存在。目前為投資者和市場而非人類開發軟體的趨勢,導致了「黑暗模式」和剝削性介面的興起。將軟體視為一種實用工具——專注於可靠性和簡單性——可能是恢復使用者信任的唯一方法。

Sources