昨日一整天在新竹某科技大廠展開為期三個月的系統開發暨人員技能培訓的顧問輔導。團隊主要輔導人員,包括 Ringle, Arthur, Steve 與我都一同參與這第一次的 Kick-off 輔導 Meeting;爾後是每一星期至少一次 On-Site 對該資訊單位,約 20多位的開發人員從某一 Web Portal 系統開發實務過程中,協助關於系統架構/需求分析/結構設計/程式實作的技能/技術輔導。
輔導對象的資訊開發人員大都只有 VB6 的程式撰寫經驗,而新系統的開發卻是 Web Portal by ASP.NET MVC & C#.NET 物件化的語言。
有趣的是對方負責總體專案管控的 Manager 以為今天我們過去只是先了解下他們系統大致的功能需求而已;殊不知,我跟他們說今天就要產出可執行的程式碼!他們都露出驚異不容易置信的表情。
所以早上先從大業務流程的分析,產出 Eriksson-Penker 的火箭圖;再針對其一的作業流程產出以人本角度的活動圖。然後就是從其中規劃使用案例模型,分析主要的使用案例以及使用系統的參與者,還有與外部系統整合的參與者。
針對其中最具代表與價值性的使用案例,撰寫使用案例陳述;這邊我還特別強調使用系統循序 (sequence)圖來輔助解讀參與者與系統之間的訊息互動。與會的資訊開發人員都還蠻能理解未來要撰寫到以類別為單位的程式碼中,如何對映到 function (method)的邏輯。
再來就是撰寫控制程式碼以及 ASP.NET 的 View Page/UI Controller。馬上就可以執行並對該使用案例做一個基本功能的展示操作。
當然,若沒有像 Ringle 這樣的超人,是沒有辦法在短短的六個小時內,還含解說並在現場與會近30個人員面前,馬上分析、塑模與撰寫程式並確實可以執行驗證的。
不過我是跟他們說,未來這樣的開發模式,也就是分析設計後,要求需要在一個星期內 (不要求三天內)就要產出程式碼,如此才得以早些反饋並修正調整~
這應該是顛覆了他們對所謂傳統系統分析設計的觀念;不過,身體力行,在帶著他們系統開發的這三個月期間,從實際的作中學過程中,得以把這樣 I&I 的務實文化發展起來吧。