原型開發(fā)
原型開發(fā)的定義是迭代和測試的快速開發(fā)速度。通常,原型被創(chuàng)建為所需最終產(chǎn)品或功能的簡化版本,用于在完全提交之前測試概念。原型是讓利益相關(guān)者參與新項目或更改現(xiàn)有項目的好方法,而無需進(jìn)行昂貴的前期投資。早期的原型可以是簡單的草圖和繪圖,但在本文中,我將專門關(guān)注編碼原型。
原型優(yōu)先級
在原型開發(fā)階段有三個主要優(yōu)先事項:快速迭代的能力、接收快速反饋的能力以及保持相對較低的成本。
原型通常是在不確定時期創(chuàng)建的,當(dāng)我們有以下問題時:這是一個可行的產(chǎn)品嗎?實施起來有多容易?最終用戶會喜歡這樣嗎?我們希望能夠快速回答這些問題并快速迭代,直到找到最佳解決方案或得到我們正在尋找的答案。
快速開發(fā)通常涉及更簡單的方法,其中可能包括對所需功能的低保真版本進(jìn)行編碼,并且通常涉及修剪您可能在生產(chǎn)應(yīng)用程序中發(fā)現(xiàn)的花里胡哨,例如復(fù)雜的測試框架、昂貴的數(shù)據(jù)庫管理等. 為了提高效率,在開始編碼之前應(yīng)該進(jìn)行適當(dāng)?shù)募夹g(shù)設(shè)計和規(guī)劃。
快速反饋同樣重要??焖俚闹饕繕?biāo)是測試和評估迭代的能力。在原型階段,我們經(jīng)常在利益相關(guān)者之間來回走動,提出新的想法和功能,并詢問他們的可行性。及時傳達(dá)有關(guān)原型或迭代可行性的決策非常重要,以便可以有效地采用生產(chǎn)或報廢并送回繪圖板。緩慢移動的評估或反饋周期會削弱快速發(fā)展的目的,并且會浪費(fèi)大量時間。
可以通過定義明確的評估指標(biāo)來加快反饋周期。您需要知道您的通過/失敗條件是什么,誰將進(jìn)行評估,以及評估人員的截止日期和期望是什么。
在原型設(shè)計階段,保持低成本是一個重要的優(yōu)先事項。您希望能夠在不花費(fèi)大量時間和金錢的情況下獲得所需的答案和反饋。由于您在不確定的時期進(jìn)行原型設(shè)計,因此您正在處理的任何事情都可能被報廢并送回繪圖板。投入太多時間和精力開發(fā)原型的任何方面都可能是浪費(fèi)。而且,如果您對原型投入過多的情感,當(dāng)事情沒有按計劃進(jìn)行時,可能會令人沮喪。
原型階段的重要注意事項
盡管在開發(fā)原型時強(qiáng)調(diào)速度,但重要的是要記住您的代碼可能是未來生產(chǎn)應(yīng)用程序或功能的基礎(chǔ)。出于這個原因,重要的是要認(rèn)識到原型設(shè)計和“黑客”之間的區(qū)別。黑客(或極度強(qiáng)調(diào)快速且通常不穩(wěn)定的臨時解決方案的編碼)對于學(xué)習(xí)、創(chuàng)建短暫的概念證明或只是為了玩樂非常有用。然而,原型設(shè)計通常不是黑客的好時機(jī)。
請注意您在編寫原型時所產(chǎn)生的技術(shù)債務(wù)。技術(shù)債務(wù)是指在短期內(nèi)選擇更簡單或更快的解決方案而不是需要更長實施時間的更好方法的成本。通過最終將代碼重構(gòu)為首選解決方案,您還清了技術(shù)債務(wù)。而且,繼續(xù)使用債務(wù)隱喻,您經(jīng)常為您選擇不以必須不斷解決不良代碼的形式償還的技術(shù)債務(wù)支付利息。
原型設(shè)計實際上只是一個階段。原型制作時要記住的另一件重要事情是知道何時該退出原型階段。這可以采取以下兩種形式之一:原型被批準(zhǔn)進(jìn)入生產(chǎn)階段,或者原型被否決并悄悄地消失在 git 歷史中。當(dāng)重要的利益相關(guān)者對原型感到滿意時,通常會在這兩種情況中更快樂,您已經(jīng)獲得了有關(guān)項目可行性的所有答案,并且您對投資項目的長期未來充滿信心。
雖然考慮到我們心愛的原型得到并且從未完全發(fā)展成一個強(qiáng)大的大型生產(chǎn)應(yīng)用程序可能會令人難過,但這只是過程的一部分。這就是我們制作原型的原因。如果我們沒有找到我們正在尋找的證據(jù)來驗證我們的想法,最好讓他們離開并繼續(xù)下一個想法?!翱焖偈 钡母拍钤谲浖?、系統(tǒng)設(shè)計和業(yè)務(wù)中很普遍,在這里它肯定是相關(guān)的。能夠識別您的原型何時朝著錯誤的方向前進(jìn),可以讓您重新評估當(dāng)前項目的目標(biāo),或者返回繪圖板以獲取新原型。如果您按照上面的建議保持低成本,這應(yīng)該可以減輕不得不對您當(dāng)前的原型說晚安的打擊。