軟體開發過程的重要性分類:管理
上週我們討論軟體開發的知識庫,大家反應的意見很多,我也深深地感覺到現在軟體業在開發的過程因為人力及時間的不足,所以經常日夜趕工,而造成非常多的惡性循環,這一次我們討論軟體開發的過程經常性會發生的錯誤,這些錯誤有必要讓各單位能充分的了解並互相配合。
一般在軟體系統開發最重要的就是開發的過程,我提出三點最重要的相關過程,不但是經理人每日要提醒自己的,也是程式開發者避免要犯的錯誤,第一是不紮實的系統規劃,第二是日夜趕工的開發方式,第三是品質確認。
不紮實的系統規劃:系統分析師往往是由資深的程式設計師來擔任,往往一個案子在開始開發之前,要經過需求分析、建構雛形、客戶訪談......,這些過程是不能被省略的,這些系統分析師或是專案負責人,往往會忽略掉這些重要的過程,而跳到直接撰寫程式的錯誤結果,如果我們無法在一開始的五個小時就做好先期的規劃與設計工作,未來可能會花五十個小時來彌補。
日夜趕工的開發:有一些公司有短期趕工方式來快速的建構核心及雛形,他們認為如果讓開發人員有足夠的動機,他們就可以克服任何困難,完成系統開發的工作,但是這種快速短期開發的過程往往不符合市場或者是客戶的需要,除非在日夜趕工之出就能規劃出目標來,不然往往會趕出一個短期不成熟的產品。
品質確認:在一個匆忙的專案最會省略的就是設計與程式碼的審查確認,只做表面性的測試,這一點大家總認為只要把這一些工作交給測試單位就完成了,但是測試單位知道程式碼在哪裡?他知道所有的設計細節嗎?這也是兩個單位溝通最多的地方,而不是只是把成品丟給測試單位,然後設計與測試兩個單位就開始反反覆覆的皮球丟來丟去,所以品質的確認不但要做到系統模組設計的確認,也要做到程式碼的審查。
上述的三點是我認為程式開發重要的三項工作,也是最容易忽略的三個過程,系統開發者最自負的也是這三個過程,但是這三個過程並非在自己的腦中流過,而是在一個團隊中確認的過程。