使用原型可直接降低風險。原型可以降低不確定性,包括:
-
從事開發一項產品的可行性
-
關鍵技術的穩定性或效能
-
專案贊助或資金:建立小型的概念實證原型
-
對需求的瞭解程度
-
產品的外觀與操作方式及實用性。
原型有助於建立產品支援,提供一些具體可行的成果給使用者、客戶及管理人員。
此外,原型在整個生命週期內必須保持明確的本質和目標。如果您不打算讓原型發展成實際的產品,就不要因為原型可行,就認為應該變成最終產品。一種快速試驗使用者介面的探索、行為式原型,不太可能形成一套穩定又有彈性的產品。
您可以用兩種觀點來解釋原型:探索什麼;如何演進或結果是什麼。
就第一種觀點而言 - 探索什麼 - 有兩種主要的原型:
-
行為原型,強調探索系統的特定行為。
-
結構原型,探索一些架構或技術面的議題。
就第二種觀點而言 - 結果 - 也有兩種主要的原型:
-
探索原型,用完即丟,又稱為拋棄式原型。
-
進化原型,逐漸發展為真實的系統。
探索原型的設計很像一種小型的「實驗」,可測試專案相關的一些重要假設,包括功能面和技術面。可能只有幾百行程式碼,目的是為了測試重要軟體或硬體元件的效能。或者,為了釐清需求,開發一個小型原型,以明瞭開發人員是否瞭解特定的行為面或技術面需求。
探索原型最後通常故意「拋棄」,且通常不是正式的測試。探索原型的設計通常很不正式,頂多只有一兩位開發人員。
顧名思義,進化原型會隨著反覆活動而逐步發展。雖然初期達不到正式的品質,但程式碼通常會隨著產品演進而修改。為了避免修改失控,即使在早期階段,通常就有很正式的設計和稍微正式的測試。隨著產品逐漸發展,測試會愈來愈正式,就像設計一樣。
行為原型很像探索原型;但不模仿所要開發的系統架構,而是強調使用者感受的系統運作情形(「外表」)。這種原型通常草率粗糙,不符合專案標準。例如,Visual Basic 可做為原型語言,C ++
則適用於開發專案。探索原型屬於暫時性,不必投入太多心力,一旦達到目的隨即丟棄。
結構原型很像進化原型;很可能採用最終系統的基礎架構(「綱要」),且很可能發展成為真實的系統。如果以「正式」語言和工具來製作原型,額外的好處就在於可以測試開發環境,且可讓部份人員熟悉新的工具和程序。
|