如何有效且準確的進行軟體開發?
發想期
對於系統在發展過程中,會有許多功能上的發想,可能會是由 PM、Sales、User…etc. 所提出,在此階段前期,應是無需考慮實作,而盡情的思考其創意,中期進行思路的收斂,確認其方案必要性及可行性以及是否符合公司發展及市場期待,最後才會歸納出最佳及次要方案。此次參與的人員可能會是團隊中各個成員,以先發散再收斂的方式,確立本次系統開發階段的主要方向。
規劃期
本階段主角應為 PM,原因在於需要將發想期的結果具體化,而 PM 需要與 UIUX 做合作,一方面 PM 需要確定此次開發項目的理念、系統操作情境、使用對象、流程、欄位、規則、限制、樣式及結果。接下來 UIUX 就可以依據上述的條件進行畫面上的設計,UIUX 在進行畫面上的設計時才有辦法確保不會在設計時偏離了 PM 的規劃理念,不然就容易造成 UIUX 所設計出的結果在 User 操作時,不符合期待。
系統設計期
當功能及畫面設計完成後則由 PG 依照規劃及的結果進行系統實作面的設計,確認其功能在實際開發時的系統邏輯、資料庫的欄位設計、頁面網址設定,並且其各情境皆與 PM 所規劃的內容相符,這一些將會產生系統開發文件,待實作時使用。
此時所設計完的內容再交由實際開發的 PG 進行時程的評估,以工程端的角度,必需要有明確的需求規劃才有辦法進行精準的時程預估,評估後再進行開發時間的排程。
若 PM 及需求端產生了需求變更後需要進行影響性的評估,此時所預估的時程就容易不準確。
系統實作期
在進行實際系統開發的過程中,PG 其實不應該進行可行性或開發方式的選擇,而應是完整的依照系統設計文件進行實作,若此階段的 PG 在開發過程中對於程式撰寫的方式舉棋不定時,就容易造成開發時程的延遲,PM 也無發掌握進度,最後整體開發失控。因此在開發時 PG 的身份就是所為的碼農,只管依照文件寫程式,其他無需思考。如此一來才有辦法在控制之下完成所有項目。
驗收期
最後的驗收,若 PG 是依照著系統設計文件進行開發,產出則應符合 PM 所預期,PM 也才可以依照規劃期所產出的文件進行功能上的對照及確認,PG 也才會知道此項目的功能開發程度及驗收準備,這樣才可以完整確實的把該項目「結束(Close)」。