2009年9月30日 星期三

Y04 POC的產出不適合直接使用

有些專案在競標之前會先製作POC(Prototype of Concept),等到專案開始後會有人直接拿POC裡的產出放到真正執行的環境裡。理由當然是說這個功能在POC已經做出來而且可以執行,只要再加上相關環節後就能擴充到足以驗收的程度。

這當然是從“可以驗收”的角度來看待POC的產出,但是深入一層去想,POC這個名稱已經很清楚地說是“概念的雛型”,目的在於驗證想法是否可被實現。在架構已經選定的前提下,自己在製作POC時思考的是:
●什麼時間點需要執行這個功能(入口)
●執行這個功能時需要哪些步驟(流程)
●每一個步驟各需要什麼元件來支援(動作)

決定執行的時間點後可以導向入口,在專案裡掛上功能的入口很簡單,但是需要調整傳入與傳出的資料。流程是功能進行的順序,在POC時幾乎都只製作正常的流程與幾個需要呈現的錯誤,要在專案實用就得加上所有的錯誤控制。動作方面大多會使用到其他元件提供的功能來組成自己的分解動作,倘若是第三方提供的元件使用的方式會比較固定,但要是使用元件預定是在專案內才設計的就會有被變動影響的風險。

達成目標經過的每一步以及收送的資料內容都需要經過設計,這些並不是在製作為了測試概念能否執行的POC時會考慮到的,僅求一時之快將POC的內容直接引用,未來勢必會出現設計想法不同的落差。能夠只作些小修改就融入專案設計算是最好的,但是大多數的情況還是需要打掉重做才能符合專案需要。

曾經在專案後期被POC改寫的元件卡著上下不得:想作些專案需要的修改時覺得綁手綁腳,想重做又會浪費重新測試的資源。捨棄POC所寫的功能而僅參考執行概念再重新設計出新的元件,是我決定的作法。

沒有留言:

張貼留言