迭代與創(chuàng)新:不要指望一次成功

字號:

軟件的復雜性的一個重要方面的需求的復雜性。只要一個軟件稍具規(guī)模,就很少有人能把這個軟件成型之后的樣子一下子想明白。更嚴重的時候,人們甚至不知道要解決的業(yè)務是什么樣的。
    當人們嘗試通過軟件手段來改善企業(yè)流程,提升企業(yè)的工作效率,首先需要對現(xiàn)有的業(yè)務有清醒的認識。沒有這個認識就不可能知道目前的問題是什么。不知道目前的問題是什么,也就無法確定項目要達到的目標。了解了當前的業(yè)務以及當前業(yè)務中的問題之后,需要針對問題對業(yè)務流程進行優(yōu)化,重新設計其中的部分或全部業(yè)務流程。這看起來是順其自然的事情。然而,實際上這在很多情況下是很難進行的。越是不成熟的行業(yè)和企業(yè),這種工作就越難進行。
    想要在短時間內解決這種問題是不太容易的。我們需要一種機制讓人們可以很容易地開始,然后通過一個路徑能夠逐漸逼近理想的目標,就如同學習數學要先從學習數字開始一樣。認識是一個逐步深化的過程,而實踐則為認識提供反饋,可以讓人們對事物的認識更正確。
    可以把這個逐步逼近的過程類比為科學研究。先提出一個設想,然后做一些試驗去驗證這個設想,發(fā)現(xiàn)一些不合理,然后再修正原先的設想,然后開始下一次試驗。這樣一個循環(huán)的過程就是迭代的過程。
    軟件的迭代式開發(fā)亦如此??茖W家搞研究的過程是創(chuàng)新的過程,軟件的開發(fā)也需要這樣的過程。對于上述的業(yè)務不明確,需求不明確的問題,我們首先需要有“不要指望一次成功”的態(tài)度,其次,我們不能懼怕失敗,然后,我們要堅持不懈,而且,我們需要反饋、反思和修正。迭代使我們通過不斷的設想、試驗、反饋、修正這樣一個基本過程的多次循環(huán),最終達到我們想要的結果。這個過程是一個創(chuàng)新的過程,因為這是我們對未知問題的探索。這個過程讓我們始終對未來充滿希望,因為我們知道我們正在逼近目標。這個過程能夠讓我們勇敢地面對失敗,成為一個真正的戰(zhàn)士。
    迭代吧!