關於最小化設計(儘早實現)的一些想法

    當提到最小化設計或者儘早實現時,保守派最強有力的反擊就是“沒有設計就沒有編碼”“最小化設計就是沒有整體設計”“儘早設計會失去統一過程的控制”,但是事實到底是不是這樣呢?問題(或者爭論)的實質在於到底什麼是最小化設計。

我們先來看看最小化設計的描述:
1、最小化設計要求儘早的實現用戶所想要的優先級最高的需求點。
2、儘快的讓用戶看到產品,以便確定其是否爲用戶想要的,並帶着用戶的反饋開始下一次設計。
3、每一次設計的依據都只是當前用戶暫時(即以設計開始時用戶要求爲準)的需求(包含上一次設計的反饋信息)。

以上描述只爲我們提供了一個過程,而其中的前提和條件並沒有澄清,爭論恰恰起源於人們在各自前提下對描述的理解,所以爲了平復這場誤會,有一些前提需要明確。


首先,最小化設計是建立在擁有完善條件基礎上的,包括:及時的用戶反饋、頻繁的集成和交付、無阻力的持續改進和需求變化、積極的團隊、完備的迴歸測試。如果沒有這些條件做保證,最小化設計將會失去動力和靈魂。


其次,最小化設計並不是沒有設計。它要求一個儘量開放的抽象接口(設計的重點)和儘量封閉的具體實現(夠用就行的實現)。這樣會在獲取擴展性的同時,儘量節省實現的時間(即減少返工損失)。


再者,統一過程的最終目的是讓一次開發過程可控,而最小化設計是讓開發過程粒度更細,以獲取最靈活的控制,它只是將形式化的資源浪費降至最低,把時間用在刀刃上,不與統一過程相牴觸。


最後,最小化設計是一種設計策略和建議,並非萬金油。

實際上,很多的爭論都是來自前提不明、對對方理解不夠深入,所以遇到此類問題,我們要做的是把雙方的本質澄清,以消除誤會所在。

以上是最近看到某些混戰之後的一些思考,如有差池,望各位不吝賜教。

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