程序員的軟件開發指南:零 bug 策略

如今軟件開發迭代頻繁,隨之而來的是產品質量難以保障,用戶一天天被動找到 bug 而罵開發,開發要麼被拉去祭天,要麼拉慢開發新功能的進度條,分出時間精力處理 bug。這已經成了軟件開發行業的一大難題,有什麼解決方案呢?

企業生產力解決方案提供商 Workiva 的 CTO 提出了一個“零 bug 策略”—— Zero Bug Policy,Workiva 軟件工程師 Kevin Sookocheff 在博客中介紹了該策略。

零 bug 策略只有一個要點:所有 bug 的優先級高於所有功能的開發或改進。這也就意味着,其實不存在所謂的 bug 優先級、嚴重 bug 或小 bug,一個 issue 要麼是 bug,要麼就不是 bug。而如果它是一個 bug,開發人員就需要在進行其它工作之前把它修復。

零 bug 策略在提高產品質量方面非常有效,Kevin 介紹,這種策略可以保持開發團隊對 bug 的敏感度,從而能夠對用戶體驗感同身受。這一點其實是思維慣性上的轉變,當“出現 bug,導致產品質量下降,解決 bug”這一思維過程變得更加固化,那麼對於產品質量的期望值也會相應改變,可能以往出現 25 個 bug 那這一週就值得慶祝了,現在的要求就是隻出現 10 個 bug 纔算“好周”。這樣會產生良好的編碼規範。

除了改變開發團隊對用戶體驗和產品質量的預期之外,零 bug 策略還有許多其它優勢。

降低開發成本

如果一個 bug 報告等了兩個月再來解決,時間隔了這麼久,再去查看相應代碼的時候可能都忘記了它的邏輯,或者需要重新去學習一遍相關內容。另一方面,可能你正在查看的是別人的代碼,而那個人不在現場,可能去度假了,那麼跟進這個 bug 就需要花費大量時間與精力去調試、解決並驗證。採用零 bug 策略就不存在一個 bug 等待兩個月纔去解決的問題,可以避免這樣的開發成本開銷。

更好地安排開發週期

如果剩下的只有新代碼,那麼你的日程安排將更精確。 — The Joel Test: 12 Steps to Better Code

開發者很難估計修復一個 bug 需要多少時間,也很難預測修復 bug 對產品發佈計劃的影響有多大。通過實施零 bug 策略,期望得到無 bug 的代碼庫,那麼就可以消除這種不確定性,從而可以更容易預測新功能的開發時間,更好地安排開發週期。

提高敏捷性

沒有 bug 的情況下,可以隨時以高的質量將產品交付給客戶,這使得公司可以快速響應不斷變化的市場需求。這種敏捷性的提高其實與上邊提到的更好地預算開發週期的能力密切相關,從軟件開發中消除了修復 bug 的不確定性,那麼就可以在更短的時間跨度內提供有意義的新功能或功能改進,從而提高了開發整體的敏捷性。

提高客戶滿意度

前邊說的這些優勢其實都可以指向提高客戶滿意度,但更爲關鍵的是,如果產品開發中將 bug 視爲高優先級,就直接意味着公司重視客戶及其用戶體驗,這對於保持客戶對公司和產品的高度信任有重要影響。雖然每個 bug 可能都不是什麼大問題,但隨着時間的推移,累積起來的問題會侵蝕掉客戶的信任,許多公司也正是在這樣的情況下黯然收場。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章