5月團隊項目感想
團隊項目情況概覽
就團隊整體層面,五月初,團隊項目走上了正軌,前、後端使用的技術和框架已經確定,穩定撰寫代碼。五月中旬完成了發布前最後一次遊戲測試,收到了反饋,並且據此修正團隊項目前進的方向。五月下旬,我們迎來了團隊負責美術的同學,前端不再受困於設計。小組會議維持在每周至少一次(4小時)的頻率,上周開始為了加緊進度,除開小組會議之外的時間,每天也要安排一定的輸出。
小組進度看似順利,實則遇到了一些比較大的困難。首先,前端架構為了優化性能進行了一次重構,付出了一定的適應新架構的時間成本。其次,最後一次遊戲測評之後,遊戲規則有了一定的改動,後端已完成的結構需要添加和修改。最後,在後端主要模塊GodActor編寫過程中遇到了異步處理原理上的障礙,技術攻關需要一定的時間。
上周說的預計6月1日發布Alpha版本,現在看來可能性非常小。其原因一是我們對任務量和自身能力的錯誤預估,二是在實際開發的過程中會產生許多計劃外的新問題,帶來額外的工作量。
個人收獲之一:普通技術層面
我在團隊中的工作是博客撰寫發布和後端代碼編寫。在這兩個本職工作方面都學到了不少東西。
團隊博客的撰寫過程中,學會了如何使用Markdown進行簡潔快速的排版,如何合理使用簡單的工具,比如使用Excel和畫圖工具進行工程示意圖的繪制,養成了分類整理文檔的習慣,打字速度有所提高。
後端方面主要收獲是:
①使用的技術是Java,學習新語言的收獲自不必說。
②在完成代碼的過程中,也學習到了一些新的概念,比如Actor模型,位圖,多線程和並發的原理等等。③養成了單元測試的習慣(沒有使用JUnit框架而是自己編寫)、學會了使用assert語句進行測試。
④Java常用技術工具Git、IDEA的使用也更加熟練。
⑤從文檔中提取程序所需信息的能力也大大提升(閱讀遊戲設計者提供的規則, 並將其轉化成代碼)。
五月之初由於前端人手不足,我作為原本的後端程序員和本組組長一起臨時加入前端進行了一定的前端代碼編寫。因次也學會了一定的前端技術。
前端本組使用的是HTML5和JS、CSS來進行Web開發。開發中使用了開源遊戲框架Phaser,因為框架的存在,不需要對H5和JS的原理有太深刻的認識,依葫蘆畫瓢即可,因此僅大致了解了H5、JS的語法和組成。在編寫前端期間,收獲主要為:
①了解API文檔的重要性,並且學會了查找閱讀API文檔(大多開發工具的文檔是英文,需要逐漸習慣英文文檔閱讀)。
②對開源知識有了一定的了解,知道如何尋找開源資源並合理利用(先看lisence)。
③學習技術工具VSCode的使用。
個人收獲之二:軟件工程方面
團隊項目開發過程中,對於軟件工程方面也有了一定的收獲。
1、需求問題
在工程啟動的最初階段,就要做好需求調研,不能一味埋頭拉車。即使在開發過程中,需求也有可能不斷的變化,因此,即使在開發階段,需求調研也是不能停滯的,需要隨時根據測評和調研的結果修正開發的方向。我們的遊戲項目本來只有作出原型才可以測評,但由於遊戲本身存在桌面版(卡牌、地圖等等),使我們可以開發的過程中並行對遊戲的各方面進行調研。但電子版與紙質版仍存在一定的不同,電子版原型一定也要盡快開發。
2、進度和規範
保證進度,主要在於監督和規範。不能將任務堆積起來,而應該分散至每一天,但是這種分散會受到惰性、懶散的制約。其實這時候,項目經理使用各種手段去監督團隊成員,比如任務墻、每日自述、燃盡圖、每周績效等等,就可以一定程度上解決這個問題。這些手段看起來只是形式和規範問題,但實際實行後,不僅任務計劃更清晰,組員在這些手段的監督之下,除任務DDL的壓力外,也會形成一些自我約束的習慣。產出可以少,可以沒有,但是必須匯報。“今日無進度”的自述相比於“今日進度...,遇到...的問題,解決...的問題,明日計劃完成...”的自述,還是能讓人產生不少罪惡感的。
我對此深有體會,本組的項目經理是組長隆晉威同學,在課堂上要求規範項目管理之後,由他制定每日自述和任務墻、績效的形式。但由於更新博客收集信息的需要,我有時會在QQ群中催促大家進行每日自述,還會把commit次數和任務墻截圖,在幾天過後,大家已經開始自覺發布每日自述,說明任務的分配開始有了一定的改善。我本身也養成了任務分攤、大小進度多匯報的習慣。
值得一提的是,項目管理不一定必須要用禪道、TeamAmbition等專業工具。合理使用我們都會的,平時看起來可能很Low的工具,也能做到同樣的事情。比如:架構示意圖用WIN自帶的畫圖軟件即可,燃盡圖可以用EXCEL很簡單地畫出,而Github的Issue功能也是實現任務墻功能的很好的工具。
5月團隊項目感想