什麼是All In? 是你不知道全力做這件事情會得到什麼。但你隻想把它做好的感覺。
最近項目着實忙碌,奮戰在第一線,從一開始了解需求,整理需求,到系統設計,子產品兒設計。随後前後端接口約定,背景管理子產品兒與核心子產品兒開發,前後端接口聯調,與其他系統接口約定聯調。再到全項目測試,以及迎來最終階段的開發與聯調。1個月……沒錯,細分下來工作量是巨大的,但後端就隻有我一個人。兼項目管理與系統設計開發測試聯調。每晚兩點多還在開發測試各種case……那麼下面說下本次項目開發的周期。
階段一:從8月24日最終确認産品形态1.0,與之前版本大為不同,除了某些固定接口封裝以外的所有子產品兒都需要重構,評估重構工作量與重新開發一套的成本一樣巨大。于是走上了一條不歸路,哈哈……
階段二:9月1日經過整體詳細設計,資料庫設計,系統架子,結構設計,互動對象抽象,進入開發階段。工作量巨大,分為統一消息接入,統一黑白名單,緩存加載,規則檢驗,前台規則管理,規則圈定,規則執行個體,規則種類實作,審批流程封裝,其他系統接入,規則動态加載,導入等。邊設計,邊定義前後端接口,編寫整體系統架構,代碼結構。
階段三:9月13日,經過連夜開發測試聯調,前後端整體互動聯調進度達到百分之70,主流程子產品兒也開始接入外部系統,同時完成主流程圈人,檢驗,動态加載檢驗及各類消息結果封裝。
階段四:9月14日到9月21日,前後端子產品兒基本完成,主營運流程已與接入系統聯調通過,同時進入全面測試階段,剩下還有百分之10的開發工作量,需要在9月26日完成,9月30日進行1.0版本釋出。
縱觀整個生命周期,第一次在時間較為苛刻的情況下進行全項目周期的需求,設計,開發,聯調,測試,如今已到收尾階段。從中吸取的經驗如下:
1.前後端接口的定義盡量提前做,保證前端開發能夠同步進行。
2.更詳細的功能細分與時間線劃分,由于時間較緊,有任何問題提前暴露,讨論解決,暴露風險點,難點與解決方案。
3.沒有測試的情況下,需要自己一個一個接口編寫單側與測試用例,各種異常捕捉處理。
4.代碼是寫給人看的,不是為了完成而完成,即便緊迫的時候不得不先特殊處理,那麼特殊處理之處一定要注明緣由,以防後面的人不知道緣由。
5.每周五要彙總整體進度,哪些延遲,有什麼問題及風險。
總之,快要累死了哈哈…幸好中途來個新人幫我分擔了部分背景工作,否則真恨不得有三頭六臂。在較短周期及人員不足的情況下,能夠專注的時間是極其可貴的,因為你可能一個人充當多個角色,而且很多時候會跟一開始想的并不一樣,也會牽扯功能結構變動,要有更詳盡的計劃與變更風險估算,切勿慌了陣腳。