無法收斂的bug pool

首先,會出現這個問題在於一開始的需求不確定,因為需求的不確定,導致開發者做出prototype之後,需求才漸漸顯現出來,需求出現以後再將prototype加以修改,導致無法收拾的局面。

若原本的功能只有新增,但需求增加為新增之外還能修改,就會產生新的問題。例如:修改資料到一半時新增一筆資料,該資料該如何呈現?而修改到一半的資料是否需要保留?若需要保留,則開發者為了將資料保留而放到了Session當中,放到Session以後,使用者在修改到一半時切換到別的功能,再回來原本修改的頁面,發現原本修改到一半的資料卻沒有消失,還在那邊。因此產生了新的bug,為了清除過時的Session,而寫了更多的code,若清除Session的時機不對,則產生因為清除Session的bug,如此下去無止盡的向下延續、產生新的問題,該程式就成了bug pool,不斷產生bug,永遠沒有改完的一天,開發時間將會不斷的拉長,成本不斷提高,並且程式效能逐漸下降。

在這當下,RD、QA的挫折感會漸漸產生,接著產生摩擦,讓專案難以繼續進行,那如何解決問題?

在一開始需求就不明確的狀態下,為了收斂bug的數量,勢必雙方都要做出妥協,在妥協之中收斂bug數量,進而完成該功能。

但經過妥協而產生的產品,絕對不是「好」的產品,好的產品應該是不斷的精益求精,不斷的苛求所產生的,追本朔源就是要求需求明確,若需求無法明確也不應該無止盡的加入新功能,在需求未明確的狀態下只有可能開發出堪用,而非好用的軟體,或是必須花費更高的成本、更高的代價來做,但以如此高成本做出這樣的產品真的能夠獲利嗎?這就有很多想像空間了。

bug pool是我自己創造的名詞,意謂不斷產生bug的程式。

留言

這個網誌中的熱門文章

使用Mac的Preview來合併兩張圖片

重拾起書本

透過iTunes Match將你的音樂洗白