1. 程式人生 > >軟體專案管理(SPM)課程總結及感想

軟體專案管理(SPM)課程總結及感想

進入大三下學期,我在只需要選擇一門選修課的情況下選擇了軟體專案管理課程。由於往屆的學長學姐告訴我們課上會教很多實用的專案管理系統,這些工具都是現在主流的網際網路公司使用的正規軍裝備,能學到很多很前沿的知識,於是在預選課階段,軟體專案管理課程非常火爆,我不幸被系統刷掉。多虧助教幫忙,用自己寫的程式-刷課神器刷了兩個多小時終於選上了課,場面堪比春運搶票啊。

今年的SMP課程不同於往屆,由王老師與Austin合作為我們授課,前四周的課程由Austin講授,Austin老師來自美國,有40年的專案管理從業經驗,他結合自身經驗給我們介紹了很多實用的溝通和管理技巧。Austin的課程中有三個知識點讓我印象非常深刻,首先是negotiation,這真的是經驗之談,如果我在青春期的時候能學到這個知識,每次和爸爸媽媽談判的時候就能省去不少大哭大鬧了。其次是If you fail to plan, you are planning to fail. 糟糕的計劃總比沒有計劃好,沒有計劃是一件恐怖的事情。還有一個知識點也讓我印象深刻,就是面對一件自己不願接受的事情,人們的情緒變化過程,包括了七個階段,分別是逃避,否認,焦慮,憤怒,討價還價,憂傷和接受。我在上個學期用整整一個學期經歷了這七個階段,Austin講課的時候我剛剛到達接受這個階段。如果我能夠早一點上這門課程,應該能夠在這個過程中少一些難過。


後八週的課程由王老師講授,王老師講課的特點是輕鬆有趣,拉近與學生的距離。在每次上課之前,王老師會在群裡詢問大家對課題相關知識的瞭解程度,根據同學們的基礎決定課程的內容和詳細程度,因材施教,與同學們達到了良好的互動,聽起課來也不覺得自己知識斷層。在講課的過程中,王老師使用很多來自微博的段子來引導我們加深對知識的理解,最為印象深刻的就是道光的例子,我和身邊的小夥伴被這個例子逗得笑了好久,也更加深入地理解了需求的概念。王老師要求我們完成的一些課後作業也有很高的實戰價值,包括使用maven,搭建git,我在探索和研究的過程中收穫的不僅有知識,還有創造的成就感。另一方面,王老師講授的釋出問題也讓我們在心中樹立了一個重要的理念,If ItHurts, Do It More Frequently, and Bring the Pain Forward. 這一道理適用於軟體釋出和持續整合,如果把問題拖到最後,迎接專案的很有可能不是勝利完成。


王老師講的版本控制和協同開發也讓我們收穫不小,其實版本管理的問題一直困擾著我們團隊在微軟”創新杯“比賽中的表現,我在團隊中負責實現Kinect的功能,由於應用商店的架構問題,我們只能將遊戲模組和Kinect模組分工進行開發,導致的問題是,每當遊戲模組進行修改,我就需要將一模一樣的呼叫Kinect程式碼再重新寫一遍,真是不勝其煩,如果我們當時道行夠深,使用git或者svn之類的協同開發工具,就可以避免這個問題的出現。

八週的課程轉眼結束,留給我們的知識卻是非常實用的,王老師和Austin對學生的親近和關心讓我們倍感溫馨,感謝兩位老師的辛勤付出。

If You Fail to Plan, You arePlanning to Fail
If If You Fail to Plan, You arePlanning to Fail